SOFTWARE ENGINEERING

2013/2014

SEMESTER 1

SOFTWARE ENGINEERING

Lecturer : PM Dr Siti Zaiton Mohd Hashim
Room No. : Academic Office, Level 3, N28a
Telephone No. : 0197726248
E-mail : sitizaiton@utm.my
Class Hours : SPACE KB -AI
Synopsis : This course is designed to give students an introduction to an engineering approach in the development of high quality software systems. It will discuss the important software engineering concepts in the various types of the common software process models. The students will also learn the concepts and techniques used in each software development phase including requirements engineering, software design and software testing. This course will also expose the students to utilizing object-oriented method (e.g. UML) and tools in analyzing and designing the software. At the end of this course, students are expected to be able to appreciate most of the common software engineering concepts and techniques as well as producing various software artifacts, documentations, and deliverables.
Learning Outcame : At the end of the course, students should be able to :

  • Define the key terminologies related to Software Engineering principles and approaches.
  • Build and compare the main software artifacts for the software requirements specification, software design, and software testing  documents based on the given problem description.
  • Use the state-of-the-art method and tools in requirement engineering and software design.
  • Ability to lead and do work effectively in a team and present technical solutions to range of audience.
Reminders :
  • ATTENDANCE is compulsory. Students with less than 80% attendance will be prohibited from sitting the final exam.
  • Students MUST DRESS respectably (SOPAN in malay) when attending the lecture, please follow the dress code required.
  • Students must abide by the rules set by University at all times in the lectures, laboratories and exams.
  • CHEATING in any form is PROHIBITED. Gred F is automatically given if the student is caught cheating during the exam. Zero mark is given if the student is found copying/plagiarizing other’s work.
  • Quizzes and EXAMs ARE NOT REDONE unless the student is sick and certified by UTM Medical panels, to be done within a week after the exam.
  • LATE assignment will be penalized or rejected.
Course Assessment  : Software Artefacts Documentation 30% (2)
Projects Presentation and Team Work Assessment 5% (2)
Test 1 25% (1)
Final Examination 35% (1)
 –
Week Topics Activities/hours
Week 1
1.0 Introduction to Software Engineering
1.1 Software Engineering Definition
1.2 Difference between Computer Science and Software Engineering
1.3 Classification of software quality
1.4 Attributes of good software
Lecture : 3
Lecture Note: Introduction
Week 2 2.0 Software Process Model
2.1 Common Process Activities
2.2 Generic Software Process Models
2.3 Process Iteration
2.4 The Rational Unified Process
2.5 Computer-Aided Software Engineering
Lecture : 3 Software Process Note
Tutorial: Software Process Model
Week 3
3.0 Requirement Engineering (RE)
3.1  Requirement Specification
3.1.1 Functional and non-functional requirements
3.1.2 User & System Requirements
3.1.3 Requirement specification techniques
3.1.4 The Software requirements document
3.2  Requirement Engineering Process
3.2.1 Feasibility Studies
3.2.2 Requirements elicitation and analysis
3.2.3 Requirement validation
3.3  Requirements management
Lecture : 3
RE Note
Tutorial: Requirement Engineering
Week 4 4.0  Requirement Modelling and Specification
4.1  Writing a software requirement specification (SRS) document using a Standard Template
4.2  Requirement Analysis Using UML-HAnds-On
4.2.1  Introduction to UML
4.2.2  Use Case Modeling & Specification
4.2.3  Sequence Diagram
4.2.4  Activity Diagram
Lecture : 1
Lab : 2
Week 5 & 6 & 7
5.0   Requirements Engineering Case Study and Laboratory
Artefact:

Software
Requirements
Specification
Test 1
Lecture : 6
SRS Grading Criteria
Lab: 3
Assessment:
– Test 1
– Project Deliverable 1
MID SEM BREAK
Week 9
9.0  Architectural design (AD)
9.1  Architectural Design Decisions
9.2  System Organisation
9.3  Decomposition styles
9.4  Control styles
9.5  Reference architectures 
Lecture : 3 Architectural_Designs_Control_Style
Tutorial:
Architecture Design
Week
10 &11
10.0  Object Oriented Design (OOD)
10.1   OOD Concepts
10.1.1 Principles of OOD
10.1.2 Object Oriented Concepts
10.1.3 Advantages of OOD
10.2  OOD using UML
10.2.1 Enhancing Sequence Diagram
10.2.2 Architectural Design using Package Diagram
10.2.3 Class Diagram

Case Tool:
Enterprise
ArchitectArtefact:
Software
Design
Document
Sample_SDD_KTGB
Sample_SDD_SlidePriceChecking
Lecture : 6 ODD & SDD NotesNotes on ODD:

Lab: 2

Assessment:
– Project Deliverable 2

Week  12 & 13 12.0  Software Verification and Validation (V&V) & Testing
12.1   Introduction to Verification and validation
12.1.1 Verification and validation planning
10.1.2 Software inspections
10.1.3 Software Testing
10.1.3.1  System Testing
10.1.3.2  Component testing
10.1.3.3  Test case design
10.1.3.4  Test automation
10.1.3.5  V & V/ Software testing case studies
10.1.3.5.1  Test case design using Black-box & White Box techniques
Artefact:
Software
Testing
Document
Lecture : 6Tutorial:

Notes on SDD:

Notes on  Software Testing :
Slide V_V_Testing

Week 14 & 15
Project Presentation Assessment: Presentation skill, teamwork
Week 16
STUDY WEEK EXAMINATION WEEK  –
Week 17 & 18 & 19 FINAL EXAMINATION WEEK
 –

Text/Reference:

  • Sommerville, 2010. “Software Engineering”, 9th Edition, Addison Wesley
  • Pfleeger, Shari Lawrence, Software Engineering Theory and Practice, second edition.  Prentice- Hall 2001.
  • Schach, “Classical & Object-oriented Software Engineering with UML & Java”, Mc Graw Hill, 1999