Module
CMPC2M02 - SOFTWARE ENGINEERING 1
- Module Code:
- CMPC2M02
- Department:
- Computing Sciences
- Credit Value:
- 20
- Level:
- 2
Lectures will be given using a combination of data monitor and overhead projection. Lecture notes, exercise sheets and other relevant material will be available via Blackboard.
Module texts (and further reading):
- Roger Pressman, Software Engineering, a Practitioner's approach
- Timothy C. Lethbridge and Robert Laganière, Object-Oriented Software Engineering: Practical Software Development using UML and Java
Submission
Written coursework should be submitted by following the standard CMP practice. Students are advised to refer to the Guidelines and Hints on Written Work in CMP.
Deadlines
Coursework should be submitted before 23:59 on the deadline day. Paper copies can be submitted via the Hub drop boxes up to 22.00 in the LTS Hub, and there will be a ‘late box’ in the Library for submissions between 22.00 and midnight.
If coursework is handed in after the deadline day or an agreed extension:
| Work submitted | Marks deducted |
| On the day following the due date | 10 marks |
| On either the 2nd or 3rd day after the due date | 20 marks |
| On the 4th day after the due date and before the 20th day after the due date | All the marks the work merits if submitted on time (ie no marks awarded) |
| After 20 working days | Work will not be marked and a mark of zero will be entered |
All extension requests will be managed through the LTS Hub. A request for an extension to a deadline for the submission of work for assessment should be submitted by the student to the appropriate Learning and Teaching Service Hub, prior to the deadline, on a University Extension Request Form accompanied by appropriate evidence. Extension requests will be considered by the appropriate Learning and Teaching Service Manager in those instances where (a) acceptable extenuating circumstances exist and (b) the request is submitted before the deadline. All other cases will be considered by a Coursework Coordinator in CMP.
Plagiarism
Plagiarism is the copying or close paraphrasing of published or unpublished work, including the work of another student; without due acknowledgement. Plagiarism is regarded a serious offence by the University, and all cases will be investigated. Possible consequences of plagiarism include deduction of marks and disciplinary action, as detailed by UEA's Policy on Plagiarism and Collusion.
Module specific:
- To introduce the theory, models and processes that are used in software engineering.
- To give students an understanding of appropriate design, planning practice for developing industry software systems and its documentation.
- To introduce students to modelling techniques needed to create high-quality software systems from both a user and developer perspective
- To give students experience of software models, phased development and how these lead to a well designed and well documented software system.
Transferable skills:
- Experience of software development processes
- Improved modelling, communication and presentation skills with respect to software development
- Improved analysis and problem-solving skills
On completion of this module students should be able to:
- Use a variety of UML models to describe various aspects of a software system.
- Transfer modelling results from one software development phase to the next and understand how this transfer is achieved.
- Analyse real-world requirements descriptions and turn these into a fully documented software system using a phased development methodology.
Total hours: 58 hours
Contact time: 22 hours lectures, 4 hours seminar, 32 hours supervised lab sessions
Lectures: 22 hours lectures(with provisional weekly schedule)
- An understanding of software engineering processes, modelling of software and the phases that lead to refined design, architecture and implementation
- An in-depth introduction to UML, class diagrams, sequence diagrams and state charts
- Requirements analysis and Object-Oriented Analysis leading to initial class diagrams
- Architectural analysis, risk analysis and optimisation of design choices
- Refinement of software design models and moving towards class skeletons and implementation of designs
- Realisation of the design and the identification and performance of refactoring to complete the development phases
Seminars (indcative content): 4 hours
Seminar sessions will be scheduled to support lectures to perform group practice on the topics covered.
Topics will include:
- Modelling classes based on requirements descriptions
- Performing Object-Oriented Analysis and Design
- Architectural trade-offs and refactoring
Laboratory classes (indicative content): 32 hours supervised lab sessions
Lab classes will be scheduled to for students to perform a simplified software engineering life cycle for the development of a small software system. The emphasis will not be on the complexity of the created product but rather on explicitly running through each of the development phases and creating the design artefacts that are relevant. The development phases will have a deadline at which an updated design document is to be provided with all the information on the development that has been done up to that point.
Assessment is by project.


