CS6003 - Advanced Software Engineering (2024/25)
Module specification | Module approved to run in 2024/25 | ||||||||||||||||
Module title | Advanced Software Engineering | ||||||||||||||||
Module level | Honours (06) | ||||||||||||||||
Credit rating for module | 30 | ||||||||||||||||
School | School of Computing and Digital Media | ||||||||||||||||
Total study hours | 300 | ||||||||||||||||
|
|||||||||||||||||
Assessment components |
|
||||||||||||||||
Running in 2024/25(Please note that module timeslots are subject to change) |
|
Module summary
This module is one of backbone modules of the BEng Software Engineering (top-up) course that is designed for those students who have already obtained a two-year Higher National Diploma (HND), the Association of Computer Professionals (ACP) Advanced Diploma or an International Advanced Diploma (IAD) in Software Engineering, Computing, Computer Studies or other software development-related courses and would like to gain an internationally-recognised degree qualification specialising in building software for various software-based systems. The module runs during 30 weeks. Assessment includes two pieces of coursework, an in-class tests and an exam.
To achieve the aim, this module combines:
1) Understanding and application of software project management process, its products and people roles in the process
2) Learning software development, support and maintenance processes, their products and people roles in the processes
3) Application of software development activities, methods, and documents to carry out every-day tasks of software developers
4) Studying testing activities, methods, and documents to carry out every-day tasks of software testers
5) Full coverage of the “ISTQB Foundation Certificate in Software Testing” syllabus
6) Enhance employability skills
Prior learning requirements
Successful Completion of Level 5 or equivalent.
Syllabus
A. Professional Software Engineering Foundation
1. Professional Software Engineering
Overview of software engineering process. Software engineering products, systems and services. An overview of UML. Software engineering industrial standards. Software engineering products and processes. Ethical, legal and associated issues of software engineering.
2. System Engineering
Business processes, business data processing and Information Systems. Information systems development. Business process engineering and re-engineering.
3. Managing Software Projects
Main project management concepts. Software life cycles and life cycle models. Project scope management. Project time management. Project risk management.
4. Quantitative Techniques in Software Project Management
Risk assessment and cost estimation. Software metrics. Network diagrams and propagation. Function point analysis and introduction to COCOMO.
B. Software Development and Implementation
5. Requirements Engineering
Stakeholder requirements definition. Main requirements analysis concepts. Scenario-based modelling. Data-flow-oriented modelling. Object-oriented modelling.
6. Software Design
Main software design concepts. Architectural design. User interface design.
7. Software Implementation
Software Components and Component Engineering.
Comparison of technology stacks, software frameworks and CASE tools.
Team collaboration and version control.
8. Software Quality and Quality Assurance Software quality and quality models and metrics. Software Quality Assurance process. Software Verification and Validation processes.
9. Software Documentation
Documentation and professional standards for documentation. Documentation of software products, systems and services.
C. Software Support and Maintenance
10. Software Maintenance
Business process reengineering. Software reengineering. Reverse engineering. Restructuring and refactoring.
11. Software Reviewing and Testing
Fundamentals of software testing. Software testing in life cycles. Static software examination: Reviews. Test design techniques. Test management. Tool support for testing.
12. Software Configuration Management
Main software configuration management (SCM) concepts. SCM repository. SCM process.
Learning Outcomes LO1 - LO6
Balance of independent study and scheduled teaching activity
The module is taught through a combination of lectures (1.0-1.5 hours, depending on the topic) for studying main concepts of Software Engineering, its methods, techniques and tool, and practical tutorials (1.5-2.0 hours, depending on the topic) for enhancing learning and development of skills each week for 27 weeks (a lecture + a tutorial, 3 hours, each week).
Appropriate blended learning approaches and technologies, such as, university’s integrated learning environment (currently WebLearn) and online tools, will be used to facilitate and support students learning, in particularly to:
• Deliver teaching materials
• Provide a communication platform to support coursework
• Provide formative and summative feedback to students
Students are expected to spend additional time working on coursework, exercises and private study.
Learning outcomes
On completing the module, students will be able to:
- LO1: Display knowledge and basic skills of software development and maintenance: their main activities and products, commonly used methods and techniques to create the products.
- LO2: Apply basic knowledge and skills of software testing: testing approaches, development of test cases, and test management.
- LO3: Manage a software development project: planning project scope, scheduling the project and evaluating project and product risks.
- LO4: Transform a set of software requirements into software requirements specification and then into software design choosing a proper set of software engineering methods and techniques.
- LO5: Use a particular test basis to develop a set of test cases, implement testing of a piece of software with this set of test cases and prepare a test report.
- LO6: Apply for ISTEB Software Testing Certification.
Bibliography
Reading list available at: https://rl.talis.com/3/londonmet/lists/B2883B55-AEB3-0BA7-0132-391328A30B6B.html?embed=1&lang=en&login=1