Topic 13 Object-oriented Analysis

Size: px
Start display at page:

Download "Topic 13 Object-oriented Analysis"

Transcription

1 Topic 3 Object-oriented Analysis a) f) DAAD Project Joint Course on Software Engineering Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University of Kragujevac Parts of this topic use material from the textbook H. Balzert, Software-Technik, Vol., 2nd ed., Spektrum Akademischer Verlag, 200 Version: July 30, 2003 (D May 4, 2003)

2 3. Object-oriented Analysis a) Overview: approaches, history, literature b) Object-oriented paradigm: basic notions c) Sub-models in UML d) How to read a given static OOA model? (Class diagram: example seminar organization ) e) Detailed specification: DD, pseudocode f) Packages 2 2

3 Classical waterfall model: the place of OOA Analysis and and Definition Design Design Balzert (200) Implementation Implementation Planning phase Feasibility study glossary preliminary requirements specification cost estimation project plan Definition phase Product definition requirements specification product model user interface user manual Test Test Usage Usage and and Maintenance Maintenance 3 3

4 Aspects of OOA Model paradigm: Decomposition of the SW systems into objects static / dynamic model (different views) Modeling language: UML: diagrams Methodology: How to develop a model? Tools: Together, Rational Rose, Paradigm Plus 4 4

5 Approaches, literature, systems of OO analysis: early works P. Coad, E. Yourdon. Objekt-orientierted Analysis. Prentice Hall, 990 J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen: Object-Oriented Model and Design. Prentice Hall, 99 OMT Object Modelling Technique Tool OMTool G. Booch: Object-oriented Analysis and Design with Applications. The Benjamin/Cummings Publishing Company, 994 Tool Rational Rose I. Jacobson, M. Christerson, P. Jonsson, G. Övergaard. Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, 994 Use Case Model Situation in more than 50 OOA methods - differences: notations, described aspects - Paradigm Plus: 996, tool supports methods 5 5

6 UML Unified Modeling Language authors: Rumbaugh, Booch, Jacobson Sept. 999: version.3 industry standard March 2003: Version.5 graphical language: collection of different diagram types for different views on the SWsystem critics: UML = mixture of methods UML only with syntax, without defined semantics 6 6

7 Approaches, literature, systems of OO analysis: the official UML literature J. Rumbaugh, I. Jacobson, G. Booch: The Unified Modeling Language Reference Guide, Addison Wesley, 999 G. Booch, J. Rumbaugh, I. Jacobson: The Unified Modeling Language User Guide, Addison Wesley, 999 I. Jacobson, G. Booch, J. Rumbaugh: The Unified Software Development Process, Addison Wesley,

8 History () Peter Coad in San Francisco His book»object-oriented Analysis«(990) (with E. Yourdon) helped to get OOA accepted. Introduced OOA patterns (995) 8 8

9 History (2) Dr. James Rumbaugh in Bethlehem, PA, USA Fellow, Rational Software Corporation Chief developer of the OMT method (Object Modeling Technique). 9 9

10 Goal of OOA like in case of structured analysis: produce a formalised product model (as part of product definition) with it: specialize requirements document combination of basic concepts: description of a system from different views 0 0

11 Combination of basic concepts in object-oriented analysis Data Dictionary (Balzert: attribute structure) Data flow diagram (Rumbaugh: functional model, 99) OOA 990 sequence diagram ER (Entity Rlationship) class diagram pseudo code state automaton collaboration diagram use case diagram entities & relations class structures control structures finite automaton interaction structures work flow

12 Basic concepts of software development Balzert vol., 2nd edition 200 Concepts and Views Alternative Notations Often used Rarely used nearly all concepts allowed Box diagram 973 Program flowchart 966 Decision tables 957 Activity diagram 997 Collaboration diagram Function tree Functional hierarchy Use Case Diagram 987 Business Process Data flow diagram 966 Information Flow Data- Dictionary 979 Data Structures Entity Relationship Model 976 Entity types and relations Class diagram 980/ 990 Class structures Functional View Data-Oriented View Object- Oriented View Pseudo code Control structures Algorithmic View Rules If-Then structures Rule- Based View State automat on 954 Finite State Automaton Petri Net 962 Concurrent structures State-Oriented View Sequence diagram 987 Interaction structures Scenario- Based View 2 2

13 from state automaton: Mealy automaton Moore automaton Harel automaton from time diagrams: sequence diagram OOA Sources of OOA from OOP: object operation class inheritance attribute message from semantical data modelling: aggregation (generalization type/ specialization type) from business processes: use case from ER model: associaltion with cardinalities (attribute) (entity type) 3 3

14 3. Object-oriented Analysis a) Overview: approaches, history, literature b) Object-oriented paradigm: basic notions c) Submodels in UML d) How to read a given static OOA model? (Class diagram: example seminar organization ) e) Detailed specification: DD, pseudocode f) Packages 4 4

15 OO paradigm: basic notions basic idea: decomposition of a SW system into objects and (object) classes basic notion: object used in all phases of SW development many definitions 5 5

16 Basic concepts of OO originally: on the level of programming (970,985) later: OOA, OOD (990) Object Class (collection of similar objects) Attribute (state, data of an object) Operation (behaviour) Message (sending messages to objects) Inheritance (class hierarchy) Polymorphism (overlaying of operations) known from OOP basic concept class diagram encompasses these OO concepts 6 6

17 Object-oriented analysis due to Booch (994) Object-oriented analysis is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary of the problem domain. Source: G. Booch: Object-oriented Analysis and Design with Applications, 994, page

18 The notion of object What is is an object? The official definition...? In the literature we find very different definitions! 8 8

19 Hopkins, Smalltalk: The notion of object () An Object is a combination of two parts:. Data the state of the object is maintained within that object 2. Operation all mechanisms to access and manipulate that state. ParcPlace VisualWorks Tutorial: Objects (are) software units that contain collections of related data plus operations for manipulating that data Rumbaugh: An object combines both data structure and behavior in a single entity. 9 9

20 The notion of object (2) Booch: Objects... are data abstractions with an interface of named operations and a hidden local state (994, page 38). A. Goldberg, Smalltalk 80: An object consists of some private memory and a set of operations. Booch: An object has state, behavior, and identity; the structure and behavior of similar objects are defined in their common class; the terms instance and object are interchangeable (994, page 83)

21 3. Object-oriented Analysis a) Overview: approaches, history, literature b) Object-oriented paradigm: basic notions c) Submodels in UML d) How to read a given static OOA model? (Class diagram: example seminar organization ) e) Detailed specification: DD, pseudocode f) Packages 2 2

22 Statical and dynamical model associations use case scenario static concepts dynamic concepts inheritance package message stateautomaton also also static? static? attribute operation static model also also dynamic? dynamic? object basic concepts class dynamic model 22 22

23 Statical and dynamical model: used UML diagrams associations use case? szenario inheritance static concepts class diagrams package diagrams component diagrams use casediagrams?? package attribute dynamic concepts stateautomaton message state automaton activity diagrams sequence diagrams collaboration diagrams operation static model object basic concepts class dynamic model 23 23

24 Diagrams in UML use case diagram: interaction of persons with systems class diagram: classes and their static relations sequence diagram: time-dependent flow of messages collaboration diagram: the same as sequence diagram package diagram: modularisation state diagram: dynamical behaviour of objects activity diagram: parallel processes component diagram: compilation units, hardware structure object diagram: objects and their relations 24 24

25 Application of UML diagrams in the phases of SW development (source: Informatik Spektrum, April 998) static model dynamic model use case diagrams Requirements activity diagrams class diagrams package diagrams Analysis sequence diagrams class diagrams (refined, with inheritance and associations) Design collaboration diagrams state-automaton component diagrams code classes definitions Implementation code methods object structure object behaviour 25 25

26 3. Object-oriented Analysis a) Overview: approaches, history, literature b) Object-oriented paradigm: basic notions c) Submodels in UML d) How to read a given static OOA model? (Class diagram: example seminar organization ) e) Detailed specification: DD, pseudocode f) Packages 26 26

27 Static OOA model: seminar organisation Company Shortname: String <0> Name: NameT Contact: ContactT Contact person: NamtT Sector: String <30> Contact person birthday: Date Function: String <30> Short information: String <200> Notices: String <200> Business volume: Float Client since: Date Booking Registered: Date Confirmation: Date Bill: Date Checked out: Date Notification: Date Register() Check out() Produce notification() Prove payment() Person Number: Serial Name: NameT Contact: ContactT Birthday: Date First registered: Date Short information: String <200> Notices: String <200> Produce address lable() Lecturer Biography: String<400> Daily honorar: Float Employer Associate 0.. Contractor Associate Entitlement: RoleET Password: String <6> Occupation: String <30> Is able to conduct Client Function: String <50> Business volume: Currency Participant Substitute paricipant Produce Notification() Client booking Customer Public seminar Cooperation partner: String<00> Cancel fee: Float Participant min: Short Participant actual: Short Produce participant list() Produce participant certificate() Company booking Company internal seminar All-inclusive price: Float Participants max: Short Presentation Number: Short Duration: Short From: Date To: Date Daily schedular start: Time Daily schedular stop: Time Start first day: Time End last day: Time Place: String <50> Participant max: Short Canceled: YesNoET Cancel() Produce honorar information() Register() Check out() Is free() Alternative seminars() Seminar supervisor Referent Seminar type Short titel: String<0> Titel: String <50> Purpose: String<400> Method: String<400> Overview: String<400> Daily procedure: String<20> Durance: Short Documents: String<200> Target group: String<200> Preconditions: String<200> Charge without tax: Float Participant number max: Short Participant number min: short 27 27

28 6 Read invoice data 4 Manage customers comp. booking data invoice data sets 3 Record paying delay 5 Manage companies Manage lecturers 2 Manage seminars DFD 0: Manage Seminars and Customers invoice information information booking data notific. letter notification letter request data requests request data requests info to lecturer lecturer data seminar short title lecturer data presentationno invoice certificates list of participants data base seminars and customers invoice data paying delays seminar requests seminar data invoice data invoice data invoice copies paying delays seminar information

29 Correlations requirements specification product model : structured analysis relation? product model 2: OO analysis Problems:. Is the information included in PM also included in PM2 (and vice versa)? 2. What about the understandability of the models? (readability, problem adequacy) 3. Is there a methodology to develop the corresponding model (easy to establish)? 29 29

30 Interface: Interface: comparable comparable with with a class class Client information booking data notific. letter bill 6 read invoice data comp. booking data invoice data sets information notification letter request data 4 requests manage customers Data Data flows: flows: collected collected sets sets of of attributes attributes billing data invoice data invoice copies invoice invoice data 3 record paying delay 5 manage companies lecturer data presentationno data base seminars and customers paying delays paying delays request data requests manage lecturers seminar short title certificates 2 manage seminars info to lecturer lecturer data list of participants seminar requests seminar data seminar information Some relations to OOA Product Product function function (F): (F): comparable comparable with with use use cases cases (general (general F) F) operation operation of of a class class (specific (specific F) F) 30 30

31 Static OOA model: seminar organisation Company Shortname: String <0> Name: NameT Contact: ContactT Contact person: NamtT Sector: String <30> Contact person birthday: Date Function: String <30> Short information: String <200> Notices: String <200> Business volume: Float Client since: Date Booking Registered: Date Confirmation: Date Bill: Date Checked out: Date Notification: Date Register() Check out() Produce notification() Prove payment() Person Number: Serial Name: NameT Contact: ContactT Birthday: Date First registered: Date Short information: String <200> Notices: String <200> Produce address lable() Lecturer Biography: String<400> Daily honorar: Float Employer Associate Client 0.. Function: String <50> Business volume: Currency Contractor Participant Substitute participant Produce Notification() Client booking Customer Public presentation Cooperation partner: String<00> Cancel fee: Float Participant min: Short Participant actual: Short Produce participant list() Produce participant certificate() Company booking Company internal presentation All-inclusive price: Float Participants max: Short Associate Entitlement: RoleET Password: String <6> Occupation: String <30> Presentation Number: Short Duration: Short From: Date To: Date Daily schedular start: Time Daily schedular stop: Time Start first day: Time End last day: Time Place: String <50> Participant max: Short Canceled: YesNoET Cancel() Produce honorar information() Register() Check out() Is free() Alternative seminars() Seminar supervisor Referent Is able to conduct Seminar type Short titel: String<0> Titel: String <50> Purpose: String<400> Method: String<400> Overview: String<400> Daily procedure: String<20> Durance: Short Documents: String<200> Target group: String<200> Preconditions: String<200> Charge without tax: Float Participant number max: Short Participant number min: short 3 3

32 Static OOA model: notions Company Shortname: String <0> Name: NameT Contact: ContactT Contact person: NamtT Sector: String <30> Contact person birthday: Date Function: String <30> Short information: String <200> Notices: String <200> Business volume: Float Client since: Date Association Booking Registered: Date Confirmation: Date Bill: Date Checked out: Date Notification: Date Register() Check out() Produce notification() Prove payment() Classes: - name - attribute - operations Employer Associate Client 0.. Function: String <50> Business volume: Currency Produce Notification() 0.. Customer Contractor Cardinality 0.. Participant Substitute paricipant 0.. Role Client booking Generalization / Inheritance Company booking 32 32

33 Static OOA model: problems () Company Shortname: String <0> Name: NameT Contact: ContactT Contact person: NamtT Sector: String <30> Contact person birthday: Date Function: String <30> Short information: String <200> Notices: String <200> Business volume: Float Client since: Date To be able to read a final model Employer Associate Client 0.. Function: String <50> Business volume: Currency Contractor Participant Substitute paricipant Produce Notification() Client booking Most Customer challenging problem: How Public to presentation develop Cooperation just partner: this String<00> model? Cancel fee: Float Participant min: Short Participant actual: Short Produce participant list() Produce participant certificate() Booking Registered: Date Confirmation: Date Bill: Date Checked out: Date Notification: Date Register() Check out() Produce notification() Prove payment() Company booking Company internal presentation All-inclusive price: Float Participants max: Short But: is the model also reasonable? To be able to assess a final model Person Number: Serial Name: NameT Contact: ContactT Birthday: Date First registered: Date Short information: String <200> Notices: String <200> Produce address lable() Associate Entitlement: RoleET Password: String <6> Occupation: String <30> Presentation Number: Short Duration: Short From: Date To: Date Daily schedular start: Time Daily schedular stop: Time Start first day: Time End last day: Time Place: String <50> Participant max: Short Canceled: YesNoET Cancel() Produce honorar information() Register() Check out() Is free() Alternative seminars() Seminar supervisor Referent To be able to produce a model Lecturer Biography: String<400> Daily honorar: Float Are there missing: classes attributes operations? Do we have the choice Is able to conduct Seminar type Short titel: String<0> Titel: of String other <50> Purpose: String<400> Method: classes? String<400> Overview: String<400> Daily procedure: String<20> Durance: Short Documents: String<200> Target group: String<200> Preconditions: String<200> Charge without tax: Float Participant number max: Short Participant number min: short 33 33

34 Static OOA model: problems (2) Company Shortname: String <0> Name: NameT 2 classes: Contact: ContactT Contact person: NamtT Sector: String <30> ones Contact person birthday: ones? Date Function: String <30> Short information: String <200> Notices: String <200> Business volume: Float Client since: Date Employer Associate 2 classes: Why Why just just these these Client 0.. Function: String <50> Business volume: Currency Contractor Participant Substitute paricipant Produce Notification() Client booking Customer Public presentation Cooperation partner: String<00> Cancel fee: Float Participant min: Short Participant actual: Short Produce participant list() Produce participant certificate() Why not? Booking Registered: Date Confirmation: Date Bill: Date Checked out: Date Notification: Date Register() Check out() Produce notification() Prove payment() delay of payment customer bill date amount printdop() Company booking Company internal presentation All-inclusive price: Float Participants max: Short Person Number: Serial Name: NameT Contact: ContactT Birthday: Date First registered: Date Short information: String <200> Notices: String <200> Produce address lable() Associate Entitlement: RoleET Password: String <6> Occupation: String <30> address name street number country ZIP city phone Presentation Number: Short Duration: Short From: Date To: Date Daily schedular start: Time Daily schedular stop: Time Start first day: Time End last day: Time Place: String <50> Participant max: Short Canceled: YesNoET Cancel() Produce honorar information() Register() Check out() Is free() Alternative seminars() Seminar supervisor Referent Lecturer Biography: String<400> Daily honorar: Float Is able to conduct Seminar type Short titel: String<0> Titel: String <50> Purpose: String<400> Method: String<400> Overview: String<400> Daily procedure: String<20> Durance: Short Documents: String<200> Target group: String<200> Preconditions: String<200> Charge without tax: Float Participant number max: Short Participant number min: short 34 34

35 Company Shortname: String <0> Name: NameT Contact: ContactT Contact person: NamtT Sector: String <30> Contact person birthday: Date Function: String <30> Short information: String <200> Notices: String <200> Business volume: Float Client since: Date Employer 0.. additional Associate Client additional attributes attributes and and operations operations Function: String <50> Business volume: Currency Contractor net price: Short Participant Substitute paricipant Produce Notification() Client booking Customer... Public presentation Cooperation partner: String<00> Cancel fee: Float Participant min: Short Participant actual: Short Produce participant list() Produce participant certificate() Static OOA model: problems (3) attributes attributes and and operations: operations: Why Why just just these these ones? ones? Booking Registered: Date Confirmation: Date Bill: Date Checked out: Date Notification: Date Register() Check out() Produce notification() Prove payment() Presentation carried out: Boolean acquire() change() delete() printinfo() Company booking Company internal presentation All-inclusive price: Float Participants max: Short Person 5.2 Seminar data Number: Serial Name: NameT Contact: ContactT Birthday: Date First registered: Date Short information: String <200> Notices: String <200> Associate Entitlement: RoleET Password: String <6> Occupation: String <30> Presentation Number: Short Duration: Short From: Date To: Date Daily schedular start: Time Daily schedular stop: Time Start first day: Time End last day: Time Place: String <50> Participant max: Short Canceled: YesNoET Cancel() Produce honorar information() Register() Check out() Is free() Alternative seminars() Seminar supervisor Referent Lecturer D30 (PD30) Presentation data (max ): Presentation number, duration (in days), from, to, daily period split-beginning, daily period splitend, beginning of the first day, end of the last day, presentation place (hotel/company, address, room), cooperation partner, public Produce address lable() (yes/no), net price, cancel fee, min. participant rate, max. participant rate, actual participant, carried out (yes/no) Biography: String<400> Daily honorar: Float Is able to conduct Seminar type Short titel: String<0> Titel: String <50> Purpose: String<400> Method: String<400> Overview: String<400> Daily procedure: String<20> Durance: Short Documents: String<200> Target group: String<200> Preconditions: String<200> Charge without tax: Float Participant number max: Short Participant number min: short 35 35

36 Static OOA model: inheritance Company Shortname: String <0> Name: 3 NameT Address: generalisation ContactT generalisation AddressT Contact: Contact person: NamtT Sector: classes classes String <30> Contact person birthday: Date Function: String <30> Short information: String <200> Notices: String <200> Business volume: Float Client since: Date Employer Associate Client 0.. Function: String <50> Business volume: Currency Contractor Participant Substitute paricipant Produce Notification() Client booking Customer Public presentation Cooperation partner: String<00> Cancel fee: Float Participant min: Short Participant actual: Short Produce participant list() Produce participant certificate() Booking Registered: Date Confirmation: Date Bill: Date Checked out: Date Notification: Date Register() Check out() Produce notification() Prove payment() Company booking Company internal presentation All-inclusive price: Float Participants max: Short Person Number: Serial Name: NameT Contact: ContactT Birthday: Date First registered: Date Short information: String <200> Notices: String <200> Produce address lable() Associate Entitlement: RoleET Password: String <6> Occupation: String <30> Presentation Number: Short Duration: Short From: Date To: Date Daily schedular start: Time Daily schedular stop: Time Start first day: Time End last day: Time Place: String <50> Participant max: Short Canceled: YesNoET Cancel() Produce honorar information() Register() Check out() Is free() Alternative seminars() Seminar supervisor Referent Lecturer Biography: String<400> Daily honorar: Float has has 3 derived derived classes classes Is able to conduct Problem: Seminar type comprehensible arrangement of classes (automatization is subject of research) Short titel: String<0> Titel: String <50> Purpose: String<400> Method: String<400> Overview: String<400> Daily procedure: String<20> Durance: Short Documents: String<200> Target group: String<200> Preconditions: String<200> Charge without tax: Float Participant number max: Short Participant number min: short 36 36

37 Static OOA model : associations, roles Company Shortname: String <0> Name: NameT Contact: ContactT Contact person: NamtT Sector: String <30> Contact person birthday: Date Function: String <30> Short information: String <200> Notices: String <200> Business volume: Float Client since: Date Booking Registered: Date Confirmation: Date Bill: Date Checked out: Date Notification: Date Register() Check out() Produce notification() Prove payment() Person Number: Serial Name: NameT Contact: ContactT Birthday: Date First registered: Date Short information: String <200> Notices: String <200> Produce address lable() name name of of the the association association Lecturer Biography: String<400> Daily honorar: Float Employer Associate Client 0.. Function: String <50> Business volume: Currency Contractor Participant Substitute paricipant Produce Notification() Client booking Customer Public presentation Cooperation partner: String<00> Cancel fee: Float Participant min: Short Participant actual: Short Produce participant list() Produce participant certificate() several several roles roles in in associations associations between between the the same same classes classes Company booking Company internal presentation All-inclusive price: Float Participants max: Short Associate Entitlement: RoleET Password: String <6> Occupation: String <30> Presentation Number: Short Duration: Short From: Date To: Date Daily schedular start: Time Daily schedular stop: Time Start first day: Time End last day: Time Place: String <50> Participant max: Short Canceled: YesNoET Cancel() Produce honorar information() Register() Check out() Is free() Alternative seminars() Presentation custodian Referent Is able to conduct Seminar type Short titel: String<0> Titel: String <50> Purpose: String<400> Method: String<400> Overview: String<400> Daily procedure: String<20> Durance: Short Documents: String<200> Target group: String<200> Preconditions: String<200> Charge without tax: Float Participant number max: Short Participant number min: short 37 37

38 Static OOA model : cardinalities Company Shortname: String <0> Name: NameT Contact: ContactT some some Contact person: NamtT cardinalities Sector: String cardinalities <30> Contact person birthday: Date Function: String <30> Short information: String <200> Notices: String <200> Business volume: Float Client since: Date Booking Registered: Date Confirmation: Date Bill: Date Checked out: Date Notification: Date Register() Check out() Produce notification() Prove payment() Person Number: Serial Name: NameT Contact: ContactT Birthday: Date First registered: Date Short information: String <200> Notices: String <200> Produce address lable() Lecturer Biography: String<400> Daily honorar: Float? Employer Associate Client 0.. Function: String <50> Business volume: Currency Contractor Participant Substitute paricipant Produce Notification() Client booking Customer Public presentation Cooperation partner: String<00> Cancel fee: Float Participant min: Short Participant actual: Short Produce participant list() Produce participant certificate() Company booking Is Is a : : relation relation between client and public public presentation presentation between client and Company internal presentation All-inclusive price: Float Participants max: Short Associate Entitlement: RoleET Password: String <6> Occupation: String <30> Presentation Number: Short Duration: Short From: Date To: Date Daily schedular start: Time Daily schedular stop: Time Start first day: Time End last day: Time Place: String <50> Participant max: Short Canceled: YesNoET Cancel() Produce honorar information() Register() Check out() Is free() Alternative seminars() Seminar supervisor Referent Is able to conduct Seminar type Short titel: String<0> Titel: String <50> Purpose: String<400> Method: String<400> Overview: String<400> Daily procedure: String<20> Durance: Short Documents: String<200> Target group: String<200> Preconditions: String<200> Charge without tax: Float Participant number max: Short Participant number min: short 38 38

39 3. Object-oriented Analysis a) Overview: approaches, history, literature b) Object-oriented paradigm: basic notions c) Submodels in UML d) How to read a given static OOA model? (Class diagram: example seminar organization ) e) Detailed specification: DD, pseudocode f) Packages 39 39

40 Combination of basic concepts in object-oriented analysis Data Dictionary (Balzert: attribute structure) Data flow diagram (Rumbaugh: functional model, 99) OOA 990 sequence diagram ER (Entity Relationship) class diagram pseudo code state automaton collaboration diagram use case diagram entities & relations class structures control structures finite automaton interaction structures work flow 40 40

41 What is to be specified in more detail for classes? classes general task of a class attributes meaning (Which information is represented?) structure, type: DD operations Customer name: NameT address: AddressT function: String business volume: Currency produce notification() effect, transformational behaviour parameter, types of parameter (signature of operation) 4 4

42 Example: specification of attributes () Class Customer Attribute Name Description: the name of the customer Type: NameT Attribute Address? DD user interface Ergonomic Name: private address Description: the private address of the customer Type: AddressT Optional attribute: yes 42 42

43 Example: specification of attributes (2) Specification of the user defined Type NameT NameT = Salutation + (Title) + First name + Name Attribute Salutation Type: enum Range: Mr., Mrs., Miss Default value: Mr. DD - notation Attribute Title Description: academic degree Type: enum Range: Dr., Prof., Prof. Dr., empty Extendable: yes %new Titles possible Default value: empty Optional Attribute: yes Attribute First name... Attribute Name

44 3. Object-oriented Analysis a) Overview: approaches, history, literature b) Object-oriented paradigm: basic notions c) Submodels in UML d) How to read a given static OOA model? (Class diagram: example seminar organization ) e) Detailed specification: DD, pseudocode f) Packages 44 44

45 Packages Goal: Collect components to a larger unit. Analog notion: Subsystem UML A package collects model elements (e.g. classes) and diagrams A package may contain packages

46 Packages in UML notation Package name Trading system Purchase Sale Stock Dependence 46 46

47 Company Shortname: String <0> Name: NameT Contact: ContactT Contact person: NamtT Sector: String <30> Contact person birthday: Date Function: String <30> Short information: String <200> Notices: String <200> Business volume: Float Client since: Date Package Seminar management : Offers of the company Booking Registered: Date Confirmation: Date Bill: Date Checked out: Date Notification: Date Register() Check out() Produce notification() Prove payment() Person Number: Serial Name: NameT Contact: ContactT Birthday: Date First registered: Date Short information: String <200> Notices: String <200> Produce address lable() Lecturer Biography: String<400> Daily honorar: Float Employer Associate Client 0.. Function: String <50> Business volume: Currency Contractor Participant Substitute paricipant Produce Notification() Client booking Customer Public presentation Cooperation partner: String<00> Cancel fee: Float Participant min: Short Participant actual: Short Produce participant list() Produce participant certificate() Company booking Company internal presentation All-inclusive price: Float Participants max: Short Associate Entitlement: RoleET Password: String <6> Occupation: String <30> Presentation Number: Short Duration: Short From: Date To: Date Daily schedular start: Time Daily schedular stop: Time Start first day: Time End last day: Time Place: String <50> Participant max: Short Canceled: YesNoET Cancel() Produce honorar information() Register() Check out() Is free() Alternative seminars() Seminar supervisor Referent Is able to conduct Seminar type Short titel: String<0> Titel: String <50> Purpose: String<400> Method: String<400> Overview: String<400> Daily procedure: String<20> Durance: Short Documents: String<200> Target group: String<200> Preconditions: String<200> Charge without tax: Float Participant number max: Short Participant number min: short 47 47

48 Package diagram Seminar management Seminar management Person Lecturer Associate Public presentation Presentation Seminar type Company internal presentation 48 48

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based

More information

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

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

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review (Part 1) 1 Coad-Yourdon Two-phase introduction: Object-Oriented Analysis

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Integrating Systems and Software Engineering Concepts in AP-233

Integrating Systems and Software Engineering Concepts in AP-233 Integrating Systems and Software Engineering Concepts in AP-233 Asmus Pandikow, Erik Herzog, Anders Törne Real-Time Systems Laboratory Linköpings Universitet 581 83 Linköping, Sweden E-mail: {asmpa, erica,

More information

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

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT) OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE () Ahmed Hayajneh, May 2003 1 1 Introduction One of the most popular object-oriented development techniques today is the Object Modeling

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

Lecture #2 on Object-Oriented Modeling

Lecture #2 on Object-Oriented Modeling Outline Lecture #2 on Object-Oriented Modeling Thierry Géraud EPITA Research and Development Laboratory (LRDE) 2006 Thierry Géraud Lecture #2 on Object-Oriented Modeling EPITA-LRDE 2006 1 / 38 Outline

More information

Software Design, Modelling and Analysis in UML

Software Design, Modelling and Analysis in UML Software Design, Modelling and Analysis in UML Lecture 02: Semantical Model 2013-10-23 02 2013-10-23 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents

More information

Lecture 02: Semantical Model

Lecture 02: Semantical Model Software Design, Modelling and Analysis in UML Lecture 02: Semantical Model 2014-10-23 02 2014-10-23 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents

More information

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

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION c08classandmethoddesign.indd Page 282 13/12/14 2:57 PM user 282 Chapter 8 Class and Method Design acceptance of UML as a standard object notation, standardized approaches based on work of many object methodologists

More information

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc. UML Modeling UML diagrams UML (Unified Modeling Language) is a general purpose visual modeling language that provides different types of diagrammatic techniques and notations to specify, visualize, analyze,

More information

Programming Language Constructs as Basis for Software Architectures

Programming Language Constructs as Basis for Software Architectures Programming Language Constructs as Basis for Software Architectures 1 From individual parts to components In the 50s: Machine/Assembler programs: bound to specific hardware In the 60s-70s: Higher programming

More information

CSC Advanced Object Oriented Programming, Spring Overview

CSC Advanced Object Oriented Programming, Spring Overview CSC 520 - Advanced Object Oriented Programming, Spring 2018 Overview Brief History 1960: Simula first object oriented language developed by researchers at the Norwegian Computing Center. 1970: Alan Kay

More information

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS

REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS REAL-TIME OBJECT-ORIENTED DESIGN AND FORMAL METHODS Juan Antonio de la Puente Dept. of Telematics Engineering School of Telecommunication, Technical University of Madrid E-mail: jpuente@dit.upm.es 1. Introduction

More information

Object Oriented System Development

Object Oriented System Development Object Oriented System Development Ratna Wardani Semester Genap, 2012 2/26/2012 Ratna W/PSBO2012 1 About This Course It shows how to apply OOAD technique to analyze and develop systems.. It gives you an

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

INFORMS 4th Conference on Information Systems and Technology. Generalizations as Data and Behavior Abstractions

INFORMS 4th Conference on Information Systems and Technology. Generalizations as Data and Behavior Abstractions INFORMS 4th Conference on Information Systems and Technology Generalizations as Data and Behavior Abstractions,..- Dale L. Lunsford The University of Southern Mississippi, College of Business Administration,

More information

From Analysis to Design. LTOOD/OOAD Verified Software Systems

From Analysis to Design. LTOOD/OOAD Verified Software Systems From Analysis to Design 1 Use Cases: Notation Overview Actor Use case System X System boundary UCBase «extend» UCExt Actor A UCVar1 UCVar2 Extending case Generalization «include» Actor B UCIncl Included

More information

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

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language? Session 8: UML The Unified Modeling (or the Unstructured Muddling) language? A few observations, opinions, pros & cons COMP 320 / 420 Spring, 2018 Mr. Weisert Where did the UML come from? Object-oriented

More information

Software Engineering

Software Engineering Software Engineering A systematic approach to the analysis, design, implementation and maintenance of software. Software Development Method by Jan Pettersen Nytun, page 1 Software Engineering Methods Most

More information

Object-Oriented Analysis and Design

Object-Oriented Analysis and Design 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

More information

UNIT-I Introduction of Object Oriented Modeling

UNIT-I Introduction of Object Oriented Modeling UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,

More information

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Course Softwaretechnik Book Chapter 2 Modeling with UML Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,

More information

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling User Centred Design 09 INTERACTION ARCHITECTURAL MODELING Lecture 9 Interaction Architectureal Modeling PREVIOUS LESSON(S) Synthetizing User Research Personas Actors / User Roles Scenarios Essential Use

More information

System Structure Modeling

System Structure Modeling System Structure Modeling 108 111....... 111..... 1.1 111...... 2.1 112... 3.1 112..... 4.1 112... 5.1 113... System Structure Models 113... Classes 1.2 114... Attributes 2.2 114... Methods 3.2 114...

More information

Ch t 8 Chapter 8. System Models

Ch t 8 Chapter 8. System Models Ch t 8 Chapter 8. System Models Objectives To explain why the context t of a system should be modelled d as a part of requirements engineering process To describe behavioural modelling, data modelling

More information

OO Analysis and Design with UML 2 and UP

OO Analysis and Design with UML 2 and UP OO Analysis and Design with UML 2 and UP Dr. Jim Arlow, Zuhlke Engineering Limited Clear View Training 2008 v2.5 1 UML principles Clear View Training 2008 v2.5 2 1.2 What is UML? Unified Modelling Language

More information

Formal Specification of Software Systems

Formal Specification of Software Systems Formal Specification of Software Systems Lecture Notes Winter Term 2001 / 2002 Heinrich Hußmann Technische Universität Dresden Formal Specification of Software Systems Summary: Construction of large software

More information

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

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML MSc programme (induction week) Department of Informatics INTRODUCTION TO UML Some of this material is based on Bernd Bruegge and Allen H. Dutoit (2009) Object-Oriented Software Engineering: Using UML,

More information

A Framework for Converting Classical Design to Reusable Design

A Framework for Converting Classical Design to Reusable Design A Framework for Converting Classical Design to Reusable Design Abdul Khader Jilani 1, Dr. Syed Abdul Sattar 2 1 Research Scholar, Rayalaseema University, Kurnool, Andhra Pradesh, India 2 Dean, Royal Institute

More information

The Music Notation Toolkit: A Study in Object- Oriented Development

The Music Notation Toolkit: A Study in Object- Oriented Development Proceedings of the NACCQ 2000 Wellington NZ www.naccq.ac.nz ABSTRACT The Music Notation Toolkit: A Study in Object- Oriented Development Central Institute of Technology Upper Hutt New Zealand andrew.eales@cit.ac.nz

More information

The Unified Modeling Language User Guide

The Unified Modeling Language User Guide The Unified Modeling Language User Guide Grady Booch James Rumbaugh Ivar Jacobson Rational Software Corporation TT ADDISON-WESLEY Boston San Francisco New York Toronto Montreal London Munich Paris Madrid

More information

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator. Comparative Study In Utilization Of Creational And Structural Design Patterns In Solving Design Problems K.Wseem Abrar M.Tech., Student, Dept. of CSE, Amina Institute of Technology, Shamirpet, Hyderabad

More information

Programming Language Constructs as Basis for Software Architectures. Stefan Resmerita, WS2015

Programming Language Constructs as Basis for Software Architectures. Stefan Resmerita, WS2015 Programming Language Constructs as Basis for Software Architectures 1 From individual parts to components In the 50s: Machine/Assembler programs: bound to specific hardware In the 60s-70s: Higher programming

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS LESSON PLAN (2017-2018) Course / Branch : BCA Total Hours : 45 Subject Name : OBJECT ORIENTED

More information

Introduction to Software Engineering. 6. Modeling Behaviour

Introduction to Software Engineering. 6. Modeling Behaviour Introduction to Software Engineering 6. Modeling Behaviour Roadmap > Use Case Diagrams > Sequence Diagrams > Collaboration (Communication) Diagrams > Activity Diagrams > Statechart Diagrams Nested statecharts

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Ahmed Lawgali Ahmed.lawgali@uob.edu.ly Slide 1 Systems Analysis & Design Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition

More information

ANSAwise - Object-Oriented Methods for Distributed Systems

ANSAwise - Object-Oriented Methods for Distributed Systems Poseidon House Castle Park Cambridge CB3 0RD United Kingdom TELEPHONE: Cambridge (01223) 515010 INTERNATIONAL: +44 1223 515010 FAX: +44 1223 359779 E-MAIL: apm@ansa.co.uk Training ANSAwise - Object-Oriented

More information

Course 3 7 March

Course 3 7 March Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams

More information

Week 9 Implementation

Week 9 Implementation Week 9 Implementation Dr. Eliane l. Bodanese What is more important From a software engineering perspective: Good Gui? does what customer wants maintainable, extensible, reusable Commented Code? how is

More information

Design and Evolution of an Agent-Based CASE System for OOAD

Design and Evolution of an Agent-Based CASE System for OOAD Proceedings of ATS 2003 206 Design and Evolution of an -Based CASE System for OOAD Dong Liu, Kalaivani Subramaniam, Behrouz H. Far, and Armin Eberlein Department of Electrical and Computer Engineering

More information

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

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide

More information

Object Oriented Modeling

Object Oriented Modeling Overview UML Unified Modeling Language What is Modeling? What is UML? A brief history of UML Understanding the basics of UML UML diagrams UML Modeling tools 2 Modeling Object Oriented Modeling Describing

More information

Company Transmogrification using OOP Concepts

Company Transmogrification using OOP Concepts Company Transmogrification using OOP Concepts Priyanka K R 1, Shruthi B M 2 1, 2 Department of CSE 1, 2 GSSS Institute of Engineering and Technology for Women, Mysuru, India Abstract- Object-oriented modeling

More information

Programming 2. Outline (112) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview.

Programming 2. Outline (112) Lecture 0. Important Information. Lecture Protocol. Subject Overview. General Overview. Programming 2 (112) Lecture 0 College of Computer Science and Engineering Taibah University S2, 1439 Outline Important Information Lecture Protocol Subject Overview General Overview Course Objectives Studying

More information

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

On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture On UML2.0 s Abandonment of the Actors-Call-Use-Cases Conjecture Sadahiro Isoda Toyohashi University of Technology Toyohashi 441-8580, Japan isoda@tutkie.tut.ac.jp Abstract. UML2.0 recently made a correction

More information

OO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado

OO Requirements to OO design. Csaba Veres Alan M. Davis (1995), Colorado OO Requirements to OO design Csaba Veres Alan M. Davis (1995), Colorado Alan Davis? Guru? Academic and professional www.omni-vista.com? Controversial article on research into requirements engineering Requirements

More information

Using the UML to Describe Design Patterns

Using the UML to Describe Design Patterns Proceedings of the 16 th Annual NACCQ, Palmerston North New Zealand July, 2003 (eds) Mann, S. and Williamson, A. www.naccq.ac.nz Using the UML to Describe Design Patterns ABSTRACT to describe patterns

More information

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts Object-Oriented Analysis and Design Analysis vs. Design Analysis Activities Finding the Objects/ Classes An Analysis Example The Unified Modeling Language Pre-UML Situation Early 90s Explosion of OO methods/notations

More information

UML Primer. -Elango Sundaram

UML Primer. -Elango Sundaram UML Primer -Elango Sundaram About UML UML Can be thought of as a blue print for Software Graphical notation for expressing underlying OOA&D ideas Can be used to design any type of application, hardware,

More information

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

On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture Vol. 4, No. 6 Special issue: Use Case Modeling at UML-2004 On UML2.0 s Abandonment of the Actors- Call-Use-Cases Conjecture Sadahiro Isoda, Toyohashi University of Technology, Toyohashi 441-8580, Japan

More information

Seminar Organization

Seminar Organization Seminar Organization HUSemOrg: Database Design (Hildebrandt, 22.08.07) In this document we give an overview about the database layer of the application HUSemOrg. We firstly introduce the structure of the

More information

Class Diagrams in Analysis

Class Diagrams in Analysis 3.2 Subject/Topic/Focus: Introduction to Classes Summary: Conceptual Modeling Notation: Classes Associations: Multiplicity, Roles, Aggregation, Composition Generalization Objects Analysis Process Literature:

More information

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development

More information

Engineering Design w/embedded Systems

Engineering Design w/embedded Systems 1 / 40 Engineering Design w/embedded Systems Lecture 33 UML Patrick Lam University of Waterloo April 4, 2013 2 / 40 What is UML? Unified Modelling Language (UML): specify and document architecture of large

More information

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Object Oriented Processes R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Life Cycle Models Waterfall Spiral Fountain Extreme Model Driven Phases and their relations with object orientation requirements

More information

Managing Change and Complexity

Managing Change and Complexity Managing Change and Complexity The reality of software development Overview Some more Philosophy Reality, representations and descriptions Some more history Managing complexity Managing change Some more

More information

CS560 Lecture: Software Architecture Includes slides by I. Sommerville

CS560 Lecture: Software Architecture Includes slides by I. Sommerville CS560 Lecture: Software Architecture 2009 Includes slides by I. Sommerville Architectural Design Design process for identifying the sub-systems making up a system and the framework for sub-system control

More information

CISC 322 Software Architecture

CISC 322 Software Architecture CISC 322 Software Architecture UML - The Unified Modelling Language Nicolas Bettenburg 1 DEFINITION The Unified Modelling Language (UML) is a graphical language for visualizing, specifying, constructing,

More information

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

OBJECT-ORIENTED MODELING AND DESIGN. Introduction OBJECT-ORIENTED MODELING AND DESIGN Introduction Contents: Introduction. Course Relevance Learning Outcomes Overview of the syllabus Introduction to Object Orientation Introduction Object Oriented Approach

More information

Object-Oriented Analysis and Design

Object-Oriented Analysis and Design Object-Oriented Analysis and Design 6 FUNCTIONAL FUNCTIONAL MODELING Source: OBJECT-ORIENTED MODELING AND DESIGN James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, William Lorensen PAUL

More information

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved

Chapter 12. UML and Patterns. Copyright 2008 Pearson Addison-Wesley. All rights reserved Chapter 12 UML and Patterns Copyright 2008 Pearson Addison-Wesley. All rights reserved Introduction to UML and Patterns UML and patterns are two software design tools that can be used within the context

More information

Langara College Spring archived

Langara College Spring archived 1 of 7 10/23/07 2:09 PM COMPUTING SCIENCE AND INFORMATION SYSTEMS DEPARTMENT COMPUTING SCIENCE AND INFORMATION SYSTEMS 1300 Systems Analysis & Design (3.0 credits) COURSE OUTLINE Spring 2008 Section 088

More information

BCS Certificate in Systems Modelling Techniques Syllabus Version 3.5 December 2016

BCS Certificate in Systems Modelling Techniques Syllabus Version 3.5 December 2016 BCS Certificate in Systems Modelling Techniques Syllabus Version 3.5 December 2016 This professional certification is not regulated by the following United Kingdom Regulators - Ofqual, Qualification in

More information

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram After studying this chapter you should be able to: Define an object. Understand the terms

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

More information

Course "Softwaretechnik Modeling with UML Stephan Salinger

Course Softwaretechnik Modeling with UML Stephan Salinger Course "Softwaretechnik Modeling with UML Stephan Salinger (Foliensatz/Inhalt: Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit) Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/

More information

Langara College Spring archived

Langara College Spring archived 1 of 7 11/23/2006 1:29 PM COMPUTING SCIENCE AND INFORMATION SYSTEMS DEPARTMENT COMPUTING SCIENCE AND INFORMATION SYSTEMS 1300 Systems Analysis & Design (3.0 credits) COURSE OUTLINE Spring 2007 Section

More information

Research Review on Basic Principles of Unified Modelling Language

Research Review on Basic Principles of Unified Modelling Language Research Review on Basic Principles of Unified Modelling Language Agha Salman Haider Sr Lecturer, Jazan University, Saudi Arabia Abstract This paper presents review of concepts, ideas and the introduction

More information

Object-Oriented Software Development Goal and Scope

Object-Oriented Software Development Goal and Scope Object-Oriented Software Development Goal and Scope Koichiro Ochimizu Japan Advanced Institute of Science and Technologies School of Information Science Scope and Goal Goal enable you to understand basic

More information

Database Systems. Overview - important points. Lecture 5. Some introductory information ERD diagrams Normalization Other stuff 08/03/2015

Database Systems. Overview - important points. Lecture 5. Some introductory information ERD diagrams Normalization Other stuff 08/03/2015 Lecture 5 Database Systems Instructor: M.Imran Khalil Imrankhalil3@gmail.com Resource:Imrankhalil3.wordpress.com University of Sargodha Canal Campus Lahore Overview - important points Some introductory

More information

Representing Control Constructs in Object-Flow Process. Diagrams

Representing Control Constructs in Object-Flow Process. Diagrams 1 Representing Control Constructs in Object-Flow Process Diagrams or Peleg and Dov Dori Faculty of Industrial Engineering and anagement Technion Israel Institute of Technology Haifa 32000, Israel {mor,

More information

Modeling Databases Using UML

Modeling Databases Using UML Modeling Databases Using UML Fall 2017, Lecture 4 There is nothing worse than a sharp image of a fuzzy concept. Ansel Adams 1 Software to be used in this Chapter Star UML http://www.mysql.com/products/workbench/

More information

Pertemuan 8. Object Oriented Modeling and Design

Pertemuan 8. Object Oriented Modeling and Design Pertemuan 8 Object Oriented Modeling and Design References Rumbaugh, James et al., Object Oriented Modeling and Design, 1991, Prentice Hall, Inc., USA, ISBN: 0 13 629841 9 9 Coad, Peter and Yourdon, Edward,

More information

UML big picture. Perdita Stevens. School of Informatics University of Edinburgh

UML big picture. Perdita Stevens. School of Informatics University of Edinburgh UML big picture Perdita Stevens School of Informatics University of Edinburgh Plan Whence UML? Parts of UML How it all fits together UML as a language Consistency: what does it mean, do we need it? Defining

More information

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

SE203b: OO Design for Software Engineers. Office: TEB349, Ext SE203b: OO Design for Software Engineers W0 : Course Overview Jan. 11, 2006 SE203b, ECE UWO, Hamada Ghenniwa Teaching Team Instructor TAs o Hamada Ghenniwa Office: TEB349, Ext. 88262 e-mail: hghenniwa@eng.uwo.ca

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT 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 information

Quality-Driven Architecture Design Method

Quality-Driven Architecture Design Method Quality-Driven Architecture Design Method Matinlassi Mari, Niemelä Eila P.O. Box 1100, 90571 Oulu Tel. +358 8 551 2111 Fax +358 8 551 2320 {Mari.Matinlassi, Eila.Niemela}@vtt.fi Abstract: In this paper

More information

OBJECT ORIENTED ANALYSIS AND DESIGN

OBJECT ORIENTED ANALYSIS AND DESIGN UNIT 1I OBJECT ORIENTED METHODOLOGIES Contents Rumbaugh Methodology Booch Methodology Jacobson Methodology Patterns Frameworks Unified Approach Unified Modeling Language Use case Class diagram Interactive

More information

Developing CASE tools which support integrated development notations

Developing CASE tools which support integrated development notations Revised version in Proceedings of the 6th Workshop on the Next Generation of CASE Tools, Finland, June 1995. Developing CASE tools which support integrated development notations John C. Grundy and John

More information

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 1

Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 8 Slide 1 System models Slide 1 Objectives To explain why the context of a system should be modelled as part of the RE process To describe behavioural modelling, data modelling and object modelling To introduce

More information

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

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017 San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017 Course and Contact Information Instructor: Dr. Kim Office Location:

More information

Database Systems. A Practical Approach to Design, Implementation, and Management. Database Systems. Thomas Connolly Carolyn Begg

Database Systems. A Practical Approach to Design, Implementation, and Management. Database Systems. Thomas Connolly Carolyn Begg Database Systems A Practical Approach to Design, Implementation, and Management For these Global Editions, the editorial team at Pearson has collaborated with educators across the world to address a wide

More information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK TRANSFORMATION OF UML SEQUENCE DIAGRAM TO JAVA CODE HARSHAL D. GURAD 1, PROF. V.

More information

CASE TOOLS LAB VIVA QUESTION

CASE 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 information

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 2: Review of Object Orientation

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 2: Review of Object Orientation Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 2: Review of Object Orientation 2.1 What is Object Orientation? Procedural paradigm: Software is organized

More information

Object Oriented Analysis & Design (OOAD)

Object Oriented Analysis & Design (OOAD) Object Oriented Analysis & Design (OOAD) 1 OOAD It focuses on objects where system is broken down in terms of the objects that exist within it. Functions (behaviour) and data (state) relating to a single

More information

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Object Oriented Processes R.K.Joshi Dept of Computer Science and Engg. IIT Bombay Life Cycle Models Waterfall Spiral Fountain Extreme Model Driven Phases and their relations with object orientation requirements

More information

Computer Science for Engineers

Computer Science for Engineers Computer Science for Engineers Lecture 5 Object Orientation part 3 Prof. Dr. Dr.-Ing. Jivka Ovtcharova Dipl. Wi.-Ing. Dan Gutu 27 th of November 2009 Aggregation and Composition (1) A special case of an

More information

Object Model. Object Orientated Analysis and Design. Benjamin Kenwright

Object 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 information

SE 1: Software Requirements Specification and Analysis

SE 1: Software Requirements Specification and Analysis SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 U Waterloo SE1 (Winter 2006)

More information

CONFERENCE REGISTRATION FORM Sheraton Hotel, Rhodes, Greece, September 2018

CONFERENCE REGISTRATION FORM Sheraton Hotel, Rhodes, Greece, September 2018 ICNAAM 2018 CONFERENCE REGISTRATION FORM Sheraton Hotel, Rhodes, Greece, 13-18 September 2018 Title Mr Mrs Dr Prof Surname First Name Address City Country Postcode Telephone Telefax Mobile Ph Email Name

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 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 information

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

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

Registration for Gourmet Gallery 2019 Shelf Exhibition at the Collective Stand

Registration for Gourmet Gallery 2019 Shelf Exhibition at the Collective Stand Registration for Gourmet Gallery 2019 Shelf Exhibition at the Collective Stand Gourmand International Please enter all requested information in the appropriate fields of this fillable PDF form. Please

More information

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN

USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN USING TRANSFORMATIONS TO INTEGRATE TASK MODELS IN THE UML Position Paper to the WTUML: Workshop on Transformations in UML ETAPS 2001 European Joint Conference on Theory and Practice of Software Nuno Jardim

More information

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST) Programming Concepts & Algorithms Course Syllabus Course Title Course Code Computer Department Pre-requisites Course Code Course Instructor Programming Concepts & Algorithms + lab CPE 405C Computer Department

More information