CS5F02 - Software Engineering (2022/23)
|Module specification||Module approved to run in 2022/23|
|Module title||Software Engineering|
|Module level||Intermediate (05)|
|Credit rating for module||30|
|School||School of Computing and Digital Media|
|Total study hours||300|
|Running in 2022/23(Please note that module timeslots are subject to change)||No instances running in the year|
This module provides a systematic approach to the analysis, design, construction, testing, deployment and maintenance of software. This module also broadens the student’s knowledge of methods, techniques and tools used in software engineering and systems development.
Prior learning requirements
Successful completion of level 4 or equivalent
The module introduces the general principles of Software Engineering and Systems Development. Students will be introduced to the software life cycle and different software dcevelopment approaches. Students will be able to choose appropriate software development methods and apply them to case studies. They will use a variety of key techniques and tools to model requirements and logical design. Students will apply their knowledge of computer systems and application areas to produce outline physical designs Students will develop teamwork and communication skills and consider professional and legal issues in the development of software products, information systems and services. Experience of working as an individual and within a team on a software development case study will enhance students’ employability.
- The distinction between software products, information systems and services
- Systems Analysis and Design applied to the development of Information Systems
- Software Engineering applied to the development of software products
- Software Life Cycle : Requirement specification , System Modelling, Design (including system architecture, software component and user interfaces etc); Construction; Testing; Transition; Maintenance
- Classification of software development approaches – (eg iterative/waterfall, data-driven/process-driven, structured/object-oriented, prototyping etc) ; suitability for a range of applications.
- Specific software development methods( Agile Software Development, Rational Unified Process, DSDM, Experimental Prototyping etc) : overview description of main stages and their aims, purpose of techniques, relationship between techniques
- Modelling techniques: key UML analysis and design modelling techniques – Use Case models, Communication diagrams, Class diagrams, Sequence diagrams, State Charts, deployment diagrams, etc.
- Software reuse
- Introduction to software testing approaches (eg black box/white box), component testing, integration testing, system/sub-system testing
- Introduction to quality assurance and documentation standards
Learning and teaching
The module is taught through a combination of lectures, for basic concepts, methods and techniques for Software Engineering, and practical tutorials for enhancing learning and development of skills each week for 30 weeks.
Appropriate blended learning approaches and technologies, such as, university’s integrated learning environment (currently using WebLearn) and online tools, will be used to facilitate and support students learning, in particularly to:
• Deliver teaching materials
• Provider 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 successful completion of this unit, the student will be able to:
- Demonstrate an understanding of the concepts and principles of system development and software development taking into consideration legal, social, ethical and professional issues.
- Describe and compare a number of standard software development methods
- Demonstrate an understanding of the aims of the main stages within a range of standard software development methods and how key techniques work together to support these aims
- Apply a range of key modelling techniques appropriate for development in a variety of problem domains – together with an awareness of supporting CASE tools.
- Demonstrate an awareness of quality assurance issues and documentation standards.
- Work in teams and individually; select and use appropriate communication formats
The unit will be assessed by:
• a two hour examination (L01, L02, L03, L04, L05),
• one major group assignment (L01, L02, L03, L04, LO5, L06)
• and one individual assignment (L01, LO2, LO3, L04, L05 L06)
The two Course Works will be based on a case study and will require students to select a suitable software development method for the particular case study and to carry out systems analysis, design and software engineering activities.
Students will be required to present C/W informally approximately two weeks prior to hand-in and will receive oral feedback at the time.
The examination will be open book and will include questions on a short case-study which will be available in advance. (However, students will not be allowed to take copies of the case study into the exam - unmarked copies will be available in the exam)
Formative feedback will also be from the weekly tutorial.
Sommerville, I., 2007 or 2009, Software Engineering, Pearson Education Ltd.
Jacobson ,Booch and Rumbaugh 1999, The Unified Software Development Process Addison-Wesley ISBN 0201571692
Pressman, R. 2005 or 2010, Software Engineering – A Practitioner’s Approach, McGraw-Hill Publishing ISBN: 978-0-07-126782-3
Bennett, McRobb, Farmer, 2010, Object-Oriented systems analysis and design using UML
ISBN 978-0-07-712536-3 (4th edition)