University of Michigan-Dearborn Handed out: 2/12/97
Computer and Information Science Department Due date: 3/19/97
Professor Ken Modesitt Points: 50 * n
CIS 375: Introduction to Software Engineering TEAM:size n=10-11
SOFTWARE PROJECT #3
SOFTWARE MAINTENANCE BY NEW SOFTWARE ENGINEERS OF
JKM & ASSOCIATES ON EXISTING UM-D PROJECTS
Objectives
- Combine the market pull (customer-driven) and technology push approaches in one project
- Develop useful, working, and maintainable software products for the University of
Michigan-Dearborn, maintaining close continuous contact with the customers for
their requests:
Office of Institutional Research
The product will be an updated interactive version
of the UM-Dearborn Fact Book on the WWW home page of the UM-D. This
product was originally developed by the CIS 375 class in the Fall, 1996 term.
(www.cis.umd.umich.edu/cis375/public_html)
Office of Graduate Programs, Provost
The product will be an interactive update to
an existing WWW home page of UM-D. (www.umd.umich.edu/univ/grad)
- Exercise the spiral software development methodology (incremental builds and risk analysis)
- Work in a LARGE team environment, using roles from Project #2 (modified as needed)
- Allocate merit to other team members, based on their individual contributions.
See attached article from ComputerWorld.
- Gain an appreciation of the need for experience with a variety of state-of-the-art software
tools, e.g., CASE (e.g. Oracle Designer 2000, TI Composer), Automated Testing,
Groupware (e.g., FirstClass, Lotus Notes). [Will gain such experience in a later project.]
- Gain hands-on experience with a state-of-the-art configuration management tool, i.e.,
MS Source Safe
- Use results from earlier CIS 375 and CIS 495 projects: Fall, 1996:
Project #4 (Desktop Video Conferencing) to aid in intra-team and customer
communication.
Project #4 (Virtual ELB) to shorten development cycle
- Exercise Bloom's cognitive level 5 -- creativity -- extensively in this design project
- Make use of existing software engineering standards, as given in the text
- Use project management tools on a larger project than in previous projects, i.e. MS
Project Manager
- Use groupware, e.g., Netforum, to provide communication links among: team
members, management, customers
- Summarize lessons learned
- Give an oral presentation to the customers and JKM management, including a
demonstration using the WWW, and
- Post on Netforum.
Context of Project
JKM & Associates has been extraordinarily successful in obtaining several follow-on
contracts from the University of Michigan-Dearborn, thanks, in part, to several new
software engineers who have displayed their abilities for the company and the customer.
These efforts have been manifested in earlier CIS 375 courses (Projects #4 and #6).
The team will be expected to make use of the existing documentation, as supplied by the
archives of CIS 375, as well as the customer. This will include a complete set for the Fact
Book project, and the WWW source for the Graduate Program. Contact with the customer
is mandatory, and will be manifested in several meetings: the kickoff, two progress
reports, and a final report.
Testing of the incremental builds will be performed by the customer, with timely feedback
to you, as developers. A test by the customer of the final deliverable will be done after the
due date of the project. The written evaluation by the customer will play a role in the final
grade assigned to the team. The primary Points Of Contact (POC) for the customer are as
follows:
1. UM-D Fact Book: Patricia Schlaff of the Office of Institutional Research
2. Graduate Programs: Vivian Ladd of the Office of the Provost.
3. The professor will role-play the CEO of JKM & Associates, your employer.
Project Summary
- Meet your teammates. Team assignments have been made by the professor, based on:
-project #2 (on-campus and in-plant interviews),
-Kolb learning styles
-e-mail preferences
-previous experience in projects
These may be negotiated, but the CEO must be informed.
Begin to select a name for your team.
- Begin writing in your logbooks, keeping track of actual hours spent on each phase.
- Read over the existing documentation, as available on the WWW, from JKM and
delivered by the customer at the kickoff meeting.
- Read following chapters: Software Life-Cycle Models (3), Stepwise Refinement &
CASE (4), Testing Principles (5), Introduction to Objects (6), Requirements (7),
Specification (8), Design (11), and Implementation & Integration (13).
- Arrange a time to talk to the customer about the requirements.
- Prepare a preliminary SPMP (recall this from Chapter 10).
- Develop the product, according to customer needs/desires/expectations and viability.
- Prepare an executive summary and demonstration for the customer and JKM
management -- practice the demo! Turn in a videotape of the demo at least 24 hours prior
to the presentation
- Complete all documentation.
- Deliver the summary and demonstration, using access to the campus network and the
WWW in the classroom.
Deliverable in two class days
Tentative Software Project Management Plan (SPMP)
Final Deliverables on schedule
- Orally-presented executive summary and demonstration (301) -- will be video-taped [a
copy from the Fall, 1996 term is available on reserve.]
- Three complete hard copies of all documentation: 1 for customer, 1 for grading, 1 for
file copy. Put another set on the WWW under 3Project 3 -- UM-D Contracts2
- Individual logbooks. The last item will be evaluations of your teammates.
Schedule
2/12 (W) Kickoff meeting with customer
2/24 (M) Progress Report #1 (15 minutes)
3/05 (W) Progress Report #2 (15 minutes)
3/19 (W) Final report/demo (30 minutes)
Software Tools Available/Desire Expressed for (!) Required for Use, Desire to Use
Groupware: Netforum, FirstClass, Lotus/IBM Notes, etc.
Conferencing: CU-SeeMe, MS Net Meeting, etc.
CASE: BriefCASE, Oracle Designer, TI Composer, Evergreen1s EasyCASE (available in
CW -- docs from JKM)
Version Control: MS SourceSafe
Automated Testing: current ones from CompuWare
Others: ?
Evaluation
The evaluation on this project will be based on several criteria. You would be wise to
review thoroughly the Lessons Learned from previous courses! Some criteria include:
- Software Project Management Plan (Estimated vs. Real)
- Documentation: requirements, specification, design, implementation, integration, etc.
- Evaluations of your teammates
- Evaluations by your teammates
- Lessons learned
- Presentation of results (report, presentation, URL): See attached for format of formal
report
- Oral presentation
- Evaluation by the customer
FORMAT FOR FINAL REPORT
Binder
Cover page: team name, individual names, class, date, etc.
Three ring binder
Tabbed sections
Table of contents
Executive summary
Concise description of problem addressed and results
Problem statement
Summary of handout
Requirements
Your understanding of what the user requires -- informally stated.
Specification
Precise definition of what the product is to do. Use chapters 7 and 8.
Plan
Software Project Management Plan (marked-up original draft and final).
This will include Gantt and person-loading charts,, SCM and SQA plans, among
other components.
Use chapter 10.
Design
Architectural: structure chart (with parameters) or hierarchy classes
Detailed
Procedural
-modules for new/modified routines
-name, purpose, parameters, pre/post conditions, calls, algorithm, pseudo
code
Data: ADTS, classes, etc.
User interface: screens
Use chapters 6 and 11.
Implementation
Completely documented, in accordance with previous standards: remember earlier
projects!
Use chapters 12 and 13.
Integration
Product testing, including beta-test results (code-level must include Black-box, at
the minimum).
*Actual executed test cases must be included.
User manuals appear here.
Acceptance testing -- will be done after the project due date, but will be included in
final grade
Use chapters 5 and 13.
Evaluations (MECCA)
Evaluation of your development team.
Reality vs. Predictions
Discuss any discrepancies between estimates and actual results for SPMP
components.
Lessons learned
What would you like to have done differently? What tools/methods would you like
to use next time?
Logbooks (individual) DO NOT INCLUDE IN THE BINDER!
The last item will be an evaluation of your teammates.
Presentation
Overhead masters, Powerpoint disk, name of URL, progress and final reports,
WWW copy, etc.
Disk pack [in secure plastic sleeves]
Floppy disk(s) containing all the above, labeled with your name, date, project, class
Index to the contents (name, purpose, format- "native application", e.g. Word 6.0)
Customer Evaluation (will come later)