Cleveland State University Department of Electrical Engineering and Computer Science  

advertisement
Cleveland State University
Department of Electrical Engineering and Computer Science
CIS 634 Object-Oriented Software Engineering
Catalog Data:
CIS 634 Object-Oriented Software Engineering(4-0-4)
Pre-requisite :CIS 368 or Instructor's Consent
Course Description and Objectives:
Practical development of software requires an understanding of successful
methods to bring a problem to be solved to a working software system. The focus
of architecture-based ad Object-oriented software development has shown
tremendous potential to improve the current state-of-the-art in software
development and alleviate many of its problems.
This course will expose you to the concepts, principles, and methods in software
architectures, and object-oriented software engineering. A project will give you
an opportunity to apply the knowledge acquired from this course by undertaking
the development of a small scaled software system.
1.
2.
3.
By the end of the course you should:
understand the differences between the structured paradigm and the objectoriented paradigm in software development
understand the concepts, principles, and state-of-the-art methods in software
architectures and its relationship to other areas of software engineering,
specifically requirements, OO analysis and design, and implementation.
be able to design, manage and implement a computer-based software system
using the OO software engineering approach in a group setting
Text:
1.
2.
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and
Design and the Unified Process, 3rd Edition, Craig Larman, Prentice-Hall
Software Requirements, 2nd Edition, Karl E. Wiegers, Microsoft Press
These two books are available in CSU Tech Books Online reference
References:
1.
2.
3.
4.
Course Outline:
Week
Wk 1-2
8/26-9/8
Requirements engineering: processes and techniques, G.Kotonya and,
I.Sommerville, 1998, Wiley
Design Patterns, E.Gamma, R. Helm, R. Johnson, and J. Vlissides
The Unified Modeling Language Reference Manual, J. Rumbaugh, I.Jacobson
and G. Booch, Addison Wesley
OO design, Java, C++ Vince Huston website: http://www.vincehuston.org/
Wk 3
9/9-9/15
Topics
Class Introductions/What this Course is About
Software Development Processes
-Agile, UP, XP
Core Object-oriented concepts
Requirement Analysis
Use Case Modeling
Part III Elaboration iteration 1
Reading
L 1,2
W 5,6,8,10,12
L 3,4,5,6,7,30
handouts
Wk 4
9/15-9/22
Wk 5-6
9/23-10/6
Wk 7-8
10/7-10/20
Wk 9
10/21- 10/27
Wk 10
10/28-11/3
Wk 11
11/4-11/10
Wk 12
11/11-11/17
Wk 13
11/18-11/24
Wk 14
11/25-12/1
Wk 15
12/2-12/8
Wk 16
Domain Model
Analysis by Norm Lists and Use Cases-A Case
Study
Domain Model Refinement
System Behavior
System Sequence Diagrams
Contacts
State Diagrams
Object Design--UML diagrams Interaction
Diagrams
L 8, 9
L 32
Handouts
UML Tutorial
L10,11,29,31,32
UML class diagrams and GRASP principles
Visibility and Class Design
Mapping Design to Code
Midterm Exam
Part IV Elaborative Iteration 2
Object Design Principles
Introduction to Design Pattern
MVC Pattern
GoF patterns I
GoF patterns II
L 16,17
Part V Elaboration Iteration 3
UML Activity Diagrams and State Transitions
Diagrams
Nv.12 (Tuesday, Veteran Day, no Class)
Architectural Analysis
Architecture refinement & more object
More GoF patterns
Package Design Principles
UML Deployment And Component Diagrams
Class Review
Presentations
Final Exam
L 14,15
L 19,20,21,25
Handouts
L 26
L 26
L 28, 29
L33
34
L 35
L 36, 37
L:"Applying UML and Patterns: An Introduction to Object -Oriented Analysis and Design and the
Unified Process", 3rd Edition, Craig Larman, Prentice-Hall
W: "Software Requirements," 2nd Edition, by Karl E.Wiegers
Course Organization : In order to cover the basic techniques, and to understand future directions, there
will be two major parts to the courses:
1. Techniques in OO software engineering in general, and OO systems analysis and design in
particular. It is assumed that you are familiar with a OOP language such as Java.
2. Group Project. This involves the carrying through of a project from specification through
implementation and testing, documentation and user manual preparation.
Term Project:
You are to form Project teams of 4 students each(if you can not form a team on you own, then you will be
assigned to a team at the instructor's discretion).Each project team will be assigned a project by the
instructor. You may also select a project on your own subjected to the approval of the instructor. It has to
be a worthy OO application. You should get to know the people in your group as soon as possible or you
will find this difficult.
Individual work- Logs and Group assessment reports
(i)
You should keep a log of all the activities you have done on the project: when, what how much
time spent on each activity. Log will be turn in with the assessment report of your team members
as in (ii) below.
(ii)
Two assessment reports (midterm and final) of each member of your project team. You should
outline for each team member(including yourself) what was done him/her, and how you assess
their work.91/2 page per person)
These will be kept in confidence by me. As part of the homework, you will be graded based on how
perceptive and reasonable your comments are (5%).
Group work
Your project team will work with the users to produce a formal specification, procedure the analysis and
design, code a prototype, evaluate and refine the prototype and present a final product. Oral presentations
and discussions will be required at various points within the project(TBA.)
Student Work for Corse Portfolio
The instructor reverses the right to retain, for pedagogical reasons, either the original or a copy of your
work submitted either individually or as a group project for this class. Students' names will be deleted any
retained items.
Download