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

  1. Combine the market pull (customer-driven) and technology push approaches in one project
  2. 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)
  3. Exercise the spiral software development methodology (incremental builds and risk analysis)
  4. Work in a LARGE team environment, using roles from Project #2 (modified as needed)
  5. Allocate merit to other team members, based on their individual contributions.
    See attached article from ComputerWorld.
  6. 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.]
  7. Gain hands-on experience with a state-of-the-art configuration management tool, i.e., MS Source Safe
  8. 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
  9. Exercise Bloom's cognitive level 5 -- creativity -- extensively in this design project
  10. Make use of existing software engineering standards, as given in the text
  11. Use project management tools on a larger project than in previous projects, i.e. MS Project Manager
  12. Use groupware, e.g., Netforum, to provide communication links among: team members, management, customers
  13. Summarize lessons learned
  14. Give an oral presentation to the customers and JKM management, including a demonstration using the WWW, and
  15. 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

  1. 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.
  2. Begin writing in your logbooks, keeping track of actual hours spent on each phase.
  3. Read over the existing documentation, as available on the WWW, from JKM and delivered by the customer at the kickoff meeting.
  4. 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).
  5. Arrange a time to talk to the customer about the requirements.
  6. Prepare a preliminary SPMP (recall this from Chapter 10).
  7. Develop the product, according to customer needs/desires/expectations and viability.
  8. 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
  9. Complete all documentation.
  10. 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

  1. Orally-presented executive summary and demonstration (301) -- will be video-taped [a copy from the Fall, 1996 term is available on reserve.]
  2. 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
  3. 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:

  1. Software Project Management Plan (Estimated vs. Real)
  2. Documentation: requirements, specification, design, implementation, integration, etc.
  3. Evaluations of your teammates
  4. Evaluations by your teammates
  5. Lessons learned
  6. Presentation of results (report, presentation, URL): See attached for format of formal report
  7. Oral presentation
  8. 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)