Object Oriented Design (OOD): The Concept
|
|
- Jonas Sherman
- 6 years ago
- Views:
Transcription
1 Object Oriented Design (OOD): The Concept Objec,ves To explain how a so8ware design may be represented as a set of interac;ng objects that manage their own state and opera;ons 1
2 Topics covered Object Oriented Development (OOD) Characteris,cs of OOD Basic Principles of OOD Object Oriented Concepts Advantages of OOD Implementa,on Issues 3 RECAP ON SDLC PHASES VS. ARTEFACTS PRODUCED 2
3 Recap on SDLC Phases & Artefacts Business Domain Analysis Domain Model (Class Diagram) Requirement Analysis 1) Functional & Non-Functional requirement 2) Use Case diagram 1) System Sequence Diagram 2) Activity Diagram SRS Design 1) Class Diagram (refined) 2) Detail Sequence Diagram 3) State Diagram SDD Implementation 1) Application Source Code 2) User Manual Documentation Testing & Deployment 1) Test Cases 2) Prototype Maintenance & Evolution 1) Change Request Form (zoom into Design) Requirement Requirement Specifica,ons (Func,onal & Non Func,onal) Analysis Requirement Models (Use cases diagram, class diagram, ac,vity diagram, sequence diagram) Design Architectural design model (Package diagram) Detailed design models ( Class diagram (refined), sequence diagram (refined), state diagram) 3
4 4 Architectural Design Classifica,on Architectural Design System Organisa.on (Style/ Pa4ern) Repository Model Client Server Model Layered (Tiers) Model Pipe & Filter Model View Controller Control Style Model Centralised Call Return Manager Event Driven Broadcast Interrupt Driven Modular Composi.on Object Oriented Func,on Oriented Architectural Design Classifica,on Architectural Design System Organisa.on (Style/ Pa4ern) Repository Model Client Server Model Layered (Tiers) Model Pipe & Filter Model View Controller Control Style Model Centralised Call Return Manager Event Driven Broadcast Interrupt Driven Modular Composi.on Object Oriented Func,on Oriented
5 OBJECT ORIENTED DEVELOPMENT Object oriented Approach There have been basically 3 approaches in informa,on system development area: process oriented, data oriented and object oriented approaches The focus of first two was either on process or data, while the object oriented approach combines data and processes into single en,,es called objects. Objects usually correspond to the real things such as customers, suppliers, contracts, offices, vehicles The goal of object oriented approach is to make system elements more reusable 10 5
6 Object oriented development Key idea in object oriented development: The real world can be accurately described as a collec,on of objects that interact. Process to transform the analysis model (from OOA) into OO Design Model. From WHAT (specifica,on) into HOW (implementa,on). Assump,ons: Describing large, complex systems as interac,ng objects make them easier to understand. The behaviors of real world objects tend to be stable over,me. Changes tend to be localized to a few objects. 11 OOA (What?) OOD (How?) Analysis (OOA using UML) SPECIFICATIONS Design (OOD using UML) IMPLEMENTATION 6
7 Characteris,cs of OOD OOD process involves designing object classes and rela,onship between these classes. Objects are abstrac,ons of real world or system en,,es and manage themselves. Objects are independent and encapsulate state and representa,on informa,on. Changing implementa,on (code) of one object should NOT affect other system objects. System func,onality is expressed in terms of object services. Shared data areas are eliminated. Objects communicate by message passing. OO PRINCIPLES 7
8 Abstrac;on Polymorphism OOD Basic Principles Encapsula;on Modularity Principle#1. Abstrac,on Abstrac,on focuses on the essen,al characteris,cs of some object, rela,ve to the perspec,ve of the viewer. 8
9 Basic Principles of OOD: Abstrac,on Abstrac,on allows us to manage complexity by concentra,ng on the essen,al characteris,cs that makes an en,ty different from others. OO uses abstrac,on to depict classes and objects in a system. Principle#2. Encapsula,on Encapsula,on hides the details of the implementa,on of an object. 9
10 Basic Principles of OOD: Encapsula,on Encapsula,on separates the implementa,on of objects behavior from its public interface It is called informa,on hiding, it allows object s behavior to be used without knowing its implementa,on Offers two kinds of security: Protects object s internal state from being changed from outside users. Changes can be done to the behavior implementa,on without affec,ng other objects An analogy: When you drive a car, you don t have to know the details of how many cylinders the engine has or how the gasoline and air are mixed and ignited. Instead you only have to know how to use the controls. Principle#3. Modularity 10
11 Basic Principles of OOD: Modularity Modularity can be defined as the process of breaking up of a complex system into small, self contained pieces that can be managed easily. Packages and subsystems support the defini,on of the modularity. Classes are independent modules Principle#4. Polymorphism 11
12 Basic Principles of OOD: Polymorphism Polymorphism the same word or phrase can mean different things in different contexts Analogy: in English, bank can mean side of a river or a place to put money (one word, bank, but different meaning in different context) In OOD, Polymorphism is the ability to hide many implementa,ons behind the same interface. Example: OO CONCEPTS 12
13 Object Oriented Concepts Object Class Anribute Opera,on Interface Package Subsystem Rela,onships Object An object is a separately iden,fiable en,ty that has a set of opera,ons and a state that records the effects of the opera,ons. Objects are characterized by: state, opera,ons, iden,ty. 13
14 Object (cont.) aqributes: the collec,on of informa,on held (i.e., stored) by the object. It can change over,me. It changes as the result of an opera,on performed on the object. The anribute is encapsulated within the object opera;ons: a procedure that takes the anributes of the object and zero or more arguments and changes the state and/or returns one or more values. iden;ty: a way to dis,nguish between two dis,nct objects (even if they have the same state and opera,ons). Class A class is a template for crea,ng objects. A class describes a collec,on of related objects (i.e., instances of the classes). Objects of the same class have common opera,ons and a common set of possible states. The concept of class is closely related to the concept of abstract data type that we discussed previously. A class is a descrip,on of a set of objects that share the same anributes, opera,ons, rela,onships (Booch, 1999). An object is an instance of a class 14
15 Class (cont.) Class (cont.) In UML, a class has 3 compartments Name Anributes Opera,ons Class nota,on in UML: 15
16 Class (Anributes) Anributes is a data type held by the objects in the class. Only the object itself should be able to change the value of its anributes. Different objects of the same class Class (Opera,ons) 16
17 Classes & Objects Classes & Objects A class is an abstract defini,on of an object. It defines the structure and the behavior of each object. A class is template for producing objects of a certain type. Objects are grouped into classes An object is a run,me instances of the corresponding class 17
18 Classes & Objects Terminology Recap object usually a person, place or thing (a noun) method an ac,on performed by an object (a verb) class a category of similar objects (such as automobiles) *Class does not hold any values of the object s anributes 18
19 Stereotype A stereotype is a new class of modeling element that is introduced at modeling,me. The stereotype is a tag, or symbol, used to mark the type of an object or other construct so that it can be dis,nguished and treated differently from other types of constructs Interfaces A special class that contains a collec,on of opera,ons that are used to specify a service of a class. Interfaces specify, but not implement behaviour. 19
20 Interfaces Interfaces (cont.) 20
21 Abstrac,on with Interface Component A component is a physical and replaceable part of a system that conforms to and provides the realiza,on of a set of interfaces (Booch, 1999) Component may be: Source code component (shell scripts, data files, *.cpp) Link,me component (*.dll files): <<library>> Run,me component (Java Beans, Ac,veC controls, COM objects, CORBA objects, *.exe files): <<applica,on>>, <<table>> A component enforces Encapsula,on 21
22 Component (cont.) Packages A package is a general purpose mechanism for organizing elements into groups (Booch,1999) It is a model element which can contain other model elements As a grouping mechanism, does not have any seman,cs defined It may not have a representa,on in implementa,on (osen it may represent a directory) A package owns its elements; an element can belong to only one package A package enforces Modularity 22
23 Packages (cont.) Subsystems A system that is part of a larger system, and which has a definite interface. A model element that has the seman,cs of a package and a class that provides behavior. It implements one or more interfaces which define the behavior of the subsystem A subsystem enforces Encapsula,on & Modularity 23
24 Rela,onship between Classes / Components A rela,onship is a connec,on among things UML uses these kinds of rela,onships: Associa,on Aggrega,on Composi,on Dependency Generaliza,on Realiza,on Associa,on Rela,onship Associa,on represents a general binary rela,onship that describes an ac,vity between two classes. The rela,onship allows one class to call methods in other class. When there is associa,on between classes, instances/objects of the class has associa,on. 24
25 Associa,on Rela,onship (cont.) Association between classes Instance association Associa,on Rela,onship Mul,plicity Specifies how many objects/instances of one class may relate to a single instance of an associated class. i.e. 25
26 Associa,on Rela,onship Role A role name is a name that uniquely iden,fies one end of an associa,on. Wrinen next to the class that plays the role. i.e. Student 1SCS take core Subject Aggrega,on Rela,onship A special form of associa,on. Represents an ownership rela,onships between two classes. Models the rela,onship like has a, part of, owns. Parts may belong to mul,ple wholes. 26
27 Aggrega,on Rela,onship (cont.) Composi,on Rela,onship Models a whole/part relationship with a strong ownership; when the whole dies, the part does so as well An object can be only part of one whole object The whole part is responsible for creation and destruction of its parts 27
28 Inheritance Rela,onship is a or a kind of rela,onship Classes with proper,es in common can be grouped so that their common proper,es are only defined once. Superclass : inherit its anributes & methods to the subclass(es). Subclass : inherit all its superclass anributes & methods + have its own unique anributes & methods. Inheritance Rela,onship (cont.) Sub- Class 28
29 Inheritance Rela,onship (cont.) How do we structure these classes? Inheritance Rela,onship (cont.) A subclass inherits from its superclass: attributes operations relationships. A subclass may add to its definition: Attributes Operations Relationships Redefine inherited operations 29
30 Modeling Example Model the following scenario: Paula is married to Paul They have children Realiza,on Rela,onship A realization is a semantic relationship between classifiers in which one classifier specifies a contract that another guaranties to carry out. It is used in the context of interfaces and collaborations An interface can be realized by many classes or components A class may realize many interfaces 30
31 Dependency Rela,onship A dependency is a rela,onship that specifies that a change in one thing may affect other things that use it but not necessarily the inverse. 61 Dependency Rela,onship (cont.) 31
32 Advantages of OOD Easier maintenance. Objects may be understood as stand alone en,,es. Objects are poten,ally reusable components. For some systems, there may be an obvious mapping from real world en,,es to system objects. Implementa,on Issues Reuse When you are developing sosware, you should make as much use as possible of exis,ng code. Sosware reuse is possible at different levels The abstrac;on level: Design panern or architectural panern The object level: directly reuse objects from library rather wri,ng code yourself. E.g., you need to process message in Java, you may use objects and methods from JavaMail library. The component level: collec,on of object and object classes You write some code: User interface connected to database The system level: you resue en,re applica,on systems. It ususally involves some configura,on of these systems Configura,on Management: Version management, system integra,on (compiling), problem tracking (bug report) Host target development: development computer (host), execute program on computer (target). Host & target computers may be different. 32
Component diagrams. Components Components are model elements that represent independent, interchangeable parts of a system.
Component diagrams Components Components are model elements that represent independent, interchangeable parts of a system. Components are more abstract than classes and can be considered to be stand- alone
More informationRecap on SDLC Phases & Artefacts
Prepared by Shahliza Abd Halim Recap on SDLC Phases & Artefacts Domain Analysis @ Business Process Domain Model (Class Diagram) Requirement Analysis 1) Functional & Non-Functional requirement 2) Use Case
More informationmore uml: sequence & use case diagrams
more uml: sequence & use case diagrams uses of uml as a sketch: very selec)ve informal and dynamic forward engineering: describe some concept you need to implement reverse engineering: explain how some
More informationDesign Principles & Prac4ces
Design Principles & Prac4ces Robert France Robert B. France 1 Understanding complexity Accidental versus Essen4al complexity Essen%al complexity: Complexity that is inherent in the problem or the solu4on
More informationUNIT II A. ENTITY RELATIONSHIP MODEL
UNIT II A. ENTITY RELATIONSHIP MODEL Agenda En0ty & En0ty Sets A6ributes Rela0onship & Rela0onship Sets Constraints Mapping Cardinali0es, Par0cipa0on Constraints, Keys E-R Diagrams & Design of Database
More informationArchitectural Requirements Phase. See Sommerville Chapters 11, 12, 13, 14, 18.2
Architectural Requirements Phase See Sommerville Chapters 11, 12, 13, 14, 18.2 1 Architectural Requirements Phase So7ware requirements concerned construc>on of a logical model Architectural requirements
More informationDatabase Design CENG 351
Database Design Database Design Process Requirements analysis What data, what applica;ons, what most frequent opera;ons, Conceptual database design High level descrip;on of the data and the constraint
More informationObject Oriented Programming. Feb 2015
Object Oriented Programming Feb 2015 Tradi7onally, a program has been seen as a recipe a set of instruc7ons that you follow from start to finish in order to complete a task. That approach is some7mes known
More informationRDD and Strategy Pa.ern
RDD and Strategy Pa.ern CSCI 3132 Summer 2011 1 OO So1ware Design The tradi7onal view of objects is that they are data with methods. Smart Data. But, it is be.er to think of them as en##es that have responsibili#es.
More informationGenericity. Philippe Collet. Master 1 IFI Interna3onal h9p://dep3nfo.unice.fr/twiki/bin/view/minfo/sofeng1314. P.
Genericity Philippe Collet Master 1 IFI Interna3onal 2013-2014 h9p://dep3nfo.unice.fr/twiki/bin/view/minfo/sofeng1314 P. Collet 1 Agenda Introduc3on Principles of parameteriza3on Principles of genericity
More informationCHAPTER 5 GENERAL OOP CONCEPTS
CHAPTER 5 GENERAL OOP CONCEPTS EVOLUTION OF SOFTWARE A PROGRAMMING LANGUAGE SHOULD SERVE 2 RELATED PURPOSES : 1. It should provide a vehicle for programmer to specify actions to be executed. 2. It should
More informationDesign pa*erns. Based on slides by Glenn D. Blank
Design pa*erns Based on slides by Glenn D. Blank Defini6ons A pa#ern is a recurring solu6on to a standard problem, in a context. Christopher Alexander, a professor of architecture Why would what a prof
More informationOBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis
UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance
More informationIntelligent Systems Knowledge Representa6on
Intelligent Systems Knowledge Representa6on SCJ3553 Ar6ficial Intelligence Faculty of Computer Science and Informa6on Systems Universi6 Teknologi Malaysia Outline Introduc6on Seman6c Network Frame Conceptual
More informationObject-Oriented Design (OOD) Case Study : Architecture and Detail Design and Software Design Document (SDD) Prepared by Shahliza Abd Halim
Object-Oriented Design (OOD) Case Study : Architecture and Detail Design and Software Design Document (SDD) Prepared by Shahliza Abd Halim Recap on SDLC Phases & Artefacts Domain Analysis @ Business Process
More informationArchitectural Design
Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures PART 1 ARCHITECTURAL DESIGN DECISIONS Recap on SDLC Phases
More informationChapter 6: Structural Design
Chapter 6: Structural Design Class Rela5onships Design alterna,ves for class use and reuse Composi5on Containment Inheritance Code Reuse Design Principles Rela5onships: Containment aka Holds- A subobjects
More informationUniversity of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far
University of Calgary Department of Electrical and Computer Engineering SENG 609.23: Object Oriented Analysis and Design Behrouz Homayoun Far Evaluation Test () 20:00 20:30 PM Instructions: 1. This booklet
More informationArchitectural Design
Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN
More informationWhat were his cri+cisms? Classical Methodologies:
1 2 Classifica+on In this scheme there are several methodologies, such as Process- oriented, Blended, Object Oriented, Rapid development, People oriented and Organisa+onal oriented. According to David
More informationA formal design process, part 2
Principles of So3ware Construc9on: Objects, Design, and Concurrency Designing (sub-) systems A formal design process, part 2 Josh Bloch Charlie Garrod School of Computer Science 1 Administrivia Midterm
More informationClasses & Objects CMSC 202
Classes & Objects CMSC 202 Programming & Abstrac9on All programming languages provide some form of abstrac'on Also called informa'on hiding Separa9ng how one uses a program and how the program has been
More informationCHAPTER 9 DESIGN ENGINEERING. Overview
CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative
More informationPreliminary ACTL-SLOW Design in the ACS and OPC-UA context. G. Tos? (19/04/2016)
Preliminary ACTL-SLOW Design in the ACS and OPC-UA context G. Tos? (19/04/2016) Summary General Introduc?on to ACS Preliminary ACTL-SLOW proposed design Hardware device integra?on in ACS and ACTL- SLOW
More informationEncapsula)on, cont d. Polymorphism, Inheritance part 1. COMP 401, Spring 2015 Lecture 7 1/29/2015
Encapsula)on, cont d. Polymorphism, Inheritance part 1 COMP 401, Spring 2015 Lecture 7 1/29/2015 Encapsula)on In Prac)ce Part 2: Separate Exposed Behavior Define an interface for all exposed behavior In
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationJava. Package, Interface & Excep2on
Java Package, Interface & Excep2on Package 2 Package Java package provides a mechanism for par55oning the class name space into more manageable chunks Both naming and visibility control mechanism Define
More informationBasic Structural Modeling. Copyright Joey Paquet,
Basic Structural Modeling Copyright Joey Paquet, 2000 1 Part I Classes Copyright Joey Paquet, 2000 2 Classes Description of a set of objects sharing the same attributes, operations and semantics Abstraction
More informationDesign Pa*erns. Philippe Collet. Master 1 IFI Interna3onal h8p://dep3nfo.unice.fr/twiki/bin/view/minfo/soeeng1213. P.
Design Pa*erns Philippe Collet Master 1 IFI Interna3onal 2012-2013 h8p://dep3nfo.unice.fr/twiki/bin/view/minfo/soeeng1213 P. Collet 1 Agenda Introduc3on First example Principles and classifica3on Presenta3on
More informationCISC327 - So*ware Quality Assurance
CISC327 - So*ware Quality Assurance Lecture 8 Introduc
More informationOntology engineering. Valen.na Tamma. Based on slides by A. Gomez Perez, N. Noy, D. McGuinness, E. Kendal, A. Rector and O. Corcho
Ontology engineering Valen.na Tamma Based on slides by A. Gomez Perez, N. Noy, D. McGuinness, E. Kendal, A. Rector and O. Corcho Summary Background on ontology; Ontology and ontological commitment; Logic
More informationCredit where Credit is Due. Goals for this Lecture. Introduction to Design
Credit where Credit is Due Lecture 17: Intro. to Design (Part 1) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2002 Some material presented in this lecture is taken
More informationObject Model. Object Orientated Analysis and Design. Benjamin Kenwright
Object Model Object Orientated Analysis and Design Benjamin Kenwright Outline Submissions/Quizzes Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean
More informationS T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A
S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram
More informationL6: System design: behavior models
L6: System design: behavior models Limita6ons of func6onal decomposi6on Behavior models State diagrams Flow charts Data flow diagrams En6ty rela6onship diagrams Unified Modeling Language Capstone design
More informationRESTful Design for Internet of Things Systems
RESTful Design for Internet of Things Systems dra8- keranen- t2trg- rest- iot- 00 Ari Keränen with MaGhias Kovatsch & Klaus Hartke W3C Web of Things IG October 30 th 2015, Sapporo,
More informationPresenter: Dong hyun Park
Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components
More informationSystem Modeling Environment
System Modeling Environment Requirements, Architecture and Implementa
More informationMastering Enterprise Metadata with Seman2c Modeling
Unlocking the Power of Seman4c Knowledge Mastering Enterprise Metadata with Seman2c Modeling 1 Enterprise Metadata: The descrip4on of the organiza4onal context processes, roles, policies, products and
More informationPrinciples of Programming Languages
Principles of Programming Languages h"p://www.di.unipi.it/~andrea/dida2ca/plp- 14/ Prof. Andrea Corradini Department of Computer Science, Pisa Lesson 18! Bootstrapping Names in programming languages Binding
More informationLECTURE 3: SOFTWARE DESIGN. Software Engineering Mike Wooldridge
LECTURE 3: SOFTWARE DESIGN Mike Wooldridge 1 Design Computer systems are not monolithic: they are usually composed of multiple, interacting modules. Modularity has long been seen as a key to cheap, high
More informationAutomated System Analysis using Executable SysML Modeling Pa8erns
Automated System Analysis using Executable SysML Modeling Pa8erns Maged Elaasar* Modelware Solu
More informationChapter 1. Introduction to Computers and Java Objects. Background information. » important regardless of programming language. Introduction to Java
Chapter 1 Introduction to Computers and Java Objects Background information» important regardless of programming language Introduction to Java Chapter 1 Java: an Introduction to Computer Science & Programming
More informationProgrammazione. Prof. Marco Bertini
Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Introduction Why OO Development? Improved structure of software easier to: Understand Maintain Enhance Reusable
More informationTopics in Object-Oriented Design Patterns
Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;
More informationFor 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,
Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,
More informationObject Oriented Software Development CIS Today: Object Oriented Analysis
Object Oriented Software Development CIS 50-3 Marc Conrad D104 (Park Square Building) Marc.Conrad@luton.ac.uk Today: Object Oriented Analysis The most single important ability in object oriented analysis
More informationINFO/CS 4302 Web Informa6on Systems
INFO/CS 4302 Web Informa6on Systems FT 2012 Week 7: RESTful Webservice APIs - Bernhard Haslhofer - 2 3 4 Source: hmp://www.blogperfume.com/new- 27- circular- social- media- icons- in- 3- sizes/ 5 Plan
More informationObject-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered
Object-oriented development Object-oriented Design Object-oriented analysis, design and programming are related but distinct. OOA is concerned with developing an object model of the application domain.
More informationUNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?
Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------
More informationRelationships. Association Aggregation/Composition Multiplicity Dependencies
1/13/2004 1 Association Aggregation/Composition Dependencies 1/13/2004 2 Relationships Very few classes stand alone in an OO system Three kinds of class/object relationships are defined to help model abstractions
More informationSystem Analysis and Design/ Object-Oriented System Modeling
9.1 Computer systems are designed by a. simplifying requirements of system b. breaking of the system into smaller self-contained co-operating subsystems c. breaking up the systems into independent parts
More informationAbstraction. Design fundamentals in OO Systems. Fundamental Software Development Principles
Abstraction Design fundamentals in OO Systems Tool for abstraction: object Object structure: properties and values for those properties operations to query and update those properties We refer to the collection
More informationCASE TOOLS LAB VIVA QUESTION
1. Define Object Oriented Analysis? VIVA QUESTION Object Oriented Analysis (OOA) is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary
More informationDesign Pa*erns. + Anima/on Undo/Redo Graphics and Hints
Design Pa*erns + Anima/on Undo/Redo Graphics and Hints Design Pa*erns Design: the planning that lays the basis for the making of every object or system Pa*ern: a type of theme of recurring events or objects
More informationObjectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture
Objectives Architectural Design To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural
More informationIntroduction to UML. Paolo Ciancarini Department of Informatics University of Bologna
Introduction to UML Paolo Ciancarini paolo.ciancarini@unibo.it Department of Informatics University of Bologna Software models A model is a description of the structure and meaning of a system A model
More information10조 이호진 이지 호
10 조 200910045 이호진 200911415 이지호 According to the IEEE definition, design is.. The process of defining the architecture, components, interfaces, and other characteristics of a system or component 1.
More informationObject-Oriented Systems. Development: Using the Unified Modeling Language
Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 3: Object-Oriented Systems Development Life Cycle Goals The software development process Building high-quality software
More informationArchitectural Blueprint
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint
More informationBBM 102 Introduc0on to Programming II Spring 2014
BBM 102 Introduc0on to Programming II Spring 2014 Encapsula0on Instructors: Fuat Akal, Nazlı İkizler Cinbiş, Oğuz Aslantürk TAs: Ahmet Selman Bozkır, Gültekin Işık, Levent Karacan 1 Today Informa0on Hiding
More informationCOSC 121: Computer Programming II. Dr. Bowen Hui University of Bri?sh Columbia Okanagan
COSC 121: Computer Programming II Dr. Bowen Hui University of Bri?sh Columbia Okanagan 1 Quick Review Representa?ve example: Animal[] mypets = new Animal[4]; mypets[0] = new Dog(); mypets[1] = new Cat();
More informationiuml-b Class Diagrams 1
iuml-b Class Diagrams 1 Mo3va3on Provide a more approachable interface for newcomers to Event-B Provide diagrams to help visualise models Provide extra modelling features to Event-B Sequencing of Events
More informationDesign Pattern and Software Architecture: IV. Design Pattern
Design Pattern and Software Architecture: IV. Design Pattern AG Softwaretechnik Raum E 3.165 Tele.. 60-3321 hg@upb.de IV. Design Pattern IV.1 Introduction IV.2 Example: WYSIWYG Editor Lexi IV.3 Creational
More informationChapter 1: Principles of Programming and Software Engineering
Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without
More informationChapter 17 - Component-based software engineering. Chapter 17 So-ware reuse
Chapter 17 - Component-based software engineering 1 Topics covered ² Components and component models ² CBSE processes ² Component composition 2 Component-based development ² Component-based software engineering
More informationComponent Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems
Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification
More informationRTP Taxonomy & Rela.onships
RTP Taxonomy & Rela.onships dra%- lennox- raiarea- rtp- grouping- taxonomy- 03 IETF 88 @Authors 1 Changes Since - 02 Major re- write Sec.on 2, Concepts, re- structured to a conceptual media chain with
More informationCORPORATE PRESENTATION
CORPORATE PRESENTATION Background on device detec/on (1/2) Identifying the capabilities of a device accessing web contents has been an extensively explored issue in the past years, in particular in the
More informationUML Views of a System
UML Views of a System The architecture of a system is the fundamental organization of the system as a whole. The five UML Views: Use Case View: focuses on scenarios Design View: focuses on the vocabulary
More informationObject Relationships
Object Relationships Objects can work together in three different types of relationships: Uses: An object can use another to do some work (association). Composition: A complex object may be composed of
More information10/7/15. MediaItem tostring Method. Objec,ves. Using booleans in if statements. Review. Javadoc Guidelines
Objec,ves Excep,ons Ø Wrap up Files Streams MediaItem tostring Method public String tostring() { String classname = getclass().tostring(); StringBuilder rep = new StringBuilder(classname); return rep.tostring();
More informationEncapsula)on CMSC 202
Encapsula)on CMSC 202 Types of Programmers Class creators Those developing new classes Want to build classes that expose the minimum interface necessary for the client program and hide everything else
More informationObject-Oriented Systems Analysis and Design Using UML
10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand
More informationUML Class Diagrams Revisited
9/25/2003 1 UML Class diagrams Organizing attributes and operations Class relationships Association Aggregation/Composition Multiplicity Dependencies 9/25/2003 2 UML Class Diagrams Revisited In the analysis
More informationArchitectural Design
Architectural Design Objectives To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural
More informationData Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques. Version 03.s 2-1
Design Principles Data Structures and Algorithms Design Goals Implementation Goals Design Principles Design Techniques 2-1 Data Structures Data Structure - A systematic way of organizing and accessing
More informationGUI-Hanger syndrome SOFTWARE ARCHITECTURES. Architectural Design Choices. Why software architectures? Monolithic Architecture / 2
GUI-Hanger syndrome SOFTWARE ARCHITECTURES An architecture contains the information on how the software devides into building blocks. Software Engineering do http://www.cs.uta.fi/se this; Why software
More information1. Write two major differences between Object-oriented programming and procedural programming?
1. Write two major differences between Object-oriented programming and procedural programming? A procedural program is written as a list of instructions, telling the computer, step-by-step, what to do:
More informationClasses and Objects. Object Orientated Analysis and Design. Benjamin Kenwright
Classes and Objects Object Orientated Analysis and Design Benjamin Kenwright Outline Review Previous Weeks Object Model, Complexity,.. What do we mean by Classes and Objects? Summary/Discussion Review
More informationCSE Lecture 10: Modules and separate compila5on 18 Feb Nate Nystrom University of Texas at Arlington
CSE 5317 Lecture 10: Modules and separate compila5on 18 Feb 2010 Nate Nystrom University of Texas at Arlington Modules Key to building large sodware systems is ability to organize the program into modules
More informationDDD at 10. Eric Evans #dddesign
DDD at 10 Eric Evans domainlanguage.com @ericevans0 #dddesign Domain- Driven Design (DDD) Focus on the core domain. Explore models in a crea?ve collabora?on of sobware prac??oners and domain prac??oners.
More informationCharlie Garrod Bogdan Vasilescu
Principles of So3ware Construc9on: Objects, Design, and Concurrency Part 2: Designing (sub-) systems Design for large-scale reuse: Libraries and frameworks Charlie Garrod Bogdan Vasilescu School of Computer
More informationAppendix A - Glossary(of OO software term s)
Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component
More informationLecture 4: Build Systems, Tar, Character Strings
CIS 330:! / / / / (_) / / / / _/_/ / / / / / \/ / /_/ / `/ \/ / / / _/_// / / / / /_ / /_/ / / / / /> < / /_/ / / / / /_/ / / / /_/ / / / / / \ /_/ /_/_/_/ _ \,_/_/ /_/\,_/ \ /_/ \ //_/ /_/ Lecture 4:
More informationChapter 5 Object-Oriented Programming
Chapter 5 Object-Oriented Programming Develop code that implements tight encapsulation, loose coupling, and high cohesion Develop code that demonstrates the use of polymorphism Develop code that declares
More informationArchitecture of So-ware Systems Distributed Components, CORBA. Mar>n Rehák
Architecture of So-ware Systems Distributed Components, CORBA Mar>n Rehák CORBA is OMG's open, vendor- independent specifica9on for an architecture and infrastructure that computer applica9ons use to work
More informationModel Transforma.on. Krzysztof Czarnecki Genera.ve So:ware Development Lab University of Waterloo, Canada gsd.uwaterloo.ca
Model Transforma.on Krzysztof Czarnecki Genera.ve So:ware Development Lab University of Waterloo, Canada gsd.uwaterloo.ca Modeling Wizards Summer School, Oct. 1, 2010, Oslo, Norway What is model transforma.on?
More informationDynamic Languages. CSE 501 Spring 15. With materials adopted from John Mitchell
Dynamic Languages CSE 501 Spring 15 With materials adopted from John Mitchell Dynamic Programming Languages Languages where program behavior, broadly construed, cannot be determined during compila@on Types
More informationUML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus
UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical
More informationGeneric programming POLYMORPHISM 10/25/13
POLYMORPHISM Generic programming! Code reuse: an algorithm can be applicable to many objects! Goal is to avoid rewri:ng as much as possible! Example: int sqr(int i, int j) { return i*j; double sqr(double
More informationWhy Rails and Design for an Applica5on
Why Rails and Design for an Applica5on CITS3403 Agile Web Development Reference: Ruby et al, Chapter 5 First there was Ruby... Ruby is the interpreted scripting language for quick and easy objectoriented
More informationUML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram
UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling
More informationTopic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia
Topic: Software Verification, Validation and Testing Software Engineering Faculty of Computing Universiti Teknologi Malaysia 2016 Software Engineering 2 Recap on SDLC Phases & Artefacts Domain Analysis
More informationSoftware Engineering Chap.7 - Design and Implementation
Software Engineering Chap.7 - Design and Implementation Simão Melo de Sousa RELEASE (UBI), LIACC (Porto), CCTC (Minho) Computer Science Department University of Beira Interior, Portugal Eng.Info./TSI,
More information(Func&onal (Programming (in (Scheme)))) Jianguo Lu
(Func&onal (Programming (in (Scheme)))) Jianguo Lu 1 Programming paradigms Func&onal No assignment statement No side effect Use recursion Logic OOP AOP 2 What is func&onal programming It is NOT what you
More informationCISC327 - So*ware Quality Assurance
CISC327 - So*ware Quality Assurance Lecture 12 Black Box Tes?ng CISC327-2003 2017 J.R. Cordy, S. Grant, J.S. Bradbury, J. Dunfield Black Box Tes?ng Outline Last?me we con?nued with black box tes?ng and
More informationObject-Oriented Software Engineering. Chapter 2: Review of Object Orientation
Object-Oriented Software Engineering Chapter 2: Review of Object Orientation 2.1 What is Object Orientation? Procedural paradigm: Software is organized around the notion of procedures Procedural abstraction
More informationCon$nuous Audi$ng and Risk Management in Cloud Compu$ng
Con$nuous Audi$ng and Risk Management in Cloud Compu$ng Marcus Spies Chair of Knowledge Management LMU University of Munich Scien$fic / Technical Director of EU Integrated Research Project MUSING Cloud
More information