F29SM1 Software Engineering Methodologies
· To instill understanding of the concepts and benefits of advanced software engineering methods.
· To impart effective knowledge of the use of patterns, metrics and quality assurance in software engineering
· To equip participants with the skills to use UML in state-of-the-art software engineering
· To give practical experience of appropriate methods to use in software engineering project planning and management
Methodologies in software engineering practice;
Unified Modeling Language;
Design patterns;
Component architectures;
Software metrics;
Quality assurance and risk assessment;
Project planning and management in software engineering;
Comparison of agile and plan driven approaches;
Case studies in software engineering.
Subject Mastery
Understanding, Knowledge and Subject-Specific Skills
· To demonstrate a critical understanding of modern software engineering practice and be able to evaluate the strengths and weaknesses of current software engineering methods and techniques
· To be able to choose appropriate metrics to measure software quality and quantity in a modern software engineering environment
· To be able to choose a suitable software development environment and development methodology for specific software development tasks and justify the choice
· To be able to apply a good range of UML modelling skills to the design of a good range of software systems
Cognitive skills, Core skills and Professional Awareness
· Taking responsibility for own work, taking responsibility in the development of resources, critical reflection on development process and work undertaken by self.
· Effective appreciation of professional standards in modern software engineering practice.
· Showing initiative, creativity and team working skills in collaborative software development
Exam 2 hours 100%
Coursework 100% (assessed separately)
Preliminary timetable
Week 1 Background
Thursday 5th Oct Lecture 1 Course structure and overview. Coursework.
Friday 6th Oct Lecture 2 Software Engineering and Information Systems
Background
Structured approaches
Week 2 Object oriented approach
Monday 9th Oct Lecture 3 Definitions and terms. Properties and
relationships. Simple example in Java
Week 3 UML
Thursday 19th Oct Lecture 4 Simple example 1a
Friday 20th Oct Lecture 5 Simple example 1b
Week 4 UML
Monday 23rd Oct Lecture 6 Classes and how to find them
Thursday 26th Oct Lecture 7 States and how to play them
Friday 27th Oct Seminar 1 Presentation on objects and classes
Week 5 Patterns and architectures
Monday 30th Oct Lecture 8 The idea of patterns - examples
Thursday 3rd Nov Lecture 9 Finding patterns and anti-patterns
Friday 4th November Seminar 2 Patterns and anti-patterns
Week 6 Information systems and socio-technical approaches
Monday 6th Nov Lecture 10 Systems thinking and soft systems
Thursday 9th Nov Lecture 11 Socio-technical systems
Friday 10th Nov Seminar 3 Picturing information systems
Week 7 Quality and capability maturity
Monday 13th Nov Lecture 12 Ideas of quality – products and processes
Thursday 16th Nov Lecture 13 CMMI and capability
Friday 17th Nov Seminar 4 Managing projects
Week 8 Metrics and project planning
Monday 20th Nov Lecture 14 Thinking about metrics
Thursday 23rd Nov Lecture 15 Non-functional properties
Friday 24th Nov Seminar 5 Scoping and planning
Week 9 Contemporary approaches
Monday 27th Nov Lecture
16
Week 10 Summing up
Monday 4th Dec Seminar 6 New approaches in software engineering
Thursday 7th Dec Lecture 17 Guest lecture ?
Friday 8th Dec Lecture 18 Summing up
This is a preliminary list. Most of the books should be in the library or can be ordered from the bookshop. I will try to give a selection for each seminar, but you should get used to searching the library and online sources for further reading.
Books
|
Papers
Online articles and
presentations
Coursework
There are two parts to the coursework. One requires you to read and prepare a short presentation on various topics. The other is an exercise in applying UML to modelling and designing a simple system, where you will work as a team.
Seminar presentations
You will see from the schedule of lectures that there are six seminars. Each of these will work as follows.
You all have to research and write a short report on these six topics. The report should be between 500 and 1000 words long. You will be penalised for your reports being too long or too short. The reports should be handed in one week before the seminar and copies circulated to the others in the class.
You will take it in turns to present your report to the others in the class, using slides or whatever means you wish. Your talk should last 15-20 minutes. They will be expected to ask questions and to comment on your presentation, having had your report to look at. At least three questions will be expected from each listener.
UML Exercise
Working as a group you will prepare a full UML model for a simple example. This must include:
A Use Case model (not just a diagram).
One or more Class diagrams.
An Activity diagram.
At least one interaction diagram for each Use Case.
A Statechart for each class.
Working on your own, write a short (300-500 word) report on how well the exercise went and how the team performed.
The case study will be based on the requirements given in
Chapter 4 of Practical Object oriented Design by Mark Priestley, pub. McGraw Hill 1997