Tools and Techniques for Software Engineering

(COMP 5541 2016-2017 /4 DD)

General Infromation

Instructor: Ali Jannatpour
Lecture Hours: -T----- 17:45-20:15 H-429 SGW
Lab Sections: -T----- 20:30-22:10 H-849 SGW (DDDI) Nader Kesserwan
-T----- 20:30-22:10 H-847 SGW (DDDJ) Nidhi Arora

Announcements

This section will be updated throughout the semester, with the most recent announcements on top of the list.

April 16, 2017

Assignment #3's solution is posted.

April 12, 2017

The final project submission includes the following deliverables:
  • Latest version of the code-base
  • Updates to the model with respect to the requirements changes in iteration 3
  • Future Development Plan for the unimplemented features (time, tasks, and resource required to finish the project)
  • Powerpoint presentation
  • Updated log (daily activities of all team members, including the type of the tasks as well as the role in the development team at the time
Note that updating the SRS document is optional. Alternatively, the updates to the model as well as the development plan may be inlcuded in the new SRS documents.

April 4, 2017

The deadline to submit Assignment #3 is postponed to Apr 14th, 2017, 23:55.
The Final Presenations will take place during the second half of the lecture time as well as the lab time on Apr 11th, 2017. The deadline to submit the final version of the code, revised models, and the change plans is postponed to Apr 17th, 2017, 23:55. Use "Project 1" for the submission type.

March 27, 2017

Assignment #3 is posted. Due Apr 10th, 2017, 23:55.; Due Apr 14th, 2017, 23:55. (modified) (solution)

March 8, 2017

The Software Requirement Specification (SRS) document template is available to download. Iteration #1 delivery is due March 20th. Use "Proposal 1" for the submission type.
This is a group submission. Only one submission per team is required.
Please use create a zip file and include the SRS, the logs, and the functional prototype in one zip file.
Make sure your project directory includes a README file that contains all necessary infromation to setup, compile, and run the software.
Please remove any unnecessary files from your project directory (i.e. intermediary object files, etc.).

February 19, 2017

Assignment #1's solution is posted.
Assignment #2 is posted. Due Mar 6th, 2017, 23:55. Check Assignment #1's solution for more information. (solution)

Februrary 15, 2017

The Midterm exam will take place during the lecture hours on Feb 28th, 2017, @17:45, in MB 3.255 & MB 3.285.
  • Lastnames: A-H: MB 3.255
  • Lastnames: I-Z:  MB 3.285

January 31, 2017

Assignment #1 is posted. Due Feb 13th, 2017, 23:55. (solution)

January 23, 2017

The Room for the makeup session is booked for Wednesday January 25th for 5:45pm-8:15pm. It will be held in H-611.

January 18, 2017

Room numbers were updated. Course outline was revised, accordingly.

January 10, 2017

Course outline is available.

Important Dates

Team Presentations - Use Case / Domain Model
Deadline to submit the Assignment #1.
MIDTERM.
Deadline to submit the Assignment #2.
Team Presentations - Functional Prototype
Deadline to submit Iteration #1. Use "Proposal 1" for the submission type.
Team Presentations - System Demo + Updated Model
Final Presentations - Iteration #3
Deadline to submit the Assignment #3.
Final Project Submission Use "Project 1" for the submission type.
FINAL EXAM

Some Useful Links


Course Outline

The course outline is available in PDF format.

Week 01

Course overview, Introduction to Software Engineering

For the lecture notes click here

Week 02

Software Development Life Cycle Models

  1. Code-and-Fix (anti-pattern)
  2. Waterfall
  3. Rapid Prototyping (also see Rapid Application Development (RAD))
  4. Open-Source Model
    • Open-Source vs Closed Source
  5. Evolution-Tree
  6. Iterative and Incremental* (also see Rational Unified Process (RUP))
    • Risks and Other Aspects
  7. Agile Processes: Extreme Programming
  8. Synchronize-and-Stabilize
  9. Spiral
For the lecture notes click here

Lab Materials:

Further Reading:

Some Useful Tutorials for the Project:

Week 03

Use Case Modeling

For the lecture notes click here

Lab Materials:

Some free tool(s):

UMlet & Eclipse

Week 04

Domain Model

For the lecture notes click here

Week 05

Sequence Diagram

For the lecture notes click here

Week 06 - Software Design

Design Concepts

For the lecture notes click here

Design Quality

For the lecture notes click here

WINTER-BREAK

Intermission - Software Project Management!

Week 07

MIDTERM

Week 08

Modeling with Classes

For the lecture notes click here

Week 09

Design Patterns

For the lecture notes click here

See also:

Week 10 - Software Architecture

Architectural Views

For the lecture notes click here

Architectural Styles

For the lecture notes click here

Further Reading:

Week 11

GRASP (General responsibility assignment software patterns (or principles))

For the lecture notes click here

Further Reading:

Week 12

Refactoring

For the lecture notes click here

See also:

Week 13

Software Testing

For the lecture notes click here

Last update: Sunday, April 16, 2017