Module Catalogues, Xi'an Jiaotong-Liverpool University   
Module Code: CSE207
Module Title: Software Engineering I
Module Level: Level 2
Module Credits: 5.00
Academic Year: 2017/18
Semester: SEM1
Originating Department: Computer Science and Software Engineering
Pre-requisites: N/A
The module is intended to develop an understanding of the problems associated with the
development of significant computing systems (that is, systems that are too large to be designed
and developed by a single person,and are designed to be used by many users) and to appreciate
the techniques and tools necessary to develop such systems efficiently, in a cost-effective
Learning outcomes 
On successful completion of this module, students are expected

to realise the problems in designing and building significant computer systems;

to understand the need to design systems that fully meet the requirements of the intended users;

appreciate the need to ensure that the implementation of a design is adequately tested to ensure

that the completed system meets the specifications;

to be fully aware of the principles and practice of an object-oriented approach to the design and
development of software systems and their components;

to be able to apply these principles in practice;
Method of teaching and learning 
Students will be expected to attend three hours of formal lectures, as well as to participate in one
hour of supervised practical classes in a typical week.
In addition, students will be expected to devote six hours of unsupervised time to private study:
private study will provide time for reflection and consideration of lecture material and
background reading.
Introduction (2 lecture)

what is software engineering; the goals of software engineering;

why is software engineering important

Software processes (3 lectures)

Waterfall Model, Evolutionary development, Formal systems development, Reuse oriented

Requirement analysis (6 lectures)

what are requirements and why are they important

requirements elicitation and validation

user and system requirements

functional/nonfunctional requirements

Techniques for describing system requirements

System models (4 lectures)

Behavioural modelling, data modelling, and object modelling

Design and Design Methodologies (6 lectures)

design of software components and devices

modularity as a tool for handling complexity

unit versus system design

properties of good design (cohesion, loose coupling,...)

top-down design and its problems

safety and correctness

Concepts of Object-Oriented Design (4 lectures)

objects and classes

public and private aspects of objects

inheritance, aggregation and composition

Unified Modelling Language (6 lectures)

what is UML┬┐ - brief history

object oriented analysis with UML : use cases

object oriented analysis with UML : concept diagrams

object oriented design with UML : collaboration diagrams

object oriented design with UML : object models

object oriented design with UML : state charts

Software Testing (6 lectures)

black box testing

generating test cases: boundary analysis, equivalence partitioning

Software projects (5 lectures)

Overview of project stages, areas of risk in each stage

Establishing a business case; establishingproject objectives, goals, and measures of success
Project planning and estimation; critical path analysis, risk identification

Project monitoring; monitor and control finances; control, assure, and manage quality.
Delivery Hours  
Lectures Seminars Tutorials Lab/Prcaticals Fieldwork / Placement Other(Private study) Total
Hours/Semester 42       14    94  150 


Sequence Method % of Final Mark
1 Written Examination 80.00
2 Assessment Task 10.00
3 Assessment Task 10.00

Module Catalogue generated from SITS CUT-OFF: 10/22/2017 10:41:57 AM