module specification

CS5F02 - Software Engineering (2024/25)

Module specification Module approved to run in 2024/25
Module title Software Engineering
Module level Intermediate (05)
Credit rating for module 30
School School of Computing and Digital Media
Total study hours 300
 
81 hours Scheduled learning & teaching activities
219 hours Guided independent study
Assessment components
Type Weighting Qualifying mark Description
Group Coursework 20%   Group C/W 1000 words + diagrams (or equivalent) per student
Coursework 30%   Individual C/W 1500 words + diagrams (or equivalent) per student
Seen Examination 50%   2 hours Exam (Open book)
Running in 2024/25

(Please note that module timeslots are subject to change)
No instances running in the year

Module summary

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

Module aims

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.

Syllabus

  1. The distinction between software products, information systems and services
  2. Systems Analysis and Design applied to the development of Information Systems
  3. Software Engineering applied to the development of software products
  4. Software Life Cycle : Requirement specification , System Modelling, Design (including  system architecture,  software component and user interfaces etc); Construction; Testing; Transition; Maintenance
  5. Classification of software development approaches – (eg  iterative/waterfall,  data-driven/process-driven, structured/object-oriented,  prototyping etc) ; suitability for a range of applications.
  6. 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
  7. Modelling techniques: key UML analysis and design modelling techniques – Use Case models, Communication diagrams, Class diagrams, Sequence diagrams, State Charts, deployment diagrams, etc.
  8. Software reuse
  9. Introduction to software testing approaches (eg black box/white box), component testing, integration testing, system/sub-system testing
  10. 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.
 

Learning outcomes

On successful  completion of this unit, the student will be able to:

  1. Demonstrate an understanding of the concepts and principles of system development and software development taking into consideration legal, social, ethical and professional issues.
  2. Describe and compare a number of standard software development methods
  3. 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
  4. Apply a range of key modelling techniques appropriate for development in a variety of problem domains – together with an awareness of supporting CASE tools.
  5. Demonstrate an awareness of quality assurance issues and documentation standards.
  6. Work in teams and individually; select and use appropriate communication formats

Bibliography

Sommerville, I., 2007 or 2009, Software Engineering, Pearson Education Ltd.
ISBN: 978-0-13-705346-9

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)

• http://www.filecrop.com/Software-engineering-Ian-sommerville-8th-edition.html
• http://www.cragsystems.co.uk/uml_tutorial/