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 | ||||||||||||||||
|
|||||||||||||||||
Assessment components |
|
||||||||||||||||
Running in 2017/18(Please note that module timeslots are subject to change) |
|
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/