ESOF 486


Senior Design Project I

2 Cr. (Hrs.:1 Lec., 3 Lab)

This two semester sequence is the capstone course for a Software Engineering degree. Students will work in teams of two to five under the direction of a mentor to either develop or re-engineer a complex software product. Each team will go through all of the steps of a software development process. Each team will develop a Software Requirements Specification, a Software Development Plan, a Software Design Description, and a Software Test Plan/Report and any other documents required for their product. Each team will prepare a campus presentation on their project.

Prerequisite: ESOF 328 (Requirements & Specifications)
Corequisite: COMX 338 (Usability Testing), ESOF 427 (Software Design & Architecture).

ESOF 486/487 must be taken in sequence.
(1st)

ESOF 486/487 must be taken in sequence.

Expectations:

E1. The student must have good knowledge of programming (from CSCI 136 and CSCI 332), algorithm design and analysis (from CSCI 232, CSCI 332 and ESOF 427), databases (from CSCI 340 or BMIS 375) and software engineering (from ESOF 322, ESOF 326, ESOF 328 and COMX 338).

E2. The student should be able to write software development documents: a Software Requirements Specification (from ESOF 328), a Software Design Description and a Software Test Plan/Report (from ESOF 326 or ESOF 411).

E3. The student should be able to quickly learn to use a high level programming language necessary for the assigned project.

Course Outcomes:

R1. Will have demonstrated the ability to work effectively in a team setting on a multi-programmer, multi-month and multi-phase software project. (SE: 1, 2, 3)

R2. Will be able to describe and discuss the professional and ethical responsibilities related to their project and similar projects. (SE: 3, 4)

R3. Will have demonstrated the ability to interact effectively with a client or customer in eliciting and/or verifying system requirements. (SE: 1, 2, 3)

R4. Will have demonstrated the ability to have developed or modified software requirements and specifications for a software system.

R5. Will have demonstrated the ability to develop a software development plan.

R6. Will have demonstrated the ability to describe a system/module design by creating or extensively modifying a software design description. (SE: 1, 2)

R7. Will have demonstrated the ability to develop a software test plan/report.

R8. Will have demonstrated the ability to rigorously inspect or review all of the software engineering documents used in their project. (SE: 1)

R9. Will have demonstrated a working knowledge of software version and change management control. (SE: 1)

R10. Will have demonstrated a working knowledge of all the software development tools used in the development of the project's product. (SE: 1)

R11. Will have demonstrated an understanding of the impact of engineering solutions in a global, economic, environment and societal context. (SE: 4)

R12. Will have demonstrated an understanding of contemporary issues. (SE: 4)

SE:
III-1-2-1 - Computing fundamentals, software design and construction, requirements analysis, security, verification, and validation
III-1-2-2 - Software engineering processes and tools appropriate for the development of complex software systems