COURSE UNIT TITLE

: OBJECT ORIENTED ANALYSIS AND DESIGN

Description of Individual Course Units

Course Unit Code Course Unit Title Type Of Course D U L ECTS
CME 2210 OBJECT ORIENTED ANALYSIS AND DESIGN COMPULSORY 2 2 0 6

Offered By

Computer Engineering (English)

Level of Course Unit

First Cycle Programmes (Bachelor's Degree)

Course Coordinator

ASSOCIATE PROFESSOR SEMIH UTKU

Offered to

Computer Engineering (English)

Course Objective

" The aim of the course is to teach analysis and design methods and techniques on an object-oriented approach based on information systems. The main goal is to carry out studies to understand the techniques and methods of object-oriented analysis, design and programming that contribute to a safer, more reliable system. This course is structured to follow a general software development process that focuses on analysis and design aspects."

Learning Outcomes of the Course Unit

1   Develop a working understanding of general object-oriented analysis and design processes,
2   To be able to analyze real world information systems and apply different methods,
3   Describe how a system interacts with its environment,
4   Develop the skills to determine which processes and OOAD techniques should be applied to a given project,
5   Develop an understanding of the application of OOAD practices from a software project management perspective,
6   Know how to use UML for notation

Mode of Delivery

Face -to- Face

Prerequisites and Co-requisites

None

Recomended Optional Programme Components

None

Course Contents

Week Subject Description
1 Introduction to Object Oriented Programming. Introduction to Object Technology Principles of Object Orientation Introduction to Java, Data Types, Program Flow, Classes and Objects
2 Object-Oriented Concept Overload and Override methods, Reuse the code in a class through inheritance, Use polymorphism to deal with objects in different forms, Organize objects in packages.
3 Object Design and Programming with Java - 1 Inheritance, Encapsulation, Polymorphism, Method Overriding, Code Examples & Exercises
4 Object Design and Programming with Java - 2 Java Exception Handling, Java Collections API
5 Introducing Modeling and the Software Development Process Describe the Object-Oriented Software Development (OOSD) process Describe how modeling supports the OOSD process Describe the benefits of modeling software Explain the purpose, activities, and artifacts of the following OOSD workflows (disciplines): Requirements Gathering, Requirements Analysis, Architecture, Design, Implementation, Testing & Deployment
6 Fundamentals of Business Modeling Introduction to Business Modeling Using the Unified Modeling Language Business Modeling Process From Business Models to System Models Project Examples
7 Object-oriented analysis with UML Modeling System Behavior with Use Cases Analysis and Design Overview Architectural Analysis Distribute Behavior to Classes Describe the Analysis Class Review the Analysis Model
8 Object-oriented design with UML Identify Design Elements Identify design mechanisms Incorporate Existing Design Elements Describe the Run-time Architecture Describe Distribution Patterns Use-Case Design
9 Refining the Class Design Model Subsystem Design Class Design: Class Structure, modeling states, class relationships Implementation overview Structure the implementation model
10 Object-Oriented Analysis Case Study
11 Modeling Object State Using State Machine Diagrams Model object state Describe the essential elements of a UML State Machine diagram
12 Applying Design Patterns to the Design Model Define the essential elements of a software pattern Describe the Composite pattern Describe the Strategy pattern Describe the Observer pattern Describe the Abstract Factory pattern
13 Self Study, Examination
14 Object Oriented Programming Review

Recomended or Required Reading

Textbook:
* Object-Oriented Analysis and Design with Applications (3rd Edition) Grady Booch, Robert A. Maksimchuk, Michael W. Engle , Bobbi J. Young, Jim Conallen, Kelli A. Houston, ISBN-10: 020189551X
* Design Patterns: Elements of Reusable Object-Oriented Software Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Grady Booch ISBN-10: 0201633612
Complementary Books:
* Code Complete: A Practical Handbook of Software Construction, Second Edition 2nd Edition
Steve McConnellISBN-10: 0735619670
* Object Design: Roles, Responsibilities, and Collaborations Rebecca Wirfs-Brock, ISBN-10: 0201379430

References:
Other course materials:

* Core Java Vol 1 - Fundamentals, 9th Edition. Horstmann & Cornell. Prentice Hall.
* Thinking in Java. 4th Edition. Eckel. Prentice Hall.

Planned Learning Activities and Teaching Methods

Lectures
Presentation
Lab
Homeworks
Project

Assessment Methods

SORTING NUMBER SHORT CODE LONG CODE FORMULA
1 MTE MIDTERM EXAM
2 ASG ASSIGNMENT
3 FIN FINAL EXAM
4 FCG FINAL COURSE GRADE MTE * 0.20 + ASG * 0.30 + FIN * 0.50
5 RST RESIT
6 FCGR FINAL COURSE GRADE (RESIT) MTE * 0.20 + ASG * 0.30 + RST * 0.50


Further Notes About Assessment Methods

In-semester studies will be evaluated with a midterm exam and project / homework activities. There will four homework assignments. Each one will make up a various percentage of the weight of the total homework assignments.The final exam will cover all course topics.

Assessment Criteria

Optional, if the instructor needs to add some explanation or further note, this column can be selected from the DEBIS menu.

Language of Instruction

English

Course Policies and Rules

Optional, if the instructor needs to add some explanation or further note, this column can be selected from the DEBIS menu.
1. Already have programming experience in any language or Java development experience is preferable. Students planning to enroll in this course should be familiar XML. Additionally, prior to the course, it would be helpful if you could become familiar with features Eclipse IDE.
2. Participation is mandatory (%70 theoretical courses and 80% practices).
3. Instructor reserves the right to quizzes. Notes should be added to these examinations, midterm and final

Contact Details for the Lecturer(s)

Yrd.Doç.Dr. Semih UTKU
Dokuz Eylül Üniversitesi
Bilgisayar Mühendisliği Bölümü
Tınaztepe Yerleşkesi 35160 BUCA/IZMIR
Tel: (232) 301 74 28
E-Posta: semih@cs.deu.edu.tr

Office Hours

Thursday 13:00 - 17:00

Work Placement(s)

None

Workload Calculation

Activities Number Time (hours) Total Work Load (hours)
Lectures 14 2 28
Tutorials 14 2 28
Preparations before/after weekly lectures 7 2 14
Preparation for midterm exam 1 6 6
Preparation for final exam 1 8 8
Preparation for quiz etc. 0
Preparing assignments 4 8 32
Preparing presentations 1 10 10
Other activities within the scope of the atelier pratices 1 20 20
Final 1 3 3
Midterm 1 2 2
TOTAL WORKLOAD (hours) 151

Contribution of Learning Outcomes to Programme Outcomes

PO/LOPO.1PO.2PO.3PO.4PO.5PO.6PO.7PO.8PO.9PO.10
LO.1343
LO.2454444
LO.3434
LO.433554
LO.53344
LO.653