360 likes | 876 Views
Chapter 1, Introduction to Software Engineering. Software Engineering. Software systems are complex Impossible to understand by a single person Many projects are never finished: "vaporware" The problem is arbitrary complexity 1968 Definition:
E N D
Software Engineering • Software systems are complex • Impossible to understand by a single person • Many projects are never finished: "vaporware" • The problem is arbitrary complexity • 1968 Definition: • Software Engineering means the construction of quality software with a limited budget and a given deadline • Our definition: • Software Engineering means the construction of quality software with a limited budget and a given deadline in the context of constant change • Emphasis is on both, on software and on engineering
Course format • A Single Semester Course • Lectures: Theoretical foundations and background • Project: Learn how to apply them in practice • Lectures and Project work are interleaved • A Single Project Course • Everybody is working on the same project • Cheating Rule for 15-413 • You cheat if you do not acknowledge the contribution made by others.
Lecture Overview • Introduction • Objectives of Course • Project • STARS System Problem Statement • Top Level Design • Syllabus • Introduction of People • Administrative Matters
Objectives of this course • Acquire technical knowledge • Understand difference between program and software product • Be able to reconstruct the analysis and design of an existing software system • Be able to design and implement a subsystem that will be part of a larger system • Acquire managerial knowledge • produce a high quality software system within budget & time • while dealing with complexity and change
Emphasis is on team-work • Participate in collaborative design • Work as a member of a project team, assuming various roles • Create and follow a project and test plan • Create the full range of documents associated with a software product • Complete a project on time
How can we accomplish this? • Course Project • STARS: Sticky Technology for Augmented Reality Systems • The 4 R’s: • Real Problem: Increasing cost for producing and accessing technical manuals in F-18 airplanes • Real Client: Lt. Matt Herl, F-18 Program Office, Mark Kramer, Raymond LeBeau from Navy Carderock Lab. • Real Data: Technical manuals, components and databases provided by F-18 Program Office. • Real Deadline: 9 December 1999
Assumptions and Requirements for this Class • Assumption: • You are proficient in a programming language (Java preferred), but have no experience in analysis or design of a system • You have access to a Web Browser • Course Homepage: http://sierra.se.cs.cmu.edu/STARS • Requirements: • You have taken one of the required courses (Compiler Construction, Operating Systems or Artificial Intelligence) • or • You have practical experience with maintaining or developing a large software system
Project Goals • Attempt to reduce the cost of logistics support and maintenance while improving or at least maintaining current aircraft readiness. • Implementation of two major processes: • Developing & managing interactive electronic technical manuals • Performing maintenance with advanced capability IETMs. • Demonstration of a conceptual prototype
Project Management • Coaches: • Bernd Bruegge, Bill Scherlis: Architecture Team • Grace Ritter: Authoring and Work Flow Teams • David Garmire: Modeling Team • Eric Stein: Augmented Reality Team • Zia Syed, Tom Hawley: Inspection Team • Pooja Saksena, Tom Hawley: Repair Team • Communication Infrastructure • Joyce Johnstone (Lotus Notes) • Consultants: • HCI: Jane Siegel, Elaine Hyder, Jack Mofett • Client Liaison: Dick Martin
Problem Statement • Customer Presentation: • Mark Kramer • Raymond LeBeau • Online Version: • http://sierra.se.cs.cmu.edu/STARS/
STARS Problem Statement: • Sticky Technology for Augmented Reality Systems
Basic Software Architecture for STARS Project Workflow Authoring Augmented Reality Inspection Notification Software Bus Repair AirplaneModel
STARS Subsystems • Authoring subsystem: Provides the capability to author and annotate IETMS which can be viewed with a web-based display tool. Interfaces to existing commercial products ACS and AIMSS that provide part of the required functionality. • Work flow subsystem: Provides a review and quality control process for IETM documents submitted by authors. The subsystem also detect changes in IETM documents and notifies the author. The subsystem also notifies mechanics when work orders have been created for them. • Modeling subsystem: Allows authoring of a description of an F18 airplane with a CAD tool, providing different views, such as a wireframe view, that can be overlaid on the real airplane
STARS Subsystems • Augmented reality subsystem: Provides location information of the airplane with respect to the mobile mechanic performing the maintenance. • Inspection subsystem: provides the capability to do an inspection based on IETM documents. The mechanic adds an annotation ("virtual sticky") to the repair location, by pointing to a specific location at the airplane. • Repair subsystem: provides the capability to perform maintenance procedures described in a work order. Locates the stickies associated with a specific airplane, and to perform the maintenance procedure interactively by using voice input and output. • Notification subsystem: provides a publisher/subscriber mechanism for subscribes of documents and work orders.
Subsystems and Teams • STARS will be developed in a team-based approach • Each subsystem in the software architecture will be mapped on a team • You will be member of one or more teams • Development team (Authoring, Workflow, Modeling, Augmented reality, Inspection, Repair) • Crossfunctional team (Architecture) • You can give us your team preferences when your register for the project. • Deadline: Thursday, Aug 26, 6 pm • Team selection is done by project management and will be announced in class, Tuesday August 31.
Project Milestones • See http://sierra.se.cs.cmu.edu/STARS/schedule.html • External Milestones (with client) • Aug 24: Client Presentation • Nov 5: System Design Review • Dec 9: Client Acceptance Test • Internal Milestones (with project management) • Aug 31: Announcement of Teams • Oct 26&28: Analysis Review • Nov 30: Object Design Review • Dec 7: Dry run of Client Acceptance Test
Client Acceptance Milestone • The STARS system must be successfully demonstrated on Dec 9, 1999 ( “15-413 Final”) • The acceptance criteria are established in a dialog with the client during the requirements analysis phase • The STARS system will be delivered with the following artifacts on a CD-ROM • Requirements Analysis Document • System Design Document • Object Design Document • Test Manual • Source Code Depot
Textbooks • Textbook (Required) • Bernd Bruegge and Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems, Prentice Hall, 1999. • Available from CMU Bookstore on Oct 1. • Optional Readings • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Design Patterns, Addison-Wesley, 1996, ISBN 0-201-63361-2 • Ivar Jacobson, M. Christerson, P. Jonsson, G. Övergaard, "Object-Oriented Software Engineering" , Addison Wesley, 1992 • Grady Booch, "Object-Oriented Design with Applications", Benjamin Cummings, 1991. • James Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen, Object-Oriented Modeling and Design, Prentice Hall, 1991
Readings • Additional readings in syllabus • Check Readings in Course Syllabus on the course home page • Readings due on day of class • Readings not in the textbooks will be made available a week before the lecture • Reading for Thursday: Chapter 2 • Available as hard copy and on the web
Grading • Project • Process and associated deliverables: 35 points • Communication: 10 points • System integration and system delivery: 20 points • Lectures • 4 homeworks : 5 points for each of 4 homeworks • Quizzes: 15 points • Standards • A: 90+ • B: 75-89+ • C: 56-74 (including at least 20 points from lectures and 40 points from project) • D: 40-55, or 56-74 with wrong proportion of lecture and project points • R: less than 40
What do you have to do right now? • Access the STARS homepage • http://sierra.se.cs.cmu.edu/STARS • Read the problem statement: • http://sierra.se.cs.cmu.edu/STARS/docs/STARS_ProblemStatement.html • Register for the project: • http://konablend.se.cs.cmu.edu/STARS/registration.nsf • Change your password • Deadline for registration is August 26, 6pm
Electronic Communication • Web Page: http://sierra.se.cs.cmu.edu/STARS • Course bboards: • Announce: For course announcements • Discuss: For discussion of topics relevant for everyone • Help: 24 hour help desk • Client: Communication with the client • Team Bboards: • Discussion of issues relating to the subsystem developed by the team. • Daily access to these bboards is required. • Access to bboards is restricted to registered students and students on the waiting list: • User Name: Firstname Lastname • Password: First 8 digits of Lastname (if necessary padded with 123…) • Example: Password for “Zia Syed” is “Syed1234”
Login into the STARS intranet • Access to bboards is restricted to registered students and students on the waiting list: • User Name: Firstname Lastname • Password: First 8 digits of Lastname (if necessary padded with 123…) • Example: Password for “Zia Syed” is “Syed1234” • Note: Password is case sensitive
If you need help • Questions about Passwords, Logging into the Bboards, Accessing the Home page: • Joyce Johnstone (jdarej@cs.cmu.edu), x3803 • Before noon: Smith Hall 120 • Afternoon: BOM, Building D 154 • Questions about the Course • Bernd Bruegge (WeH 4123): August 26 after class • Send mail to bruegge@cs.cmu.edu • Post your question on the Help bboard • Read the Help Bboard as well