SOFTWARE ENGINEERING (CCE)

SHE Level 4
SCQF Credit Points 20.00
ECTS Credit Points 10.00
Module Code MHH624654
Module Leader Martin MacDonald
School School of Computing, Engineering and Built Environment
Subject SCEBE - School Office
Trimesters
  • A (September start)
  • B (January start)

Summary of Content

The success of a software project depends on making an accurate estimate of the effort and cost required to develop the software system, and thoroughly planning the progress of the project. This course presents techniques for designing and management of software systems.

Syllabus

The teaching syllabus will cover the following areas: Overview Introduction : Introduction to software engineering, professional and ethical responsibility. Software Processes: Software Process Models, Process iteration, Software specification, Software design and implementation, Software validation, Software evolution, Automated Process support. Requirements Engineering Software Requirements: Functional and Non-functional requirements, User requirements, System requirements, The software requirements document. Requirements engineering processes: Feasibility studies, Requirements elicitation and analysis, Requirements validation, Requirements management. System models: Context models, Behavioral models, Data models, Object models, CASE workbenches. Software prototyping: Prototyping in software process, Rapid prototyping techniques, User interface prototyping. Software Design Architectural design: System structuring, Control models, Modular decomposition, Domain specific architectures. Object-Oriented design: Objects and Object Classes, An Object Oriented design process, Design evolution. User Interface design: User interface design principles, User interaction, Information presentation, User support, Interface Evaluation. Verification And Validation Verification and validation planning, Software inspections, Automated static analysis, Clean room software develonnpment. Software testing: Defect testing, Integration testing, Object Oriented testing, Testing Workbenches. Software Management Project Management Concepts: The Management Spectrum, People, The Problem, The Process Software Process: Measures, Metrics and Indicators, Metrics in Process domains, Software Measurement, Metrics for Software quality Software Project Planning: Project Planning Objectives, Software Scope, Resources Risk Management: Reactive Vs Proactive Risk Strategies, Software Risks, Risk Identification, Risk Projection Software cost estimation: Productivity, Estimation techniques, Algorithmic cost modeling, Project duration and staffing Quality Management: Quality assurance and standards, Quality Planning, Quality Control, Software measurements and metrics

Learning Outcomes

On completion of this module the student should be able to:1. Explain the basic concepts of software development process ( AM1, AM7) 2. Recommend appropriate software process model for real world projects( AM1, AM7,AM8)3. Analyse the requirements for developing a software system ( AM1, AM7,AM8) 4. Design UML models to represent structural and behavioral aspects of a software system.(AM1,AM7,AM8)5. Apply suitable software architectures to design a real world system ( AM1, AM7)6. Illustrate various software testing strategies used in real world projects.( AM1, AM7,AM8)7. Describe various software management activities ( AM1, AM7,AM8)

Teaching / Learning Strategy

Lectures will present the underpinning concepts and principles. Tutorials will present students with a graded range of problems that require the applications of the theoretical knowledge presented in the lectures. Tutorials will be used to reinforce the module material discussed during lecture sessions.Tutorials also serve as a platform of technical discussions to clarify any queries that arise from directed studies . Although the coursework is handed in at the end of the semester, it will consist of several parts, which will be developed over the duration of the semester. The students will receive formative feedback on drafts of parts of the coursework during the semester.

Indicative Reading

-270 1. Ian Sommerville. (2011), Software Engineering, 9 th Edition, , Addison Wesley. 2. Roger S Pressman. (2010), Software Engineering: A Practitioner's Approach, 7 th Edidtion, R. S. Pressman & Associates, Inc. -270 3. Pakaj jalote. (2005), An Integrated Approach to Software Engineering, 3 rd Edition, Springer. 4. Stephen R. Schach. (2007), Object-Oriented And Classical Software Engineering, McGraw-Hill.

Transferrable Skills

Lectures will be used to deliver core module material and to refer to supplementary course notes and web-based resources. Tutorials may be used to review basic principles in systems development and their application to the mini-systems development problem (in particular, principles of requirements specification and test specification).

Module Structure

Activity Total Hours
Tutorials (FT) 28.00
Lectures (FT) 56.00
Assessment (FT) 16.00
Independent Learning (FT) 100.00

Assessment Methods

Component Duration Weighting Threshold Description
Exam (Exams Office) 3.00 50.00 45% Final Examination -  Unseen written examination-3 Hours
Coursework 1 n/a 30.00 n/a Case study report (wordcount - 2500)
Exam (School) 1.50 20.00 n/a Mid-term test -  Unseen written examination-1½ Hours