ITEC 513 - Advanced Software Design and Development


This course explores the practice as well as leading research in the field of software design and development. It builds on the knowledge and skills learnt in undergraduate Software Design and development course. The complete software design and development cycle is covered with latest methodologies and techniques including concepts such as project management, change control, process management, and software development and testing. Students will perform research on selected topics and prepare a presentation and a short paper. 



Class Format

This course will be an in-depth examination of the SWE concepts. In addition to the lectures, we will read and discuss various related research papers.  The course will involve three major learning activities:

Presentation of topics by the instructor, followed by class discussion- Power point slides will be used to demonstrate learning contents from the course.
Performing research on a selected topic by the students: writing a paper and presenting in class
Working on group project: Requirements Specification document, Design Document and implementation
The topic discussions will be organized mainly according to Hans van Vliet’s Software Engineering: Principles and Practice. The material covered will be based on research papers as well the discussions in the books listed in reading list.
Following the first 2-3 weeks, this class will primarily be seminar format, and class discussion of the readings will play a major role. The students will be assigned presentation topics where they have to perform research on a Software Design and Development related topic and present it in class. 
The students shall submit the presentation material and draft paper on the Monday of the week they are presenting. The material will be posted on course web site.
 All other class members shall read the material, prepare questions/more explanation/objection/counter arguments etc. 
Since some lectures shall be centered on student presentations, paper submission and/or presentations must be completed on time without any excuses. There will be a penalty for tardiness and the student may not be given a second chance to complete the assignment.


Grading Scheme

Class participation 10%
Survey Paper


Submissions for the project

  1. Requirements Document version 1. Due 13/03/2019 (use this example as template for version1)
  2. Presentation of Requirements 15/03/2019
  3. Story boarding/User Interface sketches submission and presentation 20/03/2019
  4.  Event List and Event Table, Activity Diagram for Each event, ERD. 27/03/2019
  5. ERD walkthrough 29/03/2019 
  6. General Use Case Diagram,Use Case Diagrams and TemplatesUse Case Diagrams, templates/Specicifications, revised ERD, sequence diagrams 15/04/2019

Tentative List of Topics

Lecture Notes/Reading Material
1Intro to Software Design and Development methodologies/Software Lifecycle   itec513 lifecycle spring20182019.pptx (added 09/04/2019)
Text book chapters 1-3
2OO Design and Development
Textbook chapter 10,12
Agile Approach
ITEC513 agile spring20182019.pptx (added 09/04/2019 )
Configuration Management
itec513 configuration management spring 20182019.ppt (added 09/04/2019)
Textbook Chapter 4
4People and Teams People and Teams 
difficult team players
Text Book Chapter 5
5 Reqs Engg itec513reqengineeringpp.pptx
Text Book: Chapter 9
itec513 fall20172018 estimation.ppt (new)
itec513 Estimation.ppt 
Textbook chapter 7
8 Qualityitec513 quality fall20172018.ppt
itec513 modeling.ppt
Textbook chapter 10
10 Software Architecturelecture notes used in class
 itec513 arch.ppt
Textbook chapter 11

 itec513 testing vliet.ppt
lecture material: blackbox testing, whitebox testing
Textbook chapter 13

Component Based Software 
itec513 cbse.ppt
Textbook chapter 18
Service-Orientation Textbook chapter 19

Maintenance and Reengineering Textbook chapter 14

People and Team Management Textbook chapter 5

Aspect Oriented Programming  itec513 AOSD.ppt
Textbook chapter 18



Software Engineering: Principles and Practice Hans van Vliet.  ***
Software Engineering: A Practitioner’s Approach, 7/e, Roger S. Pressman
Software Engineering (10th Edition) 10th Edition, Ian Sommerville