ProgrammesModule: Engineering of Software
Course Title: Engineering of Software
Course Code: UU-COM-4001
Programme: Bachelor of Science (BSc) in Computer Science - MW - BL
Objectives of the Course:
• Describe all phases of the life cycle of a software system, including requirements analysis and specification, design, construction, testing, deployment, and operation and maintenance.
• Demonstrate tools for managing software development; analyzing and modeling software artifacts; assessing and controlling quality; and for ensuring a disciplined, controlled approach to software evolution and reuse.
• Present the “good practice” tools, methods, and approaches that are most applicable for a given development environment.
1. Explain the concept of a software life cycle and provide an example, illustrating its phases including the deliverables that are produced.
2. Select, with justification the software development models and process elements most appropriate for the development and maintenance of a diverse range of software products.
3. Explain the role of process maturity models. Develop a medium-size software product using a software requirement specification, an accepted program desig methodology (e.g., structured or object-oriented), and appropriate design notation.
4. Follow ICONIX methodology and design appropriate UML diagrams for a medium-sized software system.
5. Discuss the properties of good software design including the nature and the role of associated documentation.
6. Evaluate the quality of multiple software designs based on key design principles and concepts.
7. Distinguish between program validation and verification.
8. Describe the role that tools can play in the validation of software.
9. Distinguish between the different types and levels of testing (unit, integration, systems, and acceptance) for medium-size software products and related materials.
10. Create, evaluate, and implement a test plan for a medium-size code segment.
Prerequisites: UU-ACG-1000, UU-MKT-2000, UU-MAN-2010, UU-BBA-2000, UU-ENG-1000, UU-ENG-1001, UU-ENG-1005, UU-COM-1000, UU-MTH-1000, UU-MTH-1005, UU-MTH-2000, UU-MTH-3000, UU-COM-1100, UU-COM-1101, UU-COM-2004, UU-COM-2000, UU-COM-2001, UU-COM-2002, UU-COM-2003, UU-COM-3000, UU-COM-3002, UU-COM-3003, UU-COM-3004, UU-COM-3005, UU-COM-4004, UU-COM-4008, UU-COM-4009, UU-COM-4010, UU-BA-IND100, UU-FNT-103, UU-BBA-2010-BCS, UU-BBA-1000-BCS