module specification

CS5002 - Software Engineering (2017/18)

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

(Please note that module timeslots are subject to change)
Period Campus Day Time Module Leader
Year North Friday Afternoon

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 Engineeringand 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. Component Technologies for Software development. Programming Paradigms, Design Patterns and Implementation Frameworks. Development of Software Components using programming languages ( for example C++), IDEs and CASE Tools. Software System Integration.
9. Software reuse
10. Introduction to software testing approaches (eg black box/white box), component testing, integration testing, system/sub-system testing
11.  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:

LO1. Demonstrate an understanding of the concepts and principles of system development and software development taking into consideration legal, social, ethical and professional issues.
LO2. Describe and compare a number of standard software development methods
LO3. 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
LO4. Apply a range of key modelling techniques appropriate for development in a variety of problem domains – together with an awareness of supporting CASE tools.
LO5. Demonstrate  practical skills in building fragments of software systems using suitable design patterns and software development tools
L06. Demonstrate an awareness of quality assurance issues and documentation standards.
L07. Work in teams and individually ; select and use appropriate communication formats

 

Assessment strategy

The unit will be assessed by:

• a two hour examination  (L01, L02, L03, L04, L05, LO6),

• one major group assignment  (L01, L02, L03, L04, L05, LO6, L07)
• and one individual assignment  (L01, LO2, LO3, L04, L05 L06, L07)

The two Course Works will be based on case studies and will require students to select a suitable software development method for the particular case study and to carry out relevant research and deliver specified outcomes that may involve a range of systems analysis, design and other 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 part-seen and will include questions on a short case-study which will be available in advance.  The exam will test students in terms of a broad rage of software engineering concepts and applications.

Formative feedback will also be from the weekly tutorial.

Bibliography

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

Jacobson ,Booch and Rumbaugh1999, The Unified Software Development Process Addison-Wesley ISBN 0201571692

Pressman, R. 2005or 2010, Software Engineering – A Practitioner’s Approach, McGraw-Hill PublishingISBN: 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/