46-941
Software Design and Engineering using UML
Course Syllabus
Kevin Stolarick
Spring 2001 (Mini 3)
Course Objectives
This course addresses systematic ways to approach developing software, particularly in the critical early stages of requirement analysis and specification. The focus of this course will be on "what to make" rather than "how to make it". Although the primary development methodology to be taught will be the Unified Modeling Language (UML), traditional system development methodologies will also be discussed. At the end of the course the student will be able to model a system using UML that focuses on the user's needs and not the technology and that is based on correctly gathered and prioritized requirements.
Course Materials
Using UML. Software Engineering with Objects and Components (Updated Edition), 2000, Perdita Stevens with Rob Pooley, Addison-Wesley (S)
Bringing Design to Software, Terry Winograd, 1996, ACM Press. (W)
Other course readings and materials provided in class.
Course Web Page: www.gsia.cmu.edu/46-941
On Reserve in Hunt Library
The Design of Everyday Things, Donald Norman
Computing Catastrophes, Robert L. Glass
Computing Shakeout, Robert L. Glass
Software Runaways, Robert L. Glass
Crash: Learning for the World's Worst Computer Disasters, Tony Collins
Software Failure: Management Failure, Stephen Flowers
Schedule
Monday, 6:00pm – 9:30pm
Porter Hall 225B
Grading
Homework 35%
Final 30%
Project 25%
Presentation 5%
Class Participation 5%
Homework:
Homeworks will be handed out in class and are due at the beginning of class on the dates specified below. Teams of up to 4 people can complete the homeworks. The same team should complete all six homeworks. A single system will be used throughout the entire course with each homework building on the ones completed prior to it. Each person’s individual grade will reflect the results of two peer evaluations completed by his/her teammates.
HW # |
Description |
Due |
1 |
Preliminary Study |
1/22 |
2 |
Use Cases - CRC Cards |
1/29 |
3 |
System Design; Scope |
2/5 |
4 |
Project Planning and Management |
2/12 |
5 |
Object Modeling |
2/19 |
6 |
Process Diagrams |
2/26 |
Final:
The final will be comprehensive. Details will be discussed in class.
Project:
The project will be an individual effort. Details on the project will be handed out and discussed in class. Brief, in-class presentations will be done on February 26.
Presentation:
Chapters from the Winograd book (and possibly the Stevens book) will be randomly assigned. Each person should prepare a 15-20 minute presentation that consists of:
(1) review of the assigned chapter(s)
(2) review of the profile at the end of the chapter
(3) example of a "well designed" web site or software package
(4) reasons why you consider it "well designed"
Class Participation:
Quality contributions, such as providing examples that illustrate techniques, raising new questions, directions or insights, discussing implications, etc., are valued. In order to make quality contributions and receive the full 5% for individual participation, you will need to attend class regularly, read and analyze the assigned material, and actively participate in class discussions. Class participation will also be partly based on the in-class exercises, some of which will be collected. No score will be given for the in-class exercise, but it will be noted that the exercise was completed and turned in.
The presentation, project, and the final are to be individual work.
Office Hours
Regular office hours will not be set unless a need for them arises. However, I will be in the classroom 1/2 hour prior to the start of class.
I can be contacted any of the following ways:
email: kms@andrew.cmu.edu
Office: 208G Porter Hall (SDS Office)
Home: 244-8196
Email is the best way to contact me as I check it several times a day.
Regrading Policy
If you believe something was graded incorrectly, you may request that it be regraded. To do this, resubmit the assignment in question with a written explanation of your arguments. The entire homework or project is subject to regrading and not just the specific item in question.
46-941
Software Design and Engineering using UML
Course Calendar
Date |
Material |
Reading |
1/15 |
Review syllabus; Discuss project and teams Overview of course; Business Focus Software Failures Overview of system development; cost of changes Modeling - purpose, use, intent Analysis - collecting and identifying requirements Handout: TVList.com Handout: Homework #1 - Preliminary Study Handout: Project Overview |
S 1 W Intro, 1, 2 |
1/22 |
Traditional Methodologies: waterfall, prototyping, RAD, incremental, spiral, concurrent development, formal methods Object-Oriented Development Methodologies - UML: history, overview, UML views Use Cases CRC (Class-Responsibility-Collaborator) Cards Due: Homework #1 Handout: Homework #2 - Use Cases |
S 4, 7, 8, 5.6 W 3, 4 |
1/29 |
System Design - Good Design Business Process Reengineering (BPR); "Eliminate Don't Automate" What to make vs. how to make it Technology vs. Problem Solution Project Planning and Management SEI's Capability Maturity Model Due: Homework #2 Handout: Homework #3 - System Design |
W 5, 6 |
Date |
Material |
Reading |
2/5 |
Object Model (Static View) - Basic Elements Due: Homework #3 Due: Overview of Topic for Project Due: Peer Review of Homework Team Handout: Homework #4 - Project Planning & Management |
S 5 W 7, 8 |
2/12 |
Object Model (Static View) - Relational Elements Due: Homework #4 Handout: Homework #5 - Object Modeling |
S 6 W 9, 11 |
2/19 |
Object Model (Process Views): state transition diagrams, activity graphs, sequence diagrams Due: Homework #5 Handout: Homework #6 - Process Diagrams |
S 9, 10, 11, 12 W 10, 12 |
2/26 |
Reuse, Testing and Implementation Project Presentations Review for Final Due: Homework #6 Due: Written Project Due: Presentation Reviews |
S 18, 19, 20 W 13, 14, Reflection |
3/5 |
Final Due: Peer Review of Homework Team Handout: Final |
|
|
|