Outline Object-Oriented Concepts Modeling Components Structured Method Evaluation Procedure Object-Oriented Methods Structured Methods Review of Object.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

Overview Traditional systems development life cycle (SDLC)
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Object-Oriented Systems Development: survey of structured methods by A G Sutcliffe Presented by: Nestor Rivera EEL6883 UCF Spring 07.
Software Requirements Engineering
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Chapter 1 Object-Oriented System Development
Introduction To System Analysis and Design
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Object-Oriented Databases v OO systems associated with – graphical user interface (GUI) – powerful modeling techniques – advanced data management capabilities.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Visual Basic Introduction IDS 306 from Shelly, Cashman & Repede Microsoft Visual Basic 5: Complete Concepts and Techniques.
7M822 Software Engineering: System Models 14 September 2009.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Structured Vs. Object Oriented Analysis and Design SAD Vs. OOAD
BACS 287 Basics of Object-Oriented Programming 1.
Introduction To System Analysis and design
2 Approaches to Requierements Engineering Reference: Systems Analysis and Design in a Changing World, 3 rd Edition, chapter 2 and chapter 6.
Copyright © 2002, Systems and Computer Engineering, Carleton University Intro.ppt * Object-Oriented Software Development Unit 1 Course.
INFO415 Approaches to System Development: Part 2
Object-oriented methodology object models use case modeling unified modeling language the data dictionary the cornucopia case portfolio project Systems.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
BCS 2143 Introduction to Object Oriented and Software Development.
An Object-Oriented Approach to Programming Logic and Design
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Satzinger Chp. 2 Part Part 4 of 4 2 Object-Oriented Analysis and Design with the Unified Process Testing Testing is critical discipline Testing activities.
Database Design - Lecture 2
Two Approaches to System Development
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Introduction To System Analysis and Design
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Software Design Deriving a solution which satisfies software requirements.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Content The system development life cycle
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
CSC480 Software Engineering Lecture 11 September 30, 2002.
Object-Oriented Software Engineering - The professional Developer’s Guide(on OMG’s OOA/OOD proposal) George Wilkie.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Dale Roberts Object Oriented Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Dr D. Greer, Queens University Belfast )Chapter Six 1 Software Engineering Chapter Six Software Design Quality Learning Outcomes.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Business Applications with Object-Oriented Paradigm (Modeling Concepts) Professor Chen School of Business Gonzaga University Spokane, WA
11 Software Design CSCU 411 Software Engineering.
OOPS CONCEPT.  OOPS  Benefits of OOPs  OOPs Principles  Class  Object Objectives.
Chapter 2 Principles of Programming and Software Engineering.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
객체지향시스템 연구실 1 THE OBJECT-ORIENTED TECHNOLOGY: An Executive Summary 서울대학교 컴퓨터공학부 객체지향시스템 연구실 교수 김형주.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
Contents Why should I consider OOA&D OO analysis OO design
Chapter 20 Object-Oriented Analysis and Design
Presentation transcript:

Outline Object-Oriented Concepts Modeling Components Structured Method Evaluation Procedure Object-Oriented Methods Structured Methods Review of Object Orientedness of System Development Methods Conclusions

Object-Oriented Concepts Three principles that make OOD to improve software design for reliability and maintenance. Abstraction: Objects are an abstraction of parts of real-world. More maintainable and reusable. Encapsulation: Objects hide their internal contents from other components to improve maintainability. Inheritance: By organizing objects in class hierarchies to promote reuse.

Modeling Components Objects vs. Traditional Concepts of Entities and Functions Objects are close to entity concept. I.e. a collection of attributes, objects add activities to entity. Objects are a type with one or more instances of type, same as entity-type concept Objects instances may be changed by events and record state changes

Structured Method Evaluation Procedure Conceptual modeling: The data and processing control parts of a system are modeled in one unit rather than separately; The method produces model of objects communicating by messages; Models object types and instances; Classification of objects is supported with property inheritance.

Procedure and guidance The method should guide the analyst towards identifying and describing objects. Guidance should be available for analysis, specification and design phases. Transformations and products Design transformation should support change of OO specifications into designs implementable in OOP languages.

Object-Oriented Methods Hierarchical Object-Oriented Design (HOOD) The top-down hierarchical decomposition approach. HOOD is heavily geared towards an implementation in Ada. The main process in HOOD is called the Basic Design Step. "A Basic Design Step has as its goal the identification of child objects of a given parent object, and of their individual relationships to other existing objects, or the refinement of a terminal object to the level of the code. Object-Oriented System Design (OOSD) Object-Oriented Systems Analysis (OOSA) Object-Oriented Analysis (OOA) ObjectOry

MethodAbstractionClassificationInheritanceEncapsulatio n Coverage (R-A-S-D-I) HOODYYPartialY OOSDYYYY OOSAYPartial OOAYYY ObjectOryYYYPartial R-A-S-D-I: Requirements, Analysis, Specification, Design and Implementations Feature analysis of Object-Oriented methods

Structured Methods Structure System Analysis and Design Method (SSADM) Standard structured method used for UK government projects Data-driven, 6 stages: 1. Analysis system operation and current problems 2. Specification of requirements 3. Selection of technical options 4. Logical data design 5. Logical process design 6. Physical design

Information Engineering (IE) Encourage data modeling Functional specification uses process dependency and action diagram, separated from data modeling Information System Activity and Change Analysis (ISAC) Structure Analysis/Structured Design (SASD) Structured Analysis and Design Technique (SADT) Jackson System Development (JSD) Nijssen’s Information Analysis Method (NIAM) Mascot-3

MethodFunctional Process Data relationship Event sequence Coverage (R-A-S-D-I) Application IEYYY IS ISACYYN IS SASDYNY IS SSADMYYY IS SADTYYN -----IS, RT JSDNYY IS, RT NIAMYYN IS (data intensive) MascotYNN RT IS: Information System, RT: real-time Summary of method specification models and approaches

Review of Object Orientedness of System Development Methods MethodObject ModelData + Activity Encapsulatio n Type + Instances Classification IEPossibleNNYN ISACYNNNN SASDYNNNN SSADMYNNYN SADTYNNNN JSDYYYYN NIAMPossible NYY MascotYYYYN

Conclusions Use of a particular system development method will bias implementation of OO systems, OO design may not derived from any specification. Data model and OO specification show considerable convergence. It is feasible to migrate from structured method such as JSD, IE and SSADM to OO Method. Functionally based development methods are less well suited to development of OO system. OO methods have yet proven in practice, they have little CASE tool support, lack of modeling techniques for reuse system development.