CS6003 - Advanced Software Engineering (2019/20)
|Module specification||Module approved to run in 2019/20|
|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|
|Running in 2019/20||
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) Increase employability.
Prior learning requirements
Successful Completion of Level 5 or equivalent
A. Professional Software Engineering Foundation
1. Professional Software Engineering LO1,LO2,LO3,LO4
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 LO1,LO2,LO3,LO4
Business processes, business data processing and Information Systems. Information systems development. Business process engineering and re-engineering
3. Managing Software Projects LO1,LO2,LO3,LO4
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. LO1,LO2,LO3,LO4
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. LO1,LO2,LO3,LO4
6. Software Design
Main software design concepts. Architectural design. User interface design. LO1,LO2,LO3,LO4
7. Software Implementation
Software Components and Component Engineering.
Comparison of technology stacks, software frameworks and CASE tools. LO1,LO2,LO3,LO4,LO5
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. LO1,LO2,LO3,LO4,LO5
9. Software Documentation
Documentation and professional standards for documentation. Documentation of software products, systems and services. LO1,LO2,LO3,LO4,LO5
C. Software Support and Maintenance
10. Software Maintenance
Business process reengineering. Software reengineering. Reverse engineering. Restructuring and refactoring. LO1,LO2,LO3,LO4,LO5
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. LO1,LO2,LO3,LO4,LO5
12. Software Configuration Management
Main software configuration management (SCM) concepts. SCM repository. SCM process. LO1,LO2,LO3,LO4,LO5
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.
On completing the module the student 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.
Semester I Assessment includes a coursework 1 (30% of the module). The coursework 1 required students using an appropriate approach to analyse, design, implement and testing the software for a scenario. It is also aimed at developing students’ skills, professionalism and problem solving strategies [LO1-LO4, LO6]. The coursework contains two tasks, group and individual.
Semester II Assessment includes a coursework 2 (30% of the module): individual Assessment, and one 2 hours exam (40%). The coursework 2 will involve the project management which including finance management, project risk management, human resources management and software quality management. Students will have the opportunity to demonstrate their work on the workshop exercises and receive regular feedback to enhance their learning [LO1-LO4].
Students’ overall understanding of the subject, analytical and problem-solving skills will be assessed through the end of year final exam [LO1 – LO6]
Consistent with University policy, formative and summative feedback will be provided at various points throughout the academic year. The following is an indicative timeline for formative and summative feedback:
Week 11/12: feedback for coursework 1 group task presentation.
Week 15: feedback for coursework 1.
Week 28: feedback for coursework 2.
Where possible, the most current version of reading materials is used during the delivery of this module. Comprehensive reading lists are provided to students in their handbooks. Reading Lists will be updated annually.
• Ian Sommerville, 2016, Software Engineering 10/E, Pearson, ISBN-10: 1292096136 , ISBN-13:9781292095131.
• Pressman R.S. Software Engineering: A Practitioner's Approach (Int'l Ed) – 1 Jul 2014, 8/E McGraw-Hill Higher Education,
• Dorothy Graham , Erik Van Veenendaal, Rex Black , Foundations of Software Testing ISTQB Certification –3/E , 6 Jan 2012 , CENGAGE Learning. ISBN 9781408044056
• Lunn K. Software Development with UML. Palgrave Macmillan, 2003, ISBN 0-333-98595-8
• Patton R. Software Testing. Second Edition. SAMS Publishing, 2006. ISBN 0-672-32798-8
• ACM Transactions on Software Engineering and Methodology, ACM New York, NY, USA, ISSN:1049-331X
• The Computer Journal of the British Computer Society, ISSN 1460-2067 (Electronic); Publisher: Oxford: Oxford Journals, Oxford, UK : Oxford University Press.
• Learning resources on the module WebLearn.
• Ian Sommerville's Software Engineering book website: http://iansommerville.com/software-engineering-book/
• Object Management Group: Unified Modelling Language (UML) http://www.uml.org/
• Safari Books Online
Electronic Databases (available from the University Library)
• ACM Digital Library
• IEEE Xplore/IET Digital Library