COMP354 - fall 2005
Contents |
Course Description
COMP 354 Software Engineering I (4 credits)
Prerequisite: COMP 352; ENCS 282. Principles of software development and maintenance. Software lifecycle models and deliverables: requirements analysis and specification, architectural and detailed design, implementation, verification and validation. People, product, and process issues: team dynamics, communication, presentations, reviews. Lectures: three hours per week. Laboratory: two hours per week. Tutorial: one hour per week. NOTE: Students who have received credit for COEN 431 may not take this course for credit.
Course Schedule and Contacts
component | day | time | location | instructor | e-mail address |
---|---|---|---|---|---|
lecture E | -T-J--- | 11:45-13:00 | CL-220 | Paquet, J. | paquet@cse.concordia.ca |
office hours | ---J—-- | 15:00-16:00 | EV-3-221 | Paquet, J. | |
tutorial EA | -T----- | 13:15-14:05 | CL-225 | Vassev, E. | i_vassev@cse.concordia.ca |
laboratory EA-EI | ---J--- | 14:15-16:15 | H-929 | Vassev, E. | |
tutorial EF | -T----- | 13:15-14:05 | CL-227 | Wan, K. | ky_wan@cse.concordia.ca |
laboratory EF-EJ | ---J--- | 14:15-16:15 | H-929 | Wan, K. |
Examinations Schedule
week | date | examination | topics |
---|---|---|---|
week 6 | oct 13 | quiz #1 |
|
week 13 | dec 1 | quiz #2 |
|
Homework and Project Assignments Schedule
due | assignment | available | ||
---|---|---|---|---|
week 4 | sep 29 | homework assignment #1 | week 2 | sep 13 |
week 9 | nov 1 | homework assignment #2 | week 6 | oct 11 |
week 11 | nov 17 | homework assignment #3 | week 9 | nov 1 |
week 2 | sep 15 | project proposal | week 1 | sep 8 |
week 5 | oct 6 | project deliverable #1 | week 2 | sep 13 |
week 9 | nov 3 | project deliverable #2 | week 5 | oct 4 |
week 15 | dec 12 | project deliverable #3 | week 9 | nov 1 |
Lecture Schedule and Material
wk | date | event | topics | material |
---|---|---|---|---|
week 1 | sep 6 sep 8 |
|
|
|
week 2 | sep 13 sep 15 |
|
||
week 3 | sep 20 sep 22 |
|||
week 4 | sep 27 sep 29 |
|
||
week 5 | oct 4 oct 6 |
|
|
|
week 6 | oct 11 oct 13 |
|
|
|
week 7 | oct 18 oct 20 |
|
||
week 8 | oct 25 oct 27 |
|
||
week 9 | nov 1 nov 3 |
|
|
|
week 10 | nov 8 nov 10 |
|
||
week 11 | nov 15 nov 17 |
|
||
week 12 | nov 22 nov 24 |
|||
week 13 | nov 29 dec 1 |
|
Tutorial and Laboratory Schedule
week | tutorial topic | laboratory topic |
---|---|---|
week 1 |
|
|
week 2 |
|
|
week 3 |
|
|
week 4 |
|
|
week 5 |
|
|
week 6 |
|
|
week 7 |
|
|
week 8 |
|
|
week 9 |
|
|
week 10 |
|
|
week 11 |
|
|
week 12 |
|
|
week 13 |
|
|
Course Material
- Course outline
- Unified Modeling Language [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]
- Example for project deliverable 1
- Example for project deliverable 2
- Example for project deliverable 3
- Example using another template (3 phases in one document)
Project Description
You have to build a game that is an equivalent of the game "Conquest" [1], a clone of the popular board game "Risk". You have to extract all requirements by downloading and inspecting the free version of the game. All features of the game must be listed in your initial requirements document in deliverable 1. You also have to analyze these requirements by giving them relative importance and an evaluation of the difficulty of implementation. When setting up your project plan (also in deliverable #1), you have to specify in what order the requirements will be implemented, as well as restricting the scope of the project by eliminating some features if you find that some are too much time consuming or difficult to implement. However, there are some mandatory features that are to be implemented in all projects (some not being part of the original game) :
- The game must be playable in text mode, using windows with fields showing the relevant information of the game, as well as buttons and menus to control the game execution.
- The map must be customizable, i.e. one can define what countries are part of the map, give them names, and specify their neighbouring countries. For example, this could be done using a matrix. The engine of the game execution must be able to run a game with any valid map configuration without recompiling the game.
- A computer player must be available. It does not need to act intelligently, but must be able to take a turn without user interaction, meaning that the game can execute with no user interaction by using only computer players without human players.
- A save game feature (and the corresponding loag game counterpart) must be available.