CSE5450: Intro to Software Engineering

CSE5450 - Advanced Software Engineering

Spring 1996



Fact Sheet

COURSE TITLE: Advanced Software Engineering

COURSE DESIGNATION: CSE5450-E1

INSTRUCTOR: John R. Ellis

MAIL SLOT: Crawford Hall, 2nd floor: ELLIS

PHONE (emergencies only): (work) 255-9850

E-MAIL: johnrellis@earthlink.net or john@retisoft.com

OFFICE HOURS: By appointment.

CLASSROOM: A-221

TIMES: Tuesday, Thursday, 6:30 - 7:45 PM

TEXT:

COMPUTER SYSTEMS: Students will be expected to communicate with one another and with the instructor via e-mail. Those students not otherwise having accounts affording e-mail access will be expected to acquire an account on the University's Nighthawk (ZACH) for Sun SparcStation (TUCK). Personal Computers (PCs) are available in the Crawford Hall third floor lab and in the library. The class project development must be performed and the target program executed on PCs. Project documents are in PC MicroSoft Word 6.0 format. The use of home PCs or PCs at your workplace (if permitted by your employer) is also approved. When individual assignments require submittal in machine readable form, floppy disk (PC 3.5" HD) must be used.

GRADING: You will be graded on your homework assignments, participation in class, and two examinations: a mid-term and a final. Grading will be based on the following relative weights:

Project Grade (inc. homework) 50%
Mid-Term Examination 15%
Final Examination 30%
Class Participation 5%
Total: 100%

COLLABORATION: Collaboration or "working together" is ESSENTIAL to this course. You are authorized full communication with any other class member concerning the project we will be undertaking.

CONFORMANCE TO STANDARDS: You will each have an area of primary responsibility as part of the class team executing the class project. The Quality Assurance Manager and the Configuration Manager will enforce the standards for the class. The Independent Verification and Validation engineer will further evaluate conformance as an agent of the "customer" (instructor). Conformance to the standards is clearly to your benefit, besides which, experience has shown that adherence to standards results in producing working programs in less time.

TURNING IN ASSIGNMENTS: For each of the assignments, you should turn in your solution. To each, attach an assignment coversheet that includes your name, student number, e-mail address, a telephone number where you can be contacted, and a summary of your individual task. Also include any comments you want the instructor to see.

LATE ASSIGNMENTS: In general, late assignments will NOT be accepted. In those cases where the instructor chooses to accept them, a severe grading penalty will apply. Remember that all of the other students, your development teammates, will depend on your contribution to the project.

CLASS SCENARIO:

You have recently been hired by a prestigious software company because the company has just won one of two contracts to upgrade a Government developed training aid called the Low Cost Flight Simulator (LCFS). At the end of the development phase, a single contract will be awarded to the company that wins a competitive product "fly-off" demonstration. Your company's future depends on winning this competition. Your talent-laden tiger team must develop the upgrade to this product to allow it to win the fly-off. Product maintainability is included in the criteria for final product evaluation. You have 15 working weeks to complete the task and have the upgrade ready for the fly-off demonstration.

-- Return to top, or:
1. Fact Sheet; 2. Syllabus; 3. Roles; 4. PDRL; 5. Assignment #1; 6. Assignment #2; 7. Assignment #3; 8. Assignment #4.


Course Syllabus

TEXT:

  • [B]: The Mythical Man-Month, by Fred Brooks
  • [P]: Software Engineering: A Practitioner's Approach, by Roger Pressman
  • INSTRUCTOR: John R. Ellis

    Class Date Pages Topic
    1 9 Jan 96 - Introduction to Class Project
    2 11 Jan 96 P: 40-64
    B: 1-26
    - Life-Cycle Models
    3 16 Jan 96 P: 40-64
    B: 29-37
    B: 73-83
    - Management and Metrics; Project Organization
    4 18 Jan 96 P: 549-594
    P: 693-710
    - Controlling Disciplines - QA and CM
    5 23 Jan 96 P: 65-127
    B: 87-94
    - Cost, Size, and Manpower Planning
    6 25 Jan 96 P: 173-204
    B: 41-50
    B: 61-69
    - Requirements Analysis and Specification
    7 30 Jan 96 B: 97-103 - Requirements Assessment Review
    8 1 Feb 96 P: 207-265 - Structured Analysis and Object-Oriented Analysis
    9 6 Feb 96 - Configuration Control Board Meeting
    [Assignment #1 due.]
    10 8 Feb 96 P: 315-366
    B: 115-123
    - Design Concepts and Models
    11 13 Feb 96 - Preliminary Design Review
    12 15 Feb 96 P: 367-394 - Structured Design
    13 20 Feb 96 P: 395-428 - Object-Oriented Design
    14 22 Feb 96 - Team Meetings
    15 27 Feb 96 - Critical Design Review
    [Assignment #2 due.]
    16 29 Feb 96 - Mid-Term Examination
    4-8 Mar 96 SPRING BREAK!!!
    17 12 Mar 96 P: 513-545
    B: 127-150
    - Structured Programming and Implementation Considerations
    18 14 Mar 96 P: 595-630 - Software Testing
    19 19 Mar 96 P: 631-661 - Testing Strategies
    20 21 Mar 96 B: 107-112 - Formal Technical Reviews
    21 26 Mar 96 - Team Meetings
    [Assignment #3 due.]
    22 28 Mar 96 - Software Inspection
    23 2 Apr 96 P: 481-511 - Real-Time Systems
    24 4 Apr 96 P: 713-735 - CASE and CASE Tools
    25 9 Apr 96 - Cleanroom Software Engineering
    26 11 Apr 96 B: 179-226 - "No Silver Bullet"
    27 16 Apr 96 P: 663-691
    B: 153-175
    - Post-Development SW Evolution: Maintenance and Documentation
    [Assignment #4 due.]
    28 18 Apr 96 B: 229-292 - Mythical Man-Month After 20 Years
    29 23 Apr 96 - Artifact Demonstration
    30 25 Apr 96 B: 107-112 - Post Development Evaluation; Course Evaluations
    - Review for Final Examination

    -- Return to top, or:
    1. Fact Sheet; 2. Syllabus; 3. Roles; 4. PDRL; 5. Assignment #1; 6. Assignment #2; 7. Assignment #3; 8. Assignment #4.


    Project Roles

    Role Assigned to: Job Description Summary
    Task Leader Parivash
    (Pari)
    Jamnia
    pjamnia@cs.fit.edu
    Responsible for the creation of the software product. Primary responsibilities include: 1) cost and schedule performance of the team; 2) authoring the requirements and specification document; 3) advising on overall design; and 4) supervising implementation and testing.
    Project
    Administrator
    Hung Ju
    (Henry)
    Cho
    hcho@cs.fit.edu
    Responsible for resource allocation and tracking. Primary responsiblities are cost analysis and control, computer and human resource acquisition and supervision. Collects data and issues bi-weekly cost/manpower consumption reports and the final report.
    Configuration/
    Data Manager
    Hsin-Chi
    (Dillon)
    Chen
    hchen@cs.fit.edu
    Responsible for change control. Primary responsibilities include the configuration management plan, tracking change requests and discrepancy reports, calling and conducting change control board meetings, archiving, and preparing product releases. Also responsible for final preparation of all documentation prior to delivery to the "customer". Ensures documents are delivered in accordance with program milestones. Establishes the program documentation standard and ensures all documents conform.
    Test and
    Evaluation
    Engineer
    Yuh-Sheue
    (Rosa)
    Chen
    rcs12428@cs.fit.edu
    Responsible for testing and evaluating individual modules and subsystems and for preparing the appropriate test plans and test documentation.
    Designer Somrak
    Bhakdisuparit
    sbhakdis@winnie.fit.edu
    Primary responsibility for developing aspects of the design as specified by the Task Leader; includes assessing the impact of alternative implementations for proposed changes.
    Implementor Paul
    Bryer
    pbryer@cs.fit.edu
    Primary responsibility is to implement the individual modules of the design and serve as the technical specialist for the programming language and operating system. During the requirements specification and design stages, the implementor could develop tools and experiment with unfamiliar language features needed for the project.

    -- Return to top, or:
    1. Fact Sheet; 2. Syllabus; 3. Roles; 4. PDRL; 5. Assignment #1; 6. Assignment #2; 7. Assignment #3; 8. Assignment #4.


    Project Deliverable Requirements List

    Item Num. Document Name Responsibility
    A001 Software Development Plan Task Leader
    A002 Software Configuration Management Plan Configuration/Data Manager
    A004 Program Documentation Standards Configuration/Data Manager
    A005 Coding Standard / Maintenance Manual Configuration/Data Manager
    A006 Cost / Schedule Status Report (bi-weekly) Project Administrator
    A007 Software Requirements Specification Task Leader
    A008 Interface Requirements Specification Task Leader
    A009 Software Design Document Designer
    A010 Test Plan Test and Evaluation Engineer
    A011 User Manuals Task Leader
    A012 Code Implementor
    A013 Test Report Test and Evaluation Engineer

    -- Return to
    top, or:
    1. Fact Sheet; 2. Syllabus; 3. Roles; 4. PDRL; 5. Assignment #1; 6. Assignment #2; 7. Assignment #3; 8. Assignment #4.


    Assignment #1

    NOTE: Everyone MUST keep track of the hours spent on project activities. Turn in weekly activity report forms to the Project Administrator.

    Task Leader:

    Project Administrator:

    Configuration/Data Manager:

    Test and Evaluation Engineer:

    Designer:

    Implementor:


    -- Return to top, or:
    1. Fact Sheet; 2. Syllabus; 3. Roles; 4. PDRL; 5. Assignment #1; 6. Assignment #2; 7. Assignment #3; 8. Assignment #4.


    Assignment #2

    NOTE: Everyone MUST keep track of the hours spent on project activities. Turn in weekly activity report forms to the Project Administrator.

    Although individual assignments are due on 27 Feb, most work will have to be done well in advance of this date in order for the project to remain on schedule.

    Task Leader:

    Project Administrator:

    Configuration/Data Manager:

    Test and Evaluation Engineer:

    Designer:

    Implementor:


    -- Return to top, or:
    1. Fact Sheet; 2. Syllabus; 3. Roles; 4. PDRL; 5. Assignment #1; 6. Assignment #2; 7. Assignment #3; 8. Assignment #4.


    Assignment #3

    NOTE: Everyone MUST keep track of the hours spent on project activities. Turn in weekly activity report forms to the Project Administrator.

    Although individual assignments are due on 26 Mar, most work will have to be done well in advance of this date in order for the project to remain on schedule.

    Task Leader:

    Project Administrator:

    Configuration/Data Manager:

    Test and Evaluation Engineer:

    Designer:

    Implementor:


    -- Return to top, or:
    1. Fact Sheet; 2. Syllabus; 3. Roles; 4. PDRL; 5. Assignment #1; 6. Assignment #2; 7. Assignment #3; 8. Assignment #4.


    Assignment #4

    NOTE: Everyone MUST keep track of the hours spent on project activities. Turn in weekly activity report forms to the Project Administrator.

    Although individual assignments are due on 23 Apr, most work will have to be done well in advance of this date in order for the project to remain on schedule.

    Task Leader:

    Project Administrator:

    Configuration/Data Manager:

    Test and Evaluation Engineer:

    Designer:

    Implementor:


    -- Return to top, or:
    1. Fact Sheet; 2. Syllabus; 3. Roles; 4. PDRL; 5. Assignment #1; 6. Assignment #2; 7. Assignment #3; 8. Assignment #4.