The first chapter is on software engineering methodologies. Both Waterfall and Agile software engineering methodologies have been discussed in length. Scrum is especially covered extensively as it has become very popular and learning Scrum is essential as it is being used more and more on software projects. The second chapter is on software requirement engineering. After you have gone through this chapter, you will be able to build user stories and other types of software requirement engineering documents. The third chapter is on software project management. Since we learned as to how to create good software requirements in Chapter 2; now we can do project planning activities for these software requirements. The fourth chapter is on software feasibility studies.
For each software requirement; we can find out feasible solutions using prototyping techniques which are discussed in this chapter. The fifth chapter is on software high level design. A software product consists of many pieces and understanding it from a higher level is important. Chapter 6 is devoted to learn user interface design. We can learn how to build user interfaces using mock up screens. Chapter 7 is concerned about learning as to how to design and program so that business logic can be implemented. We will learn all object oriented design concepts including class diagrams, object diagrams, sequence diagrams, statechart diagrams etc. Programming concepts like variables, methods, classes and objects are also covered extensively.
Chapter 8 is about database design. We will learn about Entity Relationship diagrams and other concepts to design databases for software products. Chapter 9 is about software testing. We will learn everything about unit, integration, system, and user acceptance testing in this chapter. Chapter 10 is about software maintenance. We will also learn about production instances of software products in this chapter. Chapter 11 is about project execution and conflict management. We will learn about project tracking techniques like Gantt charts for Waterfall projects and burn-down chart for Agile projects.
A case study of a live software project is discussed throughout the book to ensure that; hands-on learning happens while learning theory of software engineering.