更新时间:2021-06-24 18:21:24
coverpage
Title Page
Humble Bundle
Packt Upsell
Why subscribe?
Packt.com
Contributors
About the author
About the reviewers
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
Programming versus Software Engineering
The bigger picture
Asking questions
Summary
The Software Development Life Cycle
Pre-development phases of the SDLC
Initial concept/vision
Concept development
Project management planning
Development – specific phases of the SDLC
Requirements analysis and definition
System architecture and design
Development and quality assurance
System integration testing and acceptance
Post-development phases of the SDLC
System Modeling
Architecture both logical and physical
Logical architecture
Physical architecture
Use cases (business processes and rules)
Data structure and flow
Interprocess communication
System scope and scale
Methodologies Paradigms and Practices
Process methodologies
Waterfall
Agile (in general)
Scrum
Scrum and the phases of the SDLC model
Kanban
Kanban and the phases of the SDLC model
Other Agile methodologies
Extreme programming
Feature-driven development
Test-driven design
Development paradigms
Object-oriented programming
Functional programming
Development practices
Continuous integration
Continuous delivery or deployment
The hms_sys System Project
Goals for the system
What's known/designed before development starts
What the iteration chapters will look like
Iteration goals and stories
Writing and testing the code
Post-development considerations and impact
Development Tools and Best Practices
Development tools
Integrated Development Environment (IDE) options
IDLE
Geany
Eclipse variations + PyDev
Others
Source Code Management
Typical SCM activities
Git
Subversion
Basic workflows for Git and SVN compared
Other SCM options
Best practices
Standards for code
PEP-8
Internal standards
Code organization in modules
Structure and standards for classes
Function and method annotation (hinting)
Process standards
Unit testing
Repeatable build processes
Integrating unit tests and build processes
Defining package structures for Python code
Packages in a project's context
Using Python virtual environments
Setting Up Projects and Processes