Object-Oriented Analysis and Design

Similar documents
Software Engineering

Object-Oriented Software Development Goal and Scope

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS

Lecture #2 on Object-Oriented Modeling

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

Engineering Design w/embedded Systems

The Unified Modeling Language (UML)

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION

BCS Higher Education Qualifications. Diploma in IT. Object Oriented Programming Syllabus

Introduction to Computational Modeling of Social Systems

Object Oriented Programming

Lecture 2: Software Engineering (a review)

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1

Software Engineering Lab Manual

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Class Diagrams in Analysis

BDSA Introduction to OOAD. Jakob E. Bardram

CHAPTER 1. Objects, UML, and Java

History of object-oriented approaches

Object-Oriented Design

Object-Oriented Design

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language?

Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz

Software Design And Modeling BE 2015 (w. e. f Academic Year )

SYLLABUS. 1. Information regarding the programme 1.1 Higher education Babeş-Bolyai University of Cluj-Napoca

MechEng SE3 Lecture 7 Domain Modelling

Research Review on Basic Principles of Unified Modelling Language

Introduction to Software Engineering. 5. Modeling Objects and Classes

PRINCIPLES OF SOFTWARE BIM209DESIGN AND DEVELOPMENT 00. WELCOME TO OBJECTVILLE. Speaking the Language of OO

Object-Oriented Design

UML Views of a System

Software Engineering

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

3.0 Object-Oriented Modeling Using UML

3D Graphics Programming Mira Costa High School - Class Syllabus,

Systems Analysis & Design

Credits Details of Sessional Marks ESM 5 (3-1- 2)

Object-Oriented Design

2D1358 Object Oriented Program Construction in C++ Exercises & Labs. Course Registration / Accounts. Course Literature

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

Software Development Methodologies

w3.ualg.pt/~jvo/poo

Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques. Version 03.s 2-1

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

DOWNLOAD OR READ : THE UNIFIED MODELING LANGUAGE UML98 BEYOND THE NOTATION BEYOND THE NOTATION FIRST INTERNATIONAL PDF EBOOK EPUB MOBI

SE203b: OO Design for Software Engineers. Office: TEB349, Ext

Software Engineering with Objects and Components 1 Overview

Course 3 7 March

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Spring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques

1 Introduction. 1.1 Introduction

Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks

MSO Lecture 1. Wouter Swierstra (adapted by HP) September 11, 2017

Programming Language Constructs as Basis for Software Architectures

UNIT-I Introduction of Object Oriented Modeling

Course Administration

CSC 111 Introduction to Computer Science (Section C)

Introduction to Software Engineering. 5. Modeling Objects and Classes

Object-Oriented Design

Review Software Engineering October, 7, Adrian Iftene

1 Reference Material for these slides is taken from many UML reference books. However, the two I most often used are: UML Explained, by Kendall Scott,

2. COURSE DESIGNATION: 3. COURSE DESCRIPTIONS:

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

CE221 Programming in C++ Part 1 Introduction

A Framework for Converting Classical Design to Reusable Design

Suggested answers are provided below. These answers are presented top-down, left to right.

White Paper. Rose PowerBuilder Link

ACRONYMS AND GLOSSARY

JOURNAL OF OBJECT TECHNOLOGY Online at Published by ETH Zurich, Chair of Software Engineering. JOT, 2002

Teaching Encapsulation and Modularity in Object-Oriented Languages with Access Graphs

02291: System Integration

Information Systems Development Methodologies

Formal Specification of Software Systems

Object Oriented Concepts and Programming (CSC244) By Dr. Tabbasum Naz

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML

Software Development. Modular Design and Algorithm Analysis

Introduction to Software Engineering. 6. Modeling Behaviour

COURSE OUTLINE. Faculty of Computing, Universiti Teknologi Malaysia

Contents(1) Basic Concepts to represent the world Basic Concepts for Reuse Information Hiding Principle and Java Program Superiority of OOT

Introduction to Information Systems (IS)

Software Service Engineering

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

EVALUATION COPY. The Unified Modeling Language. Unauthorized reproduction or distribution is prohibited. Student Workbook

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)

CMPE/SE 135 Object-Oriented Analysis and Design

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department

Object Oriented Programming

INCORPORATING ADVANCED PROGRAMMING TECHNIQUES IN THE COMPUTER INFORMATION SYSTEMS CURRICULUM

Requirements Modeling

Compulsory course in Computer Science

Software Reengineering P1: Intro & Organization. Martin Pinzger Delft University of Technology

Object-Oriented Programming for Managers

CSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor

Requirements Analysis and Negotiation

Transcription:

0. Object Orientation: An Subject/Topic/Focus: over this lecture Summary: Lecturer, lecture, rooms, assistants, lab classes, credit points... Need for systems analysis and software engineers Literature and recommended readings Topics covered by this lecture Object-Oriented Development: Java Object-Oriented Analysis and Design: UML 0.1 Lecturer: Subject: Object-Oriented Analysis and Design Prof. Dr. J.W. Schmidt Software Systems (STS) Harburger Schloßstraße 20 Phone: 040 / 42878-3460 Object-Oriented Development in Java Object-Oriented Analysis and Design using UML Schedule: Lecture: Tuesday, 12:15h-13:45h, ES38-007 Labs: Monday, 15:15h-16:45h, Harburger Schloßstraße 20, Room 014, CIP Pool 2b Assistants: Claudia Niederee (Java) Phone: 42878-2929, Room: 223 email: c.niederee@tu-harburg.de 2 Exams: Java: 2 credit points UML: 2 credit points Michael Skusa (UML) Phone: 42878-2795, Room: 207 email: skusa@tu-harburg.de http://www.sts.tu-harburg.de/teaching/ws-99.00/ooa+d/entry.html 0.2 0.1

The Tar Pit No scene from prehistory is quite so vivid as that of the mortal struggles of great beasts in the tar pit. Large-system programming has over the past decade been such a tar pit [Frederick P. Brooks. jr; The mythical man-month, Addison-Wesley, 1972] 0.3 The Good News Many jobs available under labels such as systems analyst, database administrator, applications programmer, information officer,... List of employers offering such jobs includes management consulting companies -- who sell consulting, development and maintenance services -- and large organizations such as banks, telephone companies, government departments,... who run and depend on information services. Most IT jobs are with small companies -- the majority of the software companies are in application development or other information system-related areas. [John Mylopoulos, Information Systems Analysis and Design, 1997] 0.4 0.2

The Need for Systems Analysis (1) The age of innocence: Once upon a time, the information processes in an organization were simple and small - easy to handle with one or two people. As the organization grew, it took on additional tasks and had to handle information about more people or things important to the organization, for example, statistical data on production and sales, design data, financial data etc. As the organization grew, the information workers within the organization learned their information management tasks (classification, reference) well enough to add on more complex tasks. As the organization grew, it split into subunits to facilitate management, but this often acted as a barrier to information flow. Still, there was one organizational information system. As the organization evolved, so did its organizational information system, but this evolution was not documented. 0.5 Fall from Eden: The Need for Systems Analysis (2) People who knew the existing organizational information system retired or took employment elsewhere. The external environment for the organization was constantly changing, affecting differently different units in the organization. Suddenly the organization's information system was no longer integrated. The external environment changed sufficiently so that the techniques used for managing and processing the information were no longer efficient. Suddenly, there was no one person who knew exactly what the information processes in the organization were all about. Documentation as to what the processes were was completely out of date or nonexistent. The information was available but it was in the heads of many employees. The organization needed to respond to the external environment, e.g., its customers, in new ways because the environment had changed. 0.6 0.3

The Bad News 30% of large software projects are cancelled before completion. 50% of software projects are overbudget by more than 200%. The majority of completed projects deliver 60% or less of prescribed functionality. Many delivered information systems are under-used because they do not meet user needs and/or expectations. Legacy systems are a serious and growing bottleneck to organizational evolution. 0.7 Murphy s Law If something can go wrong it will. Things are more complex as they seem. Things take longer than expected. Things cost more than expected. Note also the corollary: Murphy was an optimist.... applies directly to software development! better To make things get worse, we need software-engineers! 0.8 0.4

Literature and Recommended Readings (1) Bruce Eckel: Thinking in Java. Prentice-Hall 1998. Martin Fowler with Kendall Scott: UML Distilled, Second Edition, Addison-Wesley, 1999. James Rumbaugh, Ivar Jacobson, Grady Booch: The Unified Modeling Language Reference Manual. Addison-Wesley, 1999. Grady Booch, James Rumbaugh, Ivar Jacobson: The Unified Modeling Language User Guide. Addison-Wesley, 1998. Craig Larman: Applying UML and Patterns, Prentice-Hall, 1997. 0.9 Additional Literature Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. Addison-Wesley, 1999. I. Jacobson et.al.: Object-Oriented Software Engineering - A use case driven approach, Addison-Wesley 1996. I. Sommerville: Software Engineering, Addison-Wesley 1995 (5th ed.). H. Rumbaugh, M. Blaha, W. Premarlani, F. Eddy, W. Lorensen: Object-Oriented Modelling and Design, Prentice-Hall, 1995. G. Booch: Object-Oriented Analysis and Design with Applications, Addison-Wesley, 1994 (2nd ed.). Bertrand Meyer: Object-oriented Software Construction, Prentice Hall, 1988. Frederick P. Brooks, jr: The Mythical Man - Month, Addison-Wesley, 1972. 0.10 0.5

Prerequisites User experience in application systems (Microsoft Office,...) operating systems (Unix,...) programming tools (compiler, editor,...) Programming experience small projects (at least one week of work, approx. 500 lines of code) in any programming language (Pascal, Modula-2, C, LISP,...) Basic object-oriented knowledge will be taught in this course classes, methods, inheritance in any programming language (Java, C++, Eiffel,...) 0.11 Object-Oriented Software Development in Java Language Fundamentals System Fundamentals Information Hiding Reusing Classes Polymorphism Object-Oriented Analysis and Design using the Unified Modeling Language (UML) Software Development Process Modeling the System Usage Modeling the Static Structure Modeling the Dynamic Behavior Structuring the System + Exercises + Exercises 0.12 0.6

Object-Oriented Development in Java Language Fundamentals Base types Variables Control structures System Fundamentals Main method Working with the JDK Information Hiding Class Definition Data Members & Methods Object Creation Packages, Scopes Modifiers Reusing Classes Composition and Inheritance Constructors and Subclasses Method Overriding Polymorphism Substitutability Abstract Classes Interfaces Inner Classes 0.13 Object-Oriented Analysis and Design using UML UML = Unified Modeling Language Software Development Process Inception Elaboration Construction Iteration Modeling the System Usage Actors Use Cases Modeling the Static Structure Classes and Attributes Inheritance Association Modeling the Dynamic Behavior Methods States Activities Interactions Structuring the System Packages Patterns 0.14 0.7

OOAD: 0. Object Orientation: An 19. October 1999 1. Object-Oriented Programming with Java 1.1 Introduction to Objects & Language Fundamentals 1.2 Objects, Classes and Information Hiding 1.3 Reusing Classes 1.4 Polymorphism 26. October 1999 2. November 1999 9. November 1999 16. November 1999 0.15 OOAD: 2. Analysis, Design, and Implementation 3. Object-Oriented Modeling using UML 3.0 3.1 Use Cases 3.2 Class Diagrams in Analysis 3.3 Class Diagrams in Design 3.4 Activity Diagrams 3.5 Interaction Diagrams 3.6 State Diagrams 3.7 Architecture Diagrams 3.8 Applying UML 4. Software Project Management 5. Conclusions & Feedback 30. November 1999 7. December 1999 14. December 1999 4. January 2000 11. January 2000 18. January 2000 Exercises 25. January 2000 & 1. February 2000 Last update: November 9, 1999 0.16 0.8