This sequence is the capstone project for the Software Engineering degree. Students will work in teams of two or three of their own choosing under the direction of the instructor to either develop or re-engineer a complex software product. Each team will go through all of the phases of a software life-cycle model. Each team will prepare a conference level paper and presentation on their project. Prerequisite: S.E. 3280 & S.E. 3300. (1st, 2nd) Need a total of 6 credits and have to do 3 credits at time.
A reflection paper is required for this course.
Senior Design Project Presentation Requirements
Expectations:
E1. The student should have a basic knowledge of programming (from CS 2106, CS 2116, and CS 2546), algorithm design and analysis (from CS 3316 and CS 3326, databases from CS 2656 and software engineering (SE 3260, SE 3300, and SE 3280)
E2. The student should be able to write any of the following standard software development documents (Software Requirements Specification; Software Design Description; Test Plan, Test Case Specification, Test Report; Configuration Management Plan; User Manual; and On-line Help) (from SE 3260)
Course Outcomes:
R1. The student will be able to work in a team setting on a multi-programmer, multi-month, 10KSLOC-level software project. (CS/SE 7, CS/SE 10)
R2. The student will have a working knowledge of regression testing techniques and will demonstrate proficiency in designing, writing, and using testing to improve code quality. (SE 6, CS/SE 15)
R3. The student will be able to demonstrate a working knowledge of software version control. (SE 6)
R4. The student will be able to identify and correct characteristics in software that impede code maintenance. (SE 17)
R5. The student will have both a conceptual and practical grasp of software tools used to generate and maintain software documentation, to manage configuration control, and to exercise software test suites. (SE 6, CS/SE 9, CS/SE 15)
R6. The student will be able to either create a new product from scratch or extensively modify an existing product. In the latter case this outcome also includes student’s ability to examine and evaluate pre-existing source code for maintainability and be able to refactor pre-existing code for better maintainability. . (In either case CS/SE 3 and SE 14 apply.) |