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 ...
Get Beginning Software Engineering now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.