CMP-5012B Software Engineering 1

Module Code:
Academic Year:
2015 - 16
Credit Value:
Level 5
Module Organiser:
Dr. Joost Noppen


Software Engineering is one of the most essential skills for work in the software development industry. Students will gain an understanding of the issues involved in designing and creating software systems from an industry perspective. They will be taught state of the art in phased software development methodology, with a special focus on the activities required to go from initial class model design to actual running software systems. These activities are complemented with an introduction into software project management and development facilitation.

Module Objectives

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

Learning Outcomes

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.

Teaching and Assessment

Teaching Approach

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)

  1. Module Introduction, Introduction to Software Engineering
  2. Software Development Processes (UP, Agile), Req Engineering
  3. Modelling – UML Class Diagrams
  4. Modelling – Software Architectures
  5. Modelling – UML Sequence and State Transition Diagrams
  6. Version Management, Test Driven Development
  7. Week 7
  8. Going from Design to Implementation,  Project Planning
  9. Considering Quality of Software during Development
  10. Documenting the Development of a Software System
  11. Trends and Challenges in Software Engineering / Aviva Panel
  12. Revision
  13. Seminars (indicative content):  4 hours   

Seminar sessions will be scheduled to support lectures to perform group practice on the topics covered.

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.

  1. Introduction to the Work Environment (Eclipse, UMLet)
  2. Domain and Requirements Analysis 
  3. OO Analysis
  4. OO Design and Architecture 
  5. Sequence and State Diagrams
  6. Introduction to GIT/BitBucket and Implementation Planning
  7. Introduction to JUnit
  8. Prototype Implementation Iteration 1
  9. Prototype Implementation Iteration 1
  10. Prototype Implementation Iteration 2
  11. Prototype Implementation Iteration 2

Methods of Assessment

Method of Assessment

Assessment is by project.


Teaching Resources

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.

Library Resources

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

Conventions and Standards


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.


If coursework is handed in after the deadline day or an agreed extension:


Work submitted Marks deducted
After 15:00 on the due date and before 15:00 on the day following the due date 10 marks
After 15:00 on the second day after the due date and before 15:00 on the third day after the due date 20 marks
After 15:00 on the third day after the due date and before 15:00 on 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

Saturdays and Sundays will NOT be taken into account for the purposes of calculation of marks deducted.

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.

For more details, including how to apply for an extension due to extenuating circumstances download Submission for Work Assessment (PDF, 39KB)


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 reported to the Plagiarism Officer. Details from UEA's Policy on Plagiarism and Collusion.

Click the button to print the current page.