CS 453 (WI) Software Engineering Workshop II, Spring 2007
Instructor: Dr. Werner Krandick
- E-mail: krandick at
cs.drexel.edu
- WWW: http://www.cs.drexel.edu/~krandick
- Office: 112 University Crossings
- Phone: 215 - 895 2939
- Office Hours: M,T 10:30
pm - 11:30 pm, and by appointment.
Administrator: Haritha Haridas
Please, contact Haritha whenever your project information on Teams and Projects
needs to be updated. Haritha also schedules the final project
presentation
and demo, and she administers the WebCT pages of the course. Please,
contact Haritha also in case you do not receive another team's document
that you need to review.
- E-mail: hh93 at drexel.edu
Class Times: T 6:00 pm - 8:30
pm
Classroom: Matheson Hall
308
Final Project Presentation and Demo:
Tuesday, May 29, 2007, Hill Conference Room, 240 LeBow Building
Wednesday, May 30, 2007, Hill Conference Room, 240 LeBow Building
Here is a detailed schedule.
Teams and Projects
Introduction
The Software Engineering Workshop I,II (CS 452-453) serves the purpose
of a capstone experience for students
in their senior year. The workshop provides students with the
opportunity to prepare for careers as professional software developers
by working in
teams on a significant software development project.
Teams will also have the opportunity to use the software project
as a basis for a business idea and present this idea in a business plan
competition organized by the Baiadacenter for Entrepreneurship in
Technology, Drexel University. More information can be obtained at http://www.baiadacenter.drexel.edu/.
Course Objectives (CS 452-3)
1) To work efficiently in a team of peers.
2) To give software specifications that are clear, detailed, complete,
consistent, usable, and modifiable.
3) To design software according to specifications.
4) To implement a design of significant complexity.
5) To review software projects of other teams.
6) To develop documentation, writing and oral presentation skills.
For students: Schedule, due dates,
submission instructions, and grading scheme
For every due date, the due time is 11:59 pm.
Apr
10: Requirements document and acceptance test plan available on project web-site for peer review. The team administrator announces
the URL on the discussion board of WebCT.
Apr
17: Review of requirements document and acceptance test plan.
The team administrator submits the review in PDF format via WebCT (7.5%). The team administrator sends a
copy to the administrator of the reviewed team.
Apr
17: Design document
and integration test plan available on project web-site for peer review.
Apr
24: Requirements document (PDF and HTML) and acceptance test
plan (PDF). The
team administrator submits the final version of the documents via WebCT
(10%).
Apr 24: Review of design
document and integration test plan. The team administrator submits the review
in PDF format via WebCT (7.5%). The team administrator sends a
copy to the administrator of the reviewed team.
May 1: Beta-version available
on project web-site for peer testing.
May
1: Design document (PDF and HTML) and integration test plan
(PDF). The team
administrator submits the final version of the documents via WebCT (10%).
May
8: Beta-test report. The
team administrator submits the test report in PDF format via WebCT (7.5%). The team administrator sends a copy to
the administrator of the reviewed team.
May 15: Project web-site
(final version) (5%).
May 22: Project code (final
version) (20%). The team administrator submits the
beta-version via WebCT.
May 29,
30:
Final project presentation and demo (32.5%).
The team administrator
submits the presentation slides via WebCT. The presentations will be
given in Hill Conference Room, 240 LeBow. Here is a detailed schedule.
May 31: Final Four Competition:
Outstanding Computer Science Senior Project. The competition will be
held in Disque 103 from 6 pm to 9 pm; a light dinner will be served
from 5 pm to 6 pm.
Jun 5: College of
Engineering Senior
Design Competition. The competition will be held in the Bossone
auditorium from 9:00 am to 3:30 am. Evaluation
form
(PDF).
For
advisors: Grading schedule
Advisors should grade each deliverable within one week after it was
submitted. Here is a list of the submission dates.
Apr 17: Review of requirements document and acceptance test plan (7.5%)
Apr 24: Requirements document and acceptance test plan - final version
(10%)
Apr 24: Review of design document and integration test plan (7.5%)
May 1: Design document and integration test plan - final version
(10%)
May 8: Test report on beta-version (7.5%)
May 15: Web-site - final version (5%)
May 22: Project code - final version (20%)
May 29, 30: Final project presentation and demo (32.5%)
Peer reviews
Team 1 will review the work of Team 18.
Team 2 will review the work of Team 1.
Team 3 will review the work of Team 2.
Team 4 will review the work of Team 3.
Team 5 will review the work of Team 4.
Team 6 will review the work of Team 5.
Team 7 will review the work of Team 6.
Team 8 will review the work of Team 10.
Team 9 will review the work of Team 11.
Team 10 will review the work of Team 9.
Team 11 will review the work of Team 8.
Team 12 will review the work of Team 7.
Team 13 will review the work of Team 12.
Team 14 will review the work of Team 13.
Team 15 will review the work of Team 14.
Team 16 will review the work of Team 15.
Team 17 will review the work of Team 16.
Team 18 will review the work of Team 17.
Deliverables
1. Reviews
Each review should be about 3 pages in length. This holds for the
review of the requirements document and acceptance test plan, and for
the review of the design
document and integration test plan. The reviews should address the
contents
of those documents, not style or organization. The test report on the
beta-version should also be about 3 pages long. Try to structure your
comments in a useful way - for example by the level of seriousness or
by the parts of the project that the comment refers to.
2. Requirements Document
The requirements document is the official statement of what is
required of the developers. As far as possible, it should focus on what
the system should do rather than how it should do it. The requirements
document should specify the main components and behavior of the
computer system and its operating environment. It should also
characterize its responses to unexpected events, and impose any
constraints on the implementation. The document should be easy to
change because it most likely will require modification in later phases
such as software maintenance. The audience for a requirements document
is usually non-technical, so keep this in mind when writing it.
The requirements document will have roughly the following
structure:
- Introduction
- Requirements Specification (Detailed Functional
Requirements, includes test plan)
- Non-functional Requirements
- System Evolution
- Glossary
A requirements document typically contains structured text. It is
highly recommended to take advantage of the HTML hyper-link
capabilities in order to implement requirements traceability.
When you submit your document for grading the document must include a
paragraph that summarizes the changes that
were made as a result of the consultations with the writing tutor in
Winter Quarter.
Requirements
document guidelines.
Example
documents.
3. Acceptance Test Plan
The acceptance test plan describes the tests that will be executed
when you have delivered the finished product. If your product passes
this test it will be considered a sucess, otherwise a failure.
The team administrator submits the acceptance test plan in PDF format
via WebCT.
4. Design Document
The design document must be written in HTML and should consist of
one or more diagrams that explain the overall structure of the software
system implementation. This is a technical document. Design diagrams
describe concepts such as: inheritance trees, include file
dependencies, class and module interfaces, protocols of interaction
between objects, runtime libraries, etc. Make sure that the
diagrammatic notations you use to articulate your design are explained
in the document. For example, what do edges and nodes mean? Are all
nodes and edges labeled?
When you submit your document for grading the document must include a
paragraph that summarizes the changes
that were made as a result of the consultations with the writing tutor
in Winter Quarter.
The administrative team leader of each team submits the design
document in both, html and PDF format via WebCT.
Design document guidelines.
Example
documents.
5. Integration Test Plan
The integration test plan describes the tests that will be used to
verify that the software components were properly assembled.
The team administrator submits the integration test plan in PDF format
via WebCT.
6. Project Website
The website should contain a logo, the project title, your names, your
project description, the requirements document, the acceptance test
plan, the design document, the integration test plan, and - once it is
available - the final version of your code.
7. Project code (beta-version and final
version)
The entire source code and pertinent data, complete with installation
instructions, build system, and test harness. If specialized hardware
is used, that hardware is also made available.
8. Final Project Presentation and Demo
Each team will make a presentation describing their project and
demonstrating the software they developed. The presentations are
expected to be of
high quality (i.e., well structured, using a data projector, etc.)
and to involve all team members. The faculty advisor and a number of
other CS faculty members will be among the audience. The total
time
dedicated to each team will not exceed 30 minutes.
Final project presentation and
demo guidelines.
Evaluation form.
Resources
Reference:
Roger S.
Pressman, Software Engineering: A
Practitioner's
Approach, Sixth Edition, McGraw-Hill, 2005.
Academic Honesty
The university's Academic
Honesty Policy is in effect for this
course.