CS 319 Object-Oriented Software Engineering Fall 2017
Section(s) 1 U. Dogrusoz 2,3 B. Güngören
Description & Prerequisites A course on principles of object-oriented software development, CS 102 & CS 201
Objectives
  • Learn basics of the software engineering (SE) process life cycle.
  • Learn what the object-oriented (OO) approach to software development is, through OO principles and design patterns.
  • Learn UML (Unified Modeling Language) that is part of most CASE (Computer Aided Software Engineering) tools and the benefits of visual modelling / diagramming.
  • Practice the application of principles of object-oriented software development through the course group project.
  • Develop teamwork and communication skills through the course group project.
Resources Introduction
Slides (textbook slides as modified by UD in the order covered)
UML UML Sample Notation - Quick Reference - Reference Card (version 1.4!) -

Design Patterns Slides from past years - Examples - Examples

Testing Documentation with an example

Software Reuse Class reuse example

CASE Tools
Mockup Tools
Outline Getting Started
  • Intro to SE (Chapter 1)
  • Modeling w/ UML (Chapter 2)
  • Project Organization and Communication (Chapter 3 Sections 3.1 - 3.3)
Dealing w/ Complexity
  • Requirements Elicitation (Chapter 4)
  • Analysis (Chapter 5)
  • System Design (Chapters 6 & 7)
  • Object Design (Chapters 8 & 9)
  • Mapping Models to Code (Chapter 10)
  • Testing (Chapter 11)
Grading
Grading Criteria:
Component Weight
Attendance/Quiz/Assignment 20
Project 40
Midterm (Nov 11, 9:30, EB 101,2,3,4,201,2) 15
Final (Jan ??, ??, EB ??) 25
Those students who fail to get a minimum of 30 (out of 75) points from the weighted average of the total grades (attendace/quiz/assignment, project, midterm exam) before the final exam will get the grade FZ. For instance, A/Q/A: 5/10, P: 20/100, M: 40/100 (0.2 * 50 + 0.4 * 20 + 0.15 * 40 = 24) fails, whereas, A/Q/A: 8/10, P: 30/100, M: 40/100 (0.2 * 80 + 0.4 * 30 + 0.15 * 40 = 34) will take the final exam.
Textbooks Required
  • Object-Oriented Software Engineering, Using UML, Patterns, and Java, 3rd Edition, by Bernd Bruegge and Allen H. Dutoit, Prentice-Hall, 2010, ISBN-10: 0136066836.
Recommended
  • Applying UML and Patterns - An Introduction to Object-Oriented Analysis and Design and Iterative Development, by Craig Larman, Prentice Hall, 2004, ISBN: 0-13-148906-2. resources
  • Object-Oriented Software Engineering, by Timothy C. Lethbridge and Robert Laganiere, McGraw-Hill, 2001, ISBN: 0-07-709761-0. resources
  • Developing Software with UML, Object-Oriented Analysis and Design in Practice, by Bernd Oestereich, Addison-Wesley, 1999, QA76.9.03503713 1999.
  • Object-Oriented Analysis and Design with Applications, 2nd ed., by G. Booch, Benjamin/Cummings, Redwood City, CA, 1994, QA76.64.B66 1994.
  • Principles of Object-Oriented Software Development, by Anton Eliens, Addison-Wesley, 1995, ISBN: 0-201-62444-3.
Announcements
Projects Description - Groups - Demo Schedule

Template for reports

Date Assignment
Week of Dec 18 Project Demos
Dec 17 Project Peer Grades
Dec 16 Iteration 2 - Final Report
Dec 15 Project Demo Appointment
Dec 02 Iteration 2 - Project Design Report
Nov 18 Iteration 2 - Project Analysis Report
Week of Nov 06 Midterm Exam
Nov 04 Iteration 1 - Project Final Report
Oct 21 Iteration 1 - Project Design Report
Oct 07 Iteration 1 - Project Analysis Report
Sep 27 HW 1 due (submit as hard copy to your TA by 17:00. Section 1: Hasan Balci, EA 525)
Sep 23 Choice of project, Github project created and home page done!
Sep 20 Project groups announced

Sample Projects These are sample projects from past years. In no way, do we claim that these projects are perfect! However, they were all among better projects of that particular semester.


Fall 2017 Section 1

Instructor: Ugur Dogrusoz
Office, Hours: EA-522, Wed, Thu AM Classroom, Hours: EA-Z03, Mon, Wed AM
TAs, Office Hours: Hasan Balci, EA 525, Thu 13:40-15:30
Grading 20% of the course grade will be based on pop-quizzes given during lecture hours and homework assignments.
Announcements We will be using the spare hours for the first two weeks!