School of Electronics and Computer Science:
COMP2007 Software Analysis and Design
Basic Information
| School | Dept- Electronics & Computer Science |
|---|---|
| Known as | COMP2007. |
| Status | This syllabus is still provisional. |
| Session and Semester | Semester One, 2011 - 2012 |
| Credit | 10 Credit Points |
| Unit Leader | Dr Robert J Walters |
| Teachers | Dr Abdolbaghi Rezazadeh |
| Moderators | Dr Pawel Sobocinski |
| Study | Group work 24 hours, Other 8 hours |
| Assessment | Examination 70%, Coursework 30% |
| Coursework | Requirements Exercise. Design Exercise |
| Teaching | Lectures 19, Group meetings 4, Tutorial 8 |
| Prerequisites and Exclusions | Prerequisites: COMP1003 - Advanced Programming and COMP1008 - Software Engineering. |
| Referral | On referral, this unit will be assessed 100% by examination. |
| Syllabus Approved |
Description
Aims
- Teach Software Engineering Skills, particularly Requirements, Object Oriented Analysis, Design and Validation
- Give an appreciation of the problems encountered in engineering a large software product, in particular when such products are built by large teams
- To prepare students to take part in group projects
Learning Outcomes
Knowledge and Understanding
Having successfully completed the module, you will be able to demonstrate knowledge and understanding of:
- the design goals to be followed to produce a high quality Object Oriented design for a system.
- the importance of analysis and design activity in the software development process
- the stages that a group of people go through to become an integrated team
- the planning and development of a software product
- the documentation and testing of a software project.
Intellectual Skills
Having successfully completed the module, you will be able to:
- conduct an Object Oriented Analysis exercise as part of a small group of developers
- produce an object oriented analysis of a system and transform it into an appropriate set of software components using appropriate design methodology
- plan the integration and testing for a software system
Practical Skills
Having successfully completed the module, you will be able to:
- use a CASE tool and the UML notation to record the analysis and design of a software system
- identify and design software components for integration into an existing software system.
- draft a professional test plan for the integration of a software system
- produce professional requirements, analysis, and specification documents for a software system
- be able to apply common design methodology and specific design patterns to a problem
General Transferable (key) Skills
Having successfully completed the module, you will be able to:
- recognise the inter-personal dynamics that occur within a small project team
- organise and conduct formal meetings
- plan a project involving four or five people over three to six months
- make and use time estimates for activities within a project
Topics Covered
- Requirements Analysis
- Object Modelling
- Design Patterns
- Use of CASE Tools
- Verification, Validation, and Testing
- Planning and Documentation
- Working in teams
Teaching and learning activities
Teaching methods include
- Lectures presenting the UML notation and using it to demonstate and record the analysis and modelling of the requirements of a software system, followed by the identification and top level design of components for that system.
- Lectures on Design methods and design patterns, focussing on the process of turning designs into code.
- In-Lecture and Tutorial exercises reinforcing the methods learnt, with an opportunity to put the theory into practice and obtain feedback.
- Demonstration of the use of various tool support, including CASE tools and testing tools.
- Lectures on the mechanics of formal meetings and of interpersonal dymamics within a group or team.
- Online and face to face support to provide technical and process oriented hints and guidance to individual groups during the analysis and design assignments.
Learning activities include
- The analysis of the requirements and the specification for a new software product
- In-lecture and tutorial exercises on design and the conversion of a design into code.
- The analysis of a set of use cases and initial candidate classes to produce a design for a software system. Focussing on the application of design patterns and good design principles, with an opportunity to discuss why a particular design was chosen
Methods of assessment
| Assessment method | Number | % contribution to final mark |
|---|---|---|
| Requirements Exercise/Design Exercise. [cwork] | 1 | 30 |
| Traditional Closed Book Exam. [exam] | 2 | 70 |
Feedback and student support during module study
- Feedback in lectures on in-lecture discussions and in-lecture exercises. Two lectures will focus on a design exercise where feedback and discussion over a specific example will be used.
- Tutorials on software support tools will offer the opportunity to ask questions and get any technical or usability issues resolved.
- Technical and process oriented hints and guidance to individual groups during the coursework assignments.
- In addition to marks, general feedback on coursework assignments will be given in lectures
Relationship between the teaching, learning and assessment methods and the planned learning outcomes
The lectures (Teaching methods 1, 3) provide the information and explain the relationships to enable students to develop the knowlege and understanding listed in the Objectives: Knowledge and Understanding items:
- the design goals to be followed to produce a high quality Object Oriented design for a system.
- the importance of analysis and design activity in the software development process
- the stages that a group of people go through to become an integrated team
- the planning and development of a software product
- the documentation and testing of a software project.
They also demonstrate and provide detailed instructions for the Intellectual Skills:
- conduct an Object Oriented Analysis exercise as part of a small group of developers
- produce an object oriented analysis of a system and transform it into an appropriate set of software components
- plan the integration and testing for a software system
The lectures (Teaching methods 1, 3) also demonstrate and provide detailed instructions for the Practical Skills
- use a CASE tool and the UML notation to record the analysis and design of a software system
- identify and design software components for integration into an existing software system.
- draft a professional test plan for the integration of a software system
- produce professional requirements, analysis, and specification documents for a software system
and the General Transferable (key) Skills:
- recognise the inter-personal dynamics that occur within a small project team
- organise and conduct formal meetings
- plan a project involving four or five people over three to six months
- make and use time estimates for activities within a project
The demonstrations (Teaching methods 2) support thePractical Skills:
- use a CASE tool and the UML notation to record the analysis and design of a software system
- identify and design software components for integration into an existing software system.
- Cover the use of tools for testing to allow unit and regression testing to be conducted easily in a structured fashion.
- produce professional requirements, analysis, and specification documents for a software system
The tutorials and the online and face to face support encourage the students to take an active part in the learning activities:
- Tutorials on tool support give clear examples that can be followed through
- The analysis of the requirements and the specification for a new component to be added to an existing software product
- The production of a more detailed design for a software system, appreciating the choices which have to be made and their affect on the rest of the software engineering process
- In lecture design exercises engage in the issues covered in lectures and provide a mechanism to discuss alternatives in a moderated way and examine the design process in practice.
These activities exercise all of the Intellectual, Practical, and General Transferable skills except the planning and documentation of integration tests for a software system.
The examination tests, and thus encourages learning of, all of the Knowlege, Intellectual, Practical, and General skills listed above
Resources
Core Resources
- Fowler M & Scott K, UML Distilled 3rd Edition, Addison-Wesley ISBN 0-321-19368-7. 1st Edition ISBN 0-201-32563-2, 2nd Edition ISBN 0-201-65783-X. Any edition will do. [Library] [Shops]
- Gamma E, Helm R, Johnson R, Vissides J; Design patterns : elements of reusable object-oriented software , Addison-Wesley, 1995 [Library] [Shops]
- Cooper J W. Java Design Patterns: A Tutorial , Addison-Wesley 2000 [Library] [Shops]
Background Resources
- Frost S The Select Perspective - developing enterprise systems using object technology, Select Software Tools Inc, Santa Ana, CA, 1995
Notes
Note on Secondary Text
The short book by Frost was supplied with the old Select OMT CASE tools. Copies are available from the Courses Office.
Online Materials
Online Materials:
http://www.ecs.soton.ac.uk/notes/comp2007
Unified Modeling Language, http://www.uml.org
IBM's Rational Page -- With links to notes on the software and tutorials http://www-306.ibm.com/software/rational/uml/
Taught to
COMP2007
Pt II BSc Computer Science (Compulsory)Non-existing cohort: "csBScAi2" (Compulsory)
Non-existing cohort: "csBScDs2" (Compulsory)
Non-existing cohort: "csBScIm2" (Compulsory)
Pt II MEng Computer Science with Artificial Intelligence (Compulsory)
Pt II MEng Computer Science (Compulsory)
Pt II MEng Computer Science with Distributed Systems & Networks (Compulsory)
Pt II MEng Computer Science with Image and Multimedia Systems (Compulsory)
Pt II MEng Computer Science with Mobile and Secure Systems (Compulsory)
ECS Socrates Students (Optional)
Pt II BSc IT in Organisations (Compulsory)
Pt II BEng Software Engineering (Compulsory)
Pt II MEng Software Engineering (Compulsory)
Students who are not registered on an ECS approved programme may take this module subject to meeting its pre-requisites and the availability of resources. To confirm this, please can you contact the module leader (as listed above) in the first instance. They will then refer you on to the appropriate director of studies for formal approval of your selection.
