Instructor:
Dr. John R. Sullins
Office hours: MWF MW
Office: 314 Meshel Hall
Phone: 941-1806
Email: john@cis.ysu.edu
Web site: http://cis.ysu.edu/~john/
Check the web site regularly, as assignments and announcements will be posted here.
Objectives:
Prerequisite:
CSIS 3701: Advanced
Object-Oriented Programming or equivalent. It is assumed that you are
familiar with object-oriented programming in Java, and that you can design and
implement reasonably large programs involving those concepts. We will be using
Java NetBeans as a platform for this project, as it
contains useful version control tools.
Textbook:
Software Engineering, Eighth
Edition, Ian Sommerville, Addison-Wesley, ISBN
0-321-31379-8
Note: If you already have the seventh edition, that is
ok also.
Team Organization and Communication:
This project will be centered around
a major team software project,
which will continue throughout the entire semester. The software teams will
consist of 5 to 8 students each.
Details about the project will be given at the “kickoff meeting” in
the first couple of weeks.
There will be a number of client meetings during the initial
stages on the course, in which “customers” (played by me) will
present the problem to be solved and allow you to ask questions.
Class time will be provided (usually all or part of one lecture per week) for team meetings to discuss, plan,
and evaluate the current or next stage of the project. I will be available
during those meetings to answer questions, as well as to help guide the team
decision-making process.
Note that meeting attendance is extremely important! Failure to attend
meetings will slow down the entire team, and absences without a verifiable and
acceptable excuse will result in losing points in the “Team
Meetings” portion of your grade.
Project Stages:
The project will involve the following major stages:
o
Analysis:
After the basic nature of the project is explained, the team will have time to
meet with the “customers” in order to ask detailed questions about
the requirements. The result of this will be a set of requirements
describing what will be done in order to produce a product satisfactory to the
customer. A requirements analysis
document will be produced as a result, and the results of the analysis will
be presented to the customer(s) for approval.
o
Design:
The team will create a design document for the final system, describing
how the project is decomposed into modules and classes, what each module is
responsible for, how modules will communicate, how modules will be tested, and
who is responsible for each module. This design will also be presented to the
“supervisor” (that is, the instructor) for approval. A separate testing plan will also be created as
part of this process.
o
Implementation and Testing:
Once the design has been completed and approved, team members will implement
and test the individual models of the system, and then the final overall
system. Milestones for testing will
be established, and regular meetings will be held to re-evaluate design and
evaluate progress.
o Delivery:
The final system will be presented to the “customers” at the end of
the semester. This presentation will demonstrate all of the major system
features, and act as a tutorial for their use.
General Education Requirements Credit:
This is an Oral Communication
Intensive course. Oral communication activities will involve the following:
Graduate Students:
Graduate students in swing courses are required to perform additional work. In this course, you will be expected to take a leadership role in one of the groups, coordinating the decision-making process (under my supervision). More details will be provided later in the course.
Grading:
Exam 1 |
15% |
Date TBA |
|
Exam 2 |
15% |
Date TBA |
|
Project Analysis 15% |
10% |
Correctness of specifications based on discussions with customers* (team grade) |
|
5% |
Quality of overall analysis document (team grade) |
|
|
Project Design 15% |
15% |
Quality of overall design and testing plans (team grade) |
|
Project Delivery 15% |
7.5% |
Overall correctness of final software (team grade) |
|
7.5% |
Individual correctness of specific modules (individual grade) |
|
|
Team Meetings 15% |
10% |
Attendance and participation* (individual grade) |
|
5% |
Participation as team leader/minute taker* (individual grade) |
|
|
Presentations 10% |
2.5% |
Presentation of specification document to customers* (individual grade) |
|
7.5% |
Presentation of final implementation to customers* (individual grade) |
|
|
no final exam |
*denotes oral communication content |
|
Last day to withdraw with a "W": Thursday, March 27
The course grade will be based on the required
material:
Tentative Course Outline:
|
WEEK |
TOPICS |
TEAM ACTIVITY |
TEXT |
DELIVERABLE |
|
1/14 |
Software Engineering process models, goals, and ethics |
Formation of development teams |
1, 2, 4 |
|
|
1/21 |
Project management, meeting structures |
Introduction to project requirements, initial client kickoff meeting |
5 |
|
|
1/28 |
Software Requirements |
Meetings to develop requirements, followup client meetings |
6 |
Followup questions for client |
|
2/4 |
Requirement Engineering |
Meetings to develop requirements, followup
client meetings |
7 |
Further questions
for client |
|
2/11 |
System
Modeling
|
Meetings to formalize requirements
|
8
|
|
|
2/18 |
Architectural Design |
Meetings to run through presentation |
11 |
Presentation of
proposed specifications |
|
2/25 |
Object Design |
Meetings to
finalize requirement analysis document based on customer feedback
|
12
|
Requirement Analysis Document
|
|
3/3 |
User Interface Design
|
Meetings to begin design |
16 |
|
|
3/10 |
Spring Break |
|||
|
3/17 |
Verification and Validation |
Meetings to develop design document |
22 |
|
|
3/24 |
Software Testing |
Meetings to finalize design document and establish milestones |
23 |
Design Document and
Test Plan |
|
3/30 |
Configuration Management |
Status meetings to evaluate progress Individual development and testing of modules Integration of modules into system at established milestones Testing of overall system Final presentation runthroughs |
29 |
|
|
4/7 |
Critical Systems |
3, 9, 20 |
|
|
|
4/14 |
Fault-tolerant Systems, Quality Management |
24, 27 |
|
|
|
4/21 |
|
|
|
|
|
4/28 |
|
|
Final Implemented
System |
|
|
5/5 |
Finals Week |
Presentation of final system to customers |
||