14:332:454 Capstone Design – Software and Systems

Spring 2007

Electrical and Computer Engineering Department

School of Engineering

Rutgers University

 

COURSE OBJECTIVE:

 

The goal of this course is to provide students a foundation with a broad base of understanding that allows them to apply their knowledge of scientific and engineering principles to the practical and innovative solutions of existing and future problems.

 

COURSE DESCRIPTION:

 

This is a software design project. Students will be working in teams of three. Each team will work on an application problem to be modeled and solved as a significant software project. The project will strictly follow the software engineering process and will cover the wide array of aspects of software engineering, concepts, design and programming abilities learnt throughout the ECE curriculum and up to the course level ECE 452 Software Engineering, which is a pre-requisite to this course. The course will help the students to bring together the knowledge and skills acquired in the previous courses, and, develop a deeper, broad-based understanding, familiarity and handling ability for the engineering and design principles involved. The course will be evaluated based on regular reports that will be submitted by the teams, by regular presentations of progress, and on individual report on a specific aspect of the project handed in by each student. Team performance will have a significant contribution in the overall student grade.

 

PRE-REQUISITES:

 

14:332:452 - Software Engineering

14:332:351 - Programming Methodology II

14:332:252 - Programming Methodology I

 

INSTRUCTORS:

 

(1) Prof. Manish Parashar

Phone: (732) 445-5388

Email: parashar@caip.rutgers.edu

Office:  Core 628

 

(2) Dr T Raya Halemane

Phone: 732-938-3039

Email: trhalemane@gmail.com

Office: Core 510 (Thursday)

 

Lecture and Meeting Times: Tuesday and Thursday, 1:40 pm to 3:00 pm

Classroom: HLL 009

 

REFERENCE TEXTBOOK:

 

Craig Larman: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design (Third Edition), Prentice Hall PTR, Upper Saddle River, NJ, 2002.
ISBN 0-13-148906-2

 

GRADING POLICY:

 

Periodic Progress Reports                                30%

Intermediate Demonstration                              20%

Final Presentations/ and Reports                       20%

Individual Report/Contribution              30%

 

COURSE WEBSITE:

 

http://www.ece.rutgers.edu/~parashar/Classes/06-07/ece454/ 

 

TENTATIVE SCHEDULE:

 

Date/Week

Required Completed Activity

01/16/07

Course Overview/Project Team Organization

01/18/07

Lecture/Project Discussion

01/23/07

Lecture/Project Discussion

01/25/07

Project Proposal Draft Due/Discussion with Instructors

01/30/07

Lecture/Project Discussion

02/01/07

Project Proposal Due/Individual Report Abstract Due

02/06/07 – 02/08/07

Requirement Analysis – Meeting with Instructors/Update due

02/13/07 – 02/19/07

Use Case Modeling – Meeting with Instructors/Update due

02/22/07

Project Statement (Problem definition, Plan & Schedule, Intermediate & Final Deliverables)/ Presentation I

03/01/07  - 03/08/07

Iteration I – Analysis, Design, Implementation, Testing – Meeting with Instructors/Update due

03/13/07 – 03/15/07

Spring Recess

03/20/07

Demonstration I/Presentation II/Report I Due

03/22/07 – 04/05/07

Iteration II – Analysis, Design, Implementation, Testing – Meeting with Instructors/Update due

04/10/07

Demonstration II/Presentation III/Report II Due

04/12/07 – 04/19/07

Iteration III – Analysis, Design, Implementation, Testing – Meeting with Instructors/Update due

04/24/07

Final Project Presentations and Demonstrations

05/01/07

Final Project Presentations and Demonstrations/Final Report Due/Individual Report Due

 

PROJECT DETAILS:

 

Project Proposal: A project proposal (1 page) must be submitted by each team on 02/01/07. The proposal should clearly outline the scope of the project, and should list the members of the team, assign core responsibilities to each team member, and indicate a team leader who will serve as the spoke-person/contact-person.

 

Time Log: Each team member is required to maintain a log of time spent on project work. The log should be broken up into categories; e.g. time spent reading the textbook or articles, time spent in meeting, time spent devising specifications, etc. A summary of individual time logs must be submitted with each project report. Project reports will not be graded without time logs from each team member.

 

Project Web Page: Each team should maintain a web page that contains a description of the project, the development schedule, current status as well as links to the documents submitted during the course.

 

Project Reports & Presentations: Three reports will be required - a tentative schedule is listed above. Details of what is expected in each report will be presented in class. A short project presentation (in addition to the demonstration) will be required for each deliverable. This presentation may be given by a single member of the team or by the entire team (tag presentation). The objective of the presentation is to introduce the system to potential customers. Further details about the final project report and presentation will be given in class.

 

Individual Report: Each student is required to complete a short report (~ 10 pages) studying a specific aspect of software engineering (e.g., planning, testing, requirement gathering) and how it was applied to the project. This would include a detailed study of the aspect in general including alternate approaches and their tradeoff,  as well as what specific approach was chosen for the project and why.

 

Project Assessment: Your grade will be based on the quality of work produced, not on the time spent (use your energy wisely). A large percentage of the grade will be depend on how the team functioned as a group. It is very important that project reports be submitted on time (to enable the project to stay on schedule and to give me time to evaluate your work). Late work will be penalized.

 

Notes on Documentation: Although project reports will not be directly graded on writing style, organizing your thoughts and writing clearly will enable me to get more out of your reports. It is important that each report have only one editor even though it will contain contributions from all the team members. Also, each team member must edit at least one report. The responsibility of the editor include turning in the final document, setting deadlines for individual submissions, and incorporating individual submissions into a single coherent and complete document.

 

PROJECT IDEAS:

 

The selection of a project idea for implementation is the first task of each team.  Creativity and originality here will be much appreciated, but it is fine to select an idea from the many software applications that are seen around. To help select a project idea, you can think of a particular type of business or industry, like banking or manufacturing or entertainment or telecommunications, think about what type of tasks/problems might be desirable to be done by software or automated, what are the desirable features and requirements, try defining the problem more and more clearly in  a top-down or stage-by-stage thinking and defining process. Further desirable refinements can be made during the design process also. You are encouraged to come up with new ideas and new applications that are not yet done by software. Special consideration will be given to originality and selection of innovative problems and solutions, during grading.

 

We are also making efforts to get some companies involved in getting ideas for these projects.

 

POLICIES:

 

Credit will be given to periodic progress demonstrated during the course of the project from conception, development of specifications, design, implementation, testing, demonstration, documentation, and oral and written presentations. During weekly meetings, progress will be reported and reviewed, any needed help and guidance discussed.