object-Oriented Software Engineering Practical Software development using uml and Java Chapter 11: Managing the Software Process www.oseng.com
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process
11. 1 What is project management? Proiect management encompasses all the activities needed to plan and execute a project Deciding what needs to be done Estimating costs Ensuring there are suitable people to undertake the project Defining responsibilities Scheduling Making arrangements for the work continued www.oseng.com O Lethbridge/Laganiere 2001 Chapter Il: Managing the Software Process
© Lethbridge/Laganière 2001 Chapter 11: Managing the Software Process 2 11.1 What is Project Management? Project management encompasses all the activities needed to plan and execute a project: • Deciding what needs to be done • Estimating costs • Ensuring there are suitable people to undertake the project • Defining responsibilities • Scheduling • Making arrangements for the work • continued
What is project management? Directing Being a technical leader Reviewing and approving decisions made by others Building morale and supporting staff Monitoring and controlling Co-ordinating the work with managers of other projects Reporting Continually striving to improve the process www.oseng.com O Lethbridge/Laganiere 2001 Chapter Il: Managing the Software Process
© Lethbridge/Laganière 2001 Chapter 11: Managing the Software Process 3 What is Project Management? • Directing • Being a technical leader • Reviewing and approving decisions made by others • Building morale and supporting staff • Monitoring and controlling • Co-ordinating the work with managers of other projects • Reporting • Continually striving to improve the process
11.2 Software Process models Software process models are general approaches for organizing a project into activities. Help the project manager and his or her team to decide What work should be done -In what sequence to perform the work The models should be seen as aids to thinking, not rigid prescriptions of the way to do things Each project ends up with its own unique plan www.oseng.com O Lethbridge/Laganiere 2001 Chapter Il: Managing the Software Process 4
© Lethbridge/Laganière 2001 Chapter 11: Managing the Software Process 4 11.2 Software Process Models Software process models are general approaches for organizing a project into activities. • Help the project manager and his or her team to decide: —What work should be done; —In what sequence to perform the work. • The models should be seen as aids to thinking, not rigid prescriptions of the way to do things. • Each project ends up with its own unique plan
The opportunistic approach First Modify Think of ldea Prototy pe Until for Satis fied Improvement www.oseng.com O Lethbridge/Laganiere 2001 Chapter Il: Managing the Software Process
© Lethbridge/Laganière 2001 Chapter 11: Managing the Software Process 5 The opportunistic approach Think of Idea for Improvement Modify Until Satisfied First Prototype
The opportunistic approach is what occurs when an organization does not follow good engineering practices. It does not acknowledge the importance of working out the requirements and the design before implementing a system The design of software deteriorates faster if it is not well designe Since there are no plans, there is nothing to aim towards There is no explicit recognition of the need for ystematic testing and other forms of quality assurance The above problems make the cost of developing and maintaining software very high www.oseng.com O Lethbridge/Laganiere 2001 Chapter Il: Managing the Software Process 6
© Lethbridge/Laganière 2001 Chapter 11: Managing the Software Process 6 The opportunistic approach … is what occurs when an organization does not follow good engineering practices. • It does not acknowledge the importance of working out the requirements and the design before implementing a system. • The design of software deteriorates faster if it is not well designed. • Since there are no plans, there is nothing to aim towards. • There is no explicit recognition of the need for systematic testing and other forms of quality assurance. • The above problems make the cost of developing and maintaining software very high
The waterfall model Requirements athering ar Definition 图, Specification g Implementation Integration and Deployment Maintenance www.oseng.com O Lethbridge/Laganiere 2001 Chapter Il: Managing the Software Process
© Lethbridge/Laganière 2001 Chapter 11: Managing the Software Process 7 The waterfall model V & V Requirements Gathering and Definition V & V Specification V & V Design V & V Implementation V & V Maintenance V & V Integration and Deployment
The waterfall model The classic way of looking at S.E. that accounts for the importance of requirements, design and quality assurance. The model suggests that software engineers should work in a series of stages Before completing each stage, they should perform quality assurance(verification and validation) The waterfall model also recognizes, to a limited extent that you sometimes have to step back to earlier stages www.oseng.com O Lethbridge/Laganiere 2001 Chapter Il: Managing the Software Process 8
© Lethbridge/Laganière 2001 Chapter 11: Managing the Software Process 8 The waterfall model The classic way of looking at S.E. that accounts for the importance of requirements, design and quality assurance. • The model suggests that software engineers should work in a series of stages. • Before completing each stage, they should perform quality assurance (verification and validation). • The waterfall model also recognizes, to a limited extent, that you sometimes have to step back to earlier stages
Limitations of the waterfall model The model implies that you should attempt to complete a given stage before moving on to the next stage -Does not account for the fact that requirements constantly change - lt also means that customers can not use anything until the entire system is complete The model makes no allowances for prototyping It implies that you can get the requirements right by simply writing them down and reviewing them The model implies that once the product is finished everything else is maintenance www.oseng.com O Lethbridge/Laganiere 2001 Chapter Il: Managing the Software Process
© Lethbridge/Laganière 2001 Chapter 11: Managing the Software Process 9 Limitations of the waterfall model • The model implies that you should attempt to complete a given stage before moving on to the next stage —Does not account for the fact that requirements constantly change. —It also means that customers can not use anything until the entire system is complete. • The model makes no allowances for prototyping. • It implies that you can get the requirements right by simply writing them down and reviewing them. • The model implies that once the product is finished, everything else is maintenance
The phased-release model Phase 1 Gathering and Definition Implementation Specification Integration and Planning & Phase 2 Implementation Integration and Depl oyme www.oseng.com O Lethbridge/Laganiere 2001 Chapter Il: Managing the Software Process
© Lethbridge/Laganière 2001 Chapter 11: Managing the Software Process 10 The phased-release model V & V Requirements Gathering and Definition V & V Specification V & V Design V & V Implementation V & V Planning Phase 1 V & V Design V & V Implementation Phase 2 etc ... V & V Integration and Deployment V & V Integration and Deployment