PART I Software Engineering Step-by-Step
- CHAPTER 1: Software Engineering from 20,000 Feet
- CHAPTER 2: Before the Beginning
- CHAPTER 3: Project Management
- CHAPTER 4: Requirement Gathering
- CHAPTER 5: High-Level Design
- CHAPTER 6: Low-Level Design
- CHAPTER 7: Development
- CHAPTER 8: Testing
- CHAPTER 9: Deployment
- CHAPTER 10: Metrics
- CHAPTER 11: Maintenance
Software and cathedrals are much the same. First we build them, then we pray.
—SAMUEL REDWINE
In principle, software engineering is a simple two-step process: (1) Write a best-selling program, and then (2) buy expensive toys with the profits. Unfortunately, the first step can be rather difficult. Saying “write a best-selling program” is a bit like telling an author, “Write a best-selling book,” or telling a baseball player “triple to left.” It’s a great idea, but knowing the goal doesn’t actually help you achieve it.
To produce great software, you need to handle a huge number of complicated tasks, any one of which can fail and sink the entire project. Over the years people have developed a multitude of methodologies and techniques to help keep software projects on track. Some of these, such as the waterfall and V-model approaches, use detailed requirement specifications to exactly define the wanted results before development begins. Others, such as Scrum and agile techniques, rely on fast-paced incremental development with frequent feedback to keep a project on track. (Still others techniques, such as cowboy coding and extreme ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access