340x Filetype PDF File size 0.12 MB Source: engineering.csuohio.edu
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.
By the end of the course you should:
1. understand the differences between the structured paradigm and the object-
oriented paradigm in software development
2. 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.
3. be able to design, manage and implement a computer-based software system
using the OO software engineering approach in a group setting
Text:
1. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and
Design and the Unified Process, 3rd Edition, Craig Larman, Prentice-Hall
2. Software Requirements, 2nd Edition, Karl E. Wiegers, Microsoft Press
These two books are available in CSU Tech Books Online reference
References:
1. Requirements engineering: processes and techniques, G.Kotonya and,
I.Sommerville, 1998, Wiley
2. Design Patterns, E.Gamma, R. Helm, R. Johnson, and J. Vlissides
3. The Unified Modeling Language Reference Manual, J. Rumbaugh, I.Jacobson
and G. Booch, Addison Wesley
4. OO design, Java, C++ Vince Huston website: http://www.vincehuston.org/
Course Outline:
Week Topics Reading
Wk 1-2 Class Introductions/What this Course is About L 1,2
8/26-9/8 Software Development Processes
-Agile, UP, XP
Core Object-oriented concepts
Wk 3 Requirement Analysis W 5,6,8,10,12
9/9-9/15 Use Case Modeling L 3,4,5,6,7,30
handouts
Part III Elaboration iteration 1
Wk 4 Domain Model L 8, 9
9/15-9/22 Analysis by Norm Lists and Use Cases-A Case L 32
Study Handouts
Domain Model Refinement UML Tutorial
Wk 5-6 System Behavior L10,11,29,31,32
9/23-10/6 System Sequence Diagrams
Contacts
State Diagrams
Object Design--UML diagrams Interaction L 14,15
Diagrams
Wk 7-8 UML class diagrams and GRASP principles L 16,17
10/7-10/20 Visibility and Class Design
Mapping Design to Code L 19,20,21,25
Midterm Exam
Part IV Elaborative Iteration 2
Wk 9 Object Design Principles Handouts
10/21- 10/27 Introduction to Design Pattern L 26
MVC Pattern
GoF patterns I
Wk 10 GoF patterns II L 26
10/28-11/3
Part V Elaboration Iteration 3
Wk 11 UML Activity Diagrams and State Transitions L 28, 29
11/4-11/10 Diagrams
Wk 12 Nv.12 (Tuesday, Veteran Day, no Class)
11/11-11/17 Architectural Analysis L33
Wk 13 Architecture refinement & more object 34
11/18-11/24 More GoF patterns L 35
Wk 14 Package Design Principles L 36, 37
11/25-12/1 UML Deployment And Component Diagrams
Wk 15 Class Review
12/2-12/8 Presentations
Wk 16 Final Exam
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.
no reviews yet
Please Login to review.