Chapter 1, Introduction To Software Engineering

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 29

C

o
n
q
u
e
r
i
n
g

C
o
m
p
l
e
x

a
n
d

C
h
a
n
g
i
n
g

S
y
s
t
e
m
s

O
b
j
e
c
t
-
O
r
i
e
n
t
e
d

S
o
f
t
w
a
r
e

E
n
g
i
n
e
e
r
i
n
g


Chapter 1,
Introduction to
Software Engineering
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 2
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

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 3
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.

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 4
Lecture Overview
Introduction
Objectives of Course
Project
STARS System Problem Statement
Top Level Design
Syllabus
Introduction of People
Administrative Matters

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 5
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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 6
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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 7
How can we accomplish this?
Course Project
STARS: Sticky Technology for Augmented Reality Systems
The 4 Rs:
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

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 8
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

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 9
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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 10
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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 11
Problem Statement
Customer Presentation:
Mark Kramer
Raymond LeBeau
Online Version:
http://sierra.se.cs.cmu.edu/STARS/
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 12
STARS Problem Statement:
Sticky Technology for Augmented Reality Systems
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 13
Authoring
Workflow
Inspection
Notification
AirplaneModel
Software
Bus
Repair
Augmented Reality
Basic Software Architecture for STARS Project

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 14
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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 15
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.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 16
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.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 17
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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 18
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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 19
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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 20
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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 21
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
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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 22
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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 23

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 24
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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 25
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
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 26
What you want to avoid
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 27
If you are successful, you get this
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 28
Fill out your registration form
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 29
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

You might also like