15-413 Software Engineering
Carnegie Mellon University
School of Computer Science
Handout 1
28 August 1998

Course Syllabus

Homepage: /projects/PAID/default.html

People

Instructor
E-mail
Office
Bernd Bruegge bruegge@cs.cmu.edu WeH 4123, 268-2567
Elizabeth Bigelow ebigelow@cs.cmu.edu WeH 4615, 268-8187
Coaches
Elaine Hyder elaine.hyder@commerce.ubc.ca
Robin Loh tloh@andrew.cmu.edu
Jack Moffet jmoffet@andrew.cmu.edu
Eric Stein es5f@@andrew.cmu.edu
Joyce Johnstone jdarej@cs.cmu.edu BOM 154, 268-3803
Russell Heywood heywood@andrew.cmu.edu
Secretary
Dorothy Zaborowsky daz+@ux2.sp.cs.cm.edu, Mo-Fri WeH 4116

Aside from office hours and weekly project meetings please feel free to stop by and make individual appointments.

Objectives

Upon completion of this course, a student should be able to:

  • Understand the difference between a program and a software product.
  • Apply model-based software engineering techniques.
  • Understand iterative and incremental development.
  • Reconstruct the analysis and design information in an existing software system.
  • Design and implement a module that will be integrated into a larger system.

Each student will have demonstrated the ability to

  • Work as a member of a project team, assuming various roles as necessary,
  • Create and follow project plans and test plans,
  • Create the full range of documents associated with software products,
  • Complete a project on time.

Administrative Matters

Meeting Times

First class: Tuesday, Aug 25, 1998

Class meetings: Tuesdays and Thursdays 9:00 - 10:20

  • August 25 - September 10: Scaife Hall 220
  • September 15 - December 10: WeH 5409

Project Meeting: Weekly arranged by each team.

Client Acceptance Test: Dec 10

Textbook

Required :

Bernd Bruegge, Allen Dutoit: "Model-Based Software Engineering- A Project-Oriented Approach", online script. Chapters will be online and are given out during the course.

[Gamma 96] E. Gamma, R. Helm, R. Johnson, J. Vlissides: "Design Patterns", Addison-Wesley, 1996.

Recommended Readings ( Copies of selected pages will also be made available in the bin outside WeH 4116)

  • [Jacobsen 92] I. Jacobson, M. Christerson, P. Jonsson, G. Övergaard, "Object-Oriented Software Engineering" , Addison Wesley, 1992
  • [Booch 91] Grady Booch, "Object-Oriented Design with Applications", Benjamin Cummings, 1991. Ch. 1.
  • [Pfleeger 91] Sharie Pfleeger, "Software Engineering: The Production of Quality Software", MaxMillan Publishing Company, 1991. Ch. 9, 10 and 11.
  • [Otte 1996] "Understanding CORBA, The Common Object Request Broker Architecture", Prentice Hall, 1996
  • [Kayser 90] T. A. Kayers, "Mining Group Gold", Serif Publishing, 1990.
  • [IEEE 828] IEEE Standard for Software Configuration ManagementPlans, ANSI/IEEE Std. 828-1990.
  • [IEEE 1058] IEEE Standard for Software Project Management ANSI/IEEEStd.1058.1-1987.

Additional papers may be selected. Copies for readings are provided during the course.

Computing

The facilities in the Software Engineering Lab in Building D 154A are available only for the use in this course. In addition to the standard Andrew environment, many tools and applications specific for this course will be used. Please check /projects/PAID/support/courseInfo.html in the 15-413 home page for an accurate listing.

Grading

Process and Products

(40 Points)

  • Equal weight is given to each of the following activities and/or associated documentation: Project plan, requirements analysis (domain model, analysis object model), system design, object design, implementation, testing, user manual, installation guide, posting meeting agenda & minutes.
  • The documentation has to be developed in cooperation between technical writers and software developers.
Communication

(5 Points)

  • For a presentation given during one of the project reviews (analysis review, client review, object review, dry-run, acceptance test) or group meetings.
Delivery (20 Points)
  • If a complete product (working code and complete documentation) with negotiated functionality is delivered to the client.
Homework (20 Points)
  • 4 points for each of 5 homeworks.
Quiz (15 Points)
  • 1 point for each quiz on main points of reading at the beginning of each class (except project review classes).
Instructors' evaluation

(+/-10 Points)

Standards

  • A: 90+
  • B: 75-89
  • C: 56-74, including at least 20 points fromlectures and 40 points from project
  • D: 40-55, or 56-74 with wrong proportion of lectureand project points
  • R: less than 40

Course Schedule

The course schedule below will be updated as we progress through the semester. Check for the most up to date class schedule in the 15-413 home page.

Date/
Location
Topic Readings Homeworks Handouts Project Topic
Week 1

8/25
9:00 - 10:20
SH 220

Introduction:
Overview of course

What is Software Engineering?

Syllabus

 

Problem Statement

Week 1 Problem Statement,

Project Initialization

8/27
9:00 - 10:20
SH 220
Presentation of Problem Statement Top Level Design;
Team decomposition
Class Registration
Week 2

9/1
9:00 - 10:20
SH 220

Modeling with UML Bruegge & Dutoit Ch. 2 Week 2 Team Formation Mtg: Agendas/Minutes, Roles
9/3
9:00 - 10:20
SH 220
Requirements Elicitation
System Boundary, Use Case Modeling, Logical Modeling

 

Bruegge&Dutoit Ch. 6

 

 

 

Week 3

9/8
9:00-10:20
SH 220

Requirements Analysis: Object Modeling:
Object identification, classes, associations, attributes; Canonical associations;
Bruegge&Dutoit Ch. 7 Homework 1 Out

 

Week 3 Team Mtg:
Discussion of SPMP
9/10
9:00 - 10:20
SH 220
Requirements Analysis: Object Modeling II
Object identification, classes, associations, attributes; Canonical associations;
 Bruegge&Dutoit Ch. 7  

 

 

 

Week 4

9/15
9:00-10:20
WeH 5409A&B

Software Lifecycle

Process vs product
Software Lifecycle

 Bruegge&Dutoit Ch. 3 Sep 15, 6pm,Homework 1 Due Week 4 Team Mtg: Brainstorming on Use Cases
9/17
9:00 - 10:20
WeH 5409A&B
Configuration Mgt

(CVS, Perforce)

Homework 2 Out Tutorial
CVS
 

 

 

 

Week 5

9/22
9:00-10:20
WeH 5409A&B

Project Management: Activities, Planning: scheduling; tracking, IEEE 1058 Standard

 

 Bruegge&Dutoit Ch. 4, IEEE Std 1058  

 

SPMP Template Out Week 5 Team Mtgs: Brainstorming on Use Cases
9/24
9:00-10:20
WeH 5409A&B
CASE Tools

(Rationale Rose, Together-J)

Sep 24, 6pm Homework 2 Due; Tutorial
CASE Tool Together-J
Week 6

9/29
9:00-10:20
WeH 5409A&B

Advanced Project Management: Activities, Planning: scheduling; tracking, Sep 22, 6pm: SPMP Due

 

Week 6
 

10/1
9:00-10:20
WeH 5409A&B

Requirements Analysis: Dynamic Modeling Activity Diagrams, Requirements Analysis Bruegge&Dutoit Ch. 7  

 

RAD Template Out
Week 7

10/6
9:00-10:20
WeH 5409A&B

System Design I:
Decomposition into subsystems; System topology
Bruegge&Dutoit Ch 8 Week 7 Team Mtgs: Brainstorming on Objects

 

10/8
9:00-10:20
WeH 5409A&B
Design Patterns
Describing Design Patterns, Catalog of Patterns, Selection and usage
Gemma et al 96, Design Patterns, Ch. 1: pp 1 - 31
Midterm
Week 8

10/13
9:00-10:20
WeH 5409A&B

Design Patterns II
Patterns: Composite, Strategy, Decorator, Abstract Factory, BridgeCommand, Iterator, Visitor

 

Gemma et al 96, Design Patterns, Ch 2: pp 33 - 77

 

 

 

Week 8 Team Mtgs: System Design

 

10/15
9:00-10:20
WeH 5409A&B
System Design II:
Concurrency, Data management;Software control,Boundary conditions, System design document template

 

Bruegge&Dutoit Ch 8  

 

SDD Template Out  

 

 

 

 

 

Week 9

10/20

9:00-10:20
WeH 5409A&B

 

Prototyping

Discussion of examples from JAMES; Prototyping Heuristics;

Reading to be annouced October 20, 6pm: RAD Due

 

Week 9 Team Mtgs: System Design ctd

 

10/22
9:00-10:20
WeH 5409A&B
Analyis Review I
 

 

 

 

 

 

 

 

Week 10

10/27

9:00-10:20
WeH 5409A&B

Analysis Review II  Oct 27, 6pm, SDD Due; All sections except Section 9

 

Week 10 Team Mtgs: System Design I Document Editor Meeting: RAD Integration Issues
10/29
9:00-10:20
WeH 5409A&B
Object Design Algorithms,Control associations;Object representations;Packages   Rumbaugh Ch. 10

 

 PAID Prototypes Due

 

Week 11

11/3
9:00-10:20
WeH 5409A&B

Unit & Integration Testing: Integration strategies (top down, bottom up, sandwich); Black & white box testing; Regression testing;

 

 

Bruegge&Dutoit Ch. 10 Week 11 Team Mtgs: Object Design: Algorithms & Data structures, Optimizations
 

11/5
9:00-10:20
WeH 5409A&B

System Design Review  

 

 

 

Week 12

11/10
9:00-10:20
WeH 5409A&B

Design Rationale

 

Bruegge& Dutoit Ch. 9

 

 

 

Homework out: Section 9 of SDD Week 12 Team Mtgs: Implementation, Unit Testing

 

11/12
9:00-10:20
WeH 5409A&B
Middleware Reading TBA
Week 13

11/17
9:00-10:20
WeH 5409A&B

 Implementation Reading TBA  

 

Homework 3: Section 9 of SDD due Week 13 Team Mtgs: Implementation, Unit Testing

Tutorial: Software Development Environment

11/19
9:00-10:20
WeH 5409A&B
System Testing Delivery and Maintenance

 

Bruegge&Dutoit Ch 10 Test Manual Template Out
Week 14

11/24
9:00-10:20
WeH 5409A&B

 

 Object Design and Implementation Review

 

 

 

 Nov 23, 6pm: ODD due

Final Homework Out

 

Week 14 Team Mtgs: Implementation, Integation Testing

 

 

 

11/26

Thanksgiving Break  

 

Week 15

12/1
9:00-10:20
WeH 5409A&B

Guest Lecture Slot

 

 

Week 15 Team Mtgs: System Testing
12/3
9:00-10:20
WeH 5409A&B
Software Lifecycle Revisited
SEI CMM

 

 

Nov 20, 6pm, Unit Test Manual Due

 

Week 16

12/8
9:00-10:20
WeH 5409A&B

Client Acceptance Test Dryrun Dec 10, 4pm

System Test Manual Due

Dec 16, 6pm Final Homework Due

Week 16:

Client Acceptance Test Preparations

12/10
9:00-10:20
WeH 5409A&B
Client Acceptance Test




webmaster


This page is hosted by the Chair for Applied Software Engineering of the Technische Universität München.
Imprint (Impressum)