CS5351 Software Engineering

Part I

Course Duration: One semester
Credit Units: 3
Level: P5
Medium of Instruction: English
Prerequisites: Nil
Precursors: Nil
Equivalent Courses: Nil
Exclusive Courses
: Nil

Part II

Course Aims
This aim of this graduate-level course is to provide students with a comprehensive understanding of the state-of-art in the software engineering (SE) discipline, its associated processes/methodologies and current trends.  This includes in-depth coverage of some of the key SE issues, best practices, guidelines, quality systems and project management techniques.  The key objective is to equip students with SE knowledge so that they will be able to take full advantage of these concepts, processes, and best practices in their future software development projects.

Course Intended Learning Outcomes (CILOs)
Upon successful completion of this course, students should be able to:

No.

CILOs

Weighting
(if applicable)

1.

Explain and contrast in detail the different major SE process models and current trends.

1

2.

Explain clearly how different SE principles, techniques, best practices, guidelines, etc. are used during different stages of the SE process model.

2

3.

Explain clearly how different project management techniques and quality systems are used within the SE process model.

3

4.

Explain the role and importance of ethics and safety in the SE process.

3

5.

Select appropriate SE process models and techniques for software projects.

4

Teaching and Learning Activities (TLAs)
(Indicative of likely activities and tasks designed to facilitate students’ achievement of the CILOs. Final details will be provided to students in their first week of attendance in this course)

  
Teaching pattern:
  
Suggested lecture/tutorial/laboratory mix: 3 hrs lecture/tutorial.

CILO No.

TLAs

Hours/week
(if applicable)

CILO 1-5

Lectures – Since this is a graduate-level course, the role of the lectures is mainly to provide a backdrop to guide student’s learning.

Weekly Reading – Motivated by the lecture, students will be required to do weekly reading from both assigned material as well as online material that students are required to research on by themselves.

Outcome-based Activities – Many in-class activities and discussions will be used to help reinforce student learning as well as promote knowledge sharing.

Group Project – A group project (involving maximum 4 people in a team) gives an opportunity to collaborate and share in their learning process.  The group project will be a document deliverable following industry standards or recommendations, such as a software project proposal/plan.  Selected teams will be required to give a presentation of their work.

Weekly Blog/Presentations – Students will keep weekly reflective learning journals and present/share their learning results with others.

 

Assessment Tasks/Activities
(Indicative of likely activities and tasks designed to assess how well the students achieve the CILOs. Final details will be provided to students in their first week of attendance in this course)

  
Examination duration:  2 hours
  
Percentage of coursework, examination, etc.:  60% CW; 40% Exam

CILO No.

Type of Assessment Tasks/Activities

Weighting
(if applicable)

Remarks

CILO 1-5

Coursework – In the Group Project, students will be required to justify their choice of the SE process model, how it will be used in the development process as well as project management, quality, safety issues.  The weekly reflective journal will be a useful assessment tool to keep track of student learning progress.

Quizzes/Mid-Term/Final Exam – Further assessment will be in the form of quizzes, mid-term, and/or final exam.  Students understanding of key SE concepts will be assessed.  Questions will be structured so as to prevent pure memorization of standard answers and definitions.  Instead, students must demonstrate true knowledge of the subject by their abilities to apply these concepts to different scenarios and justify their answers by contrasting alternatives.

 

 

Grading of Student Achievement: Refer to Grading of Courses in the Academic Regulations
Grading pattern: Standard (A+, A, A-…F)
For a student to pass the course, at least 30% of the maximum mark for the examination must be obtained.
  

Part III

Keyword Syllabus:

Overview of the software engineering discipline. Software engineering process models and trends. Software engineering standards, best practices, and guidelines. Software project management. Software quality systems. Ethics and safety issues in software engineering.

Syllabus

1.Overview of the Software Engineering Discipline
History and overview of the software engineering discipline. Major roles, issues and problems. Current trends and directions. 
 
2.Software Engineering Process Models and Trends
Overview of different SE process models, such as structured analysis and design, object-oriented analysis and design, agile methodologies, and trends. Contrasting and comparing the different models.  The individual steps within the process models (such as requirements, implementation, testing, etc.), their roles, issues, deliverables (both diagrams, documents and software), quality management and project management.
 
3.Software Engineering Standards, Best Practices, and Guidelines
Overview of different SE-related standards, best practices and guidelines, such as those provided by IEEE, ACM, OMG, SEI, etc.
 
4.Software Project Management
Overview of project management concepts as they relate to SE, such as those outlined by PMI (and its PMIBOK), for example planning, costing, risk management, monitoring, tracking, quality, etc.
 
5.Software Quality Systems
Overview of SE quality systems, such as those from ISO, SEI, etc. (for example, ISO9000, CMMI)
 
6.Ethics and Safety Issues in Software Engineering
Overview of ethical and safety issues in SE, in particular the SE Code of Ethics and Professional Practice.

Related Links
Department of Computer Science