Object-Oriented Analysis covers a host of techniques introduced in the mid-eighties for requirements modelling. Such techniques focus on the things that exist within the application domain, model them with objects. In Coad s model, there are five kinds of concepts for modelling an application: objects, attributes, structures, services and subjects.
Object-Oriented Analysis covers a host of techniques introduced in the mid-eighties for requirements modelling. Such techniques focus on the things that exist within the application domain, model them with objects. In Coad s model, there are five kinds of concepts for modelling an application: objects, attributes, structures, services and subjects.
Copyright:
Attribution Non-Commercial (BY-NC)
Available Formats
Download as TXT, PDF, TXT or read online from Scribd
Object-Oriented Analysis covers a host of techniques introduced in the mid-eighties for requirements modelling. Such techniques focus on the things that exist within the application domain, model them with objects. In Coad s model, there are five kinds of concepts for modelling an application: objects, attributes, structures, services and subjects.
Copyright:
Attribution Non-Commercial (BY-NC)
Available Formats
Download as TXT, PDF, TXT or read online from Scribd
Object-Oriented Analysis -- 1Ó 1995 John Mylopoulos
Object-Oriented Analysis Techniques
Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks Object-Oriented Analysis Object-Oriented Analysis -- 1Ó 1995 John Mylopoulos Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks Object-Oriented Analysis Object-Oriented Analysis -- 2Ó 1995 John Mylopoulos Object-Oriented Analysis n Object-Oriented Analysis covers a host of techniques introduced in the mid-eighties for requirements modelling. n Such techniques focus on the things that exist within the application domain, model them with objects n These techniques use classification, generalization, aggregation to structure object assemblies n Actions (services/activities) are associated with objects n State changes are effected by actions performed on objects Object-Oriented Analysis -- 4Ó 1995 John Mylopoulos Coad s Object-Oriented Analysis n Proposed by Peter Coad [Coad91]. n An object is defined as a real world entity related to the problem domain, with crisply defined boundaries. n Objects are encapsulated along with their attributes and behaviour. n In Coad s model, there are five kinds of concepts for modelling an application: objects, attributes, structures, services and subjects. identifier attributes services patient physician name address makeAppointment doLabTest Object-Oriented Analysis -- 4Ó 1995 John Mylopoulos Coad s Object-Oriented Analysis n Proposed by Peter Coad [Coad91]. n An object is defined as a real world entity related to the problem domain, with crisply defined boundaries. n Objects are encapsulated along with their attributes and behaviour. n In Coad s model, there are five kinds of concepts for modelling an application: objects, attributes, structures, services and subjects. identifier attributes services patient physician name address makeAppointment doLabTest Object-Oriented Analysis -- 5Ó 1995 John Mylopoulos Five Layers to OOA n Class/Object Layer n Structure Layer n Service Layer n Attribute Layer n Subject Layer Object-Oriented Analysis -- 6Ó 1995 John Mylopoulos n Phase I: Identifying Problems & Opportunities Confirm that a problem exists Carry out a study to determine if a system can be developed to solve the problem (2 days - 4 weeks) Produce the Feasibility Study Object-Oriented Analysis -- 6Ó 1995 John Mylopoulos n Phase I: Identifying Problems & Opportunities Confirm that a problem exists Carry out a study to determine if a system can be developed to solve the problem (2 days - 4 weeks) Produce the Feasibility Study Object-Oriented Analysis -- 7Ó 1995 John Mylopoulos Phase II: Info Requirements Analysis n Study existing procedures and information systems n Define goals to be achieved by the new system n Propose alternate business processes n Define the boundaries of the information system n Define non-functional requirements Object-Oriented Analysis -- 8Ó 1995 John Mylopoulos n Phase III: Systems Analysis n Chart input, processes, & outputs using Data Flow Diagrams n Develop data dictionary listing all attributes of the system n Analyse structured decisions using decision tables or decision trees n Analyse semi-structured decisions. May need to develop decision support systems. n Prepare System Proposal, Cost/Benefit Analysis of alternatives n Recommend course of action Object-Oriented Analysis -- 8Ó 1995 John Mylopoulos n Phase III: Systems Analysis n Chart input, processes, & outputs using Data Flow Diagrams n Develop data dictionary listing all attributes of the system n Analyse structured decisions using decision tables or decision trees n Analyse semi-structured decisions. May need to develop decision support systems. n Prepare System Proposal, Cost/Benefit Analysis of alternatives n Recommend course of action Object-Oriented Analysis -- 9Ó 1995 John Mylopoulos n Phase IV: The Design Phase n Specify an architecture and a detailed design for the proposed information system n Ideal system specified first, meeting all functional requirements, then modified to meet non-functional requirements and other constraints n Resources allocated for hardware equipment, personnel tasks and programming tasks n Technical specifications are prepared Object-Oriented Analysis -- 10Ó 1995 John Mylopoulos n Phase V: Develop and Document n The system is implemented on the basis of the design specification. n Analyst works with programmers to develop any original software needed n Analyst uses structured techniques (pseudo code, flowcharts, ) to communicate with the programmers n Programming of the system is carried out n Program testing is carried out n Procedures, system manuals, software specifications and documentation are completed Object-Oriented Analysis -- 10Ó 1995 John Mylopoulos n Phase V: Develop and Document n The system is implemented on the basis of the design specification. n Analyst works with programmers to develop any original software needed n Analyst uses structured techniques (pseudo code, flowcharts, ) to communicate with the programmers n Programming of the system is carried out n Program testing is carried out n Procedures, system manuals, software specifications and documentation are completed Object-Oriented Analysis -- 11Ó 1995 John Mylopoulos n Phase VI: System Testing n Testing of the system as a whole is performed n Users conduct acceptance testing Object-Oriented Analysis -- 12Ó 1995 John Mylopoulos n Phase VII: Implementation & Evaluation n Equipment is acquired and installed n Staff is trained n Conversion from old system n Evaluation of system Object-Oriented Analysis -- 12Ó 1995 John Mylopoulos n Phase VII: Implementation & Evaluation n Equipment is acquired and installed n Staff is trained n Conversion from old system n Evaluation of system Object-Oriented Analysis -- 13Ó 1995 John Mylopoulos n The Ongoing Maintenance Phase n Over 60% of a system s resource can be spent in this phase n Two flavours of maintenance: n correction of software errors n enhancements to meet changing needs n Important that all previous phases keep easy maintenance as major goal. Object-Oriented Analysis -- 14Ó 1995 John Mylopoulos Systems Lifecycle cq. OOAD n I. Identifying Problems & Opportunities n II. Info Requirements Analysis n III. Systems Analysis n IV. Systems Design n V. Development & Documentation n VI. Systems Testing n VII. Implementation & Evaluation n On-going Maintenance Phase OOAD only affects phase III, IV, and V. The other phases remain the same. Object-Oriented Analysis -- 14Ó 1995 John Mylopoulos Systems Lifecycle cq. OOAD n I. Identifying Problems & Opportunities n II. Info Requirements Analysis n III. Systems Analysis n IV. Systems Design n V. Development & Documentation n VI. Systems Testing n VII. Implementation & Evaluation n On-going Maintenance Phase OOAD only affects phase III, IV, and V. The other phases remain the same. Object-Oriented Analysis -- 15Ó 1995 John Mylopoulos Five Layers to OOA n Class/Object Layer n Structure Layer n Service Layer n Attribute Layer n Subject Layer Object-Oriented Analysis -- 16Ó 1995 John Mylopoulos Structure: Basic Class Notation Patient # Patient # Patient # physician room bed lastVist nextVisit Patient In-Patient Out-Patient ER Notation OOA Notation patient in-patient out-patient physician room bed lastVisit nextVisit Object-Oriented Analysis -- 16Ó 1995 John Mylopoulos Structure: Basic Class Notation Patient # Patient # Patient # physician room bed lastVist nextVisit Patient In-Patient Out-Patient ER Notation OOA Notation patient in-patient out-patient physician room bed lastVisit nextVisit Object-Oriented Analysis -- 17Ó 1995 John Mylopoulos Structure: Subtyping or Generalization-Specialization Patient # Patient # Patient # physician room bed lastVisit nextVisit Generalization/specialization structures organize objects into taxonomies. Patients are either in-patients or out-patients. The physician attribute of patients is inherited by both in-patients and out-patients. Patient In-Patient Out-Patient Object-Oriented Analysis -- 18Ó 1995 John Mylopoulos Structure: Whole-Part Structures trafficLight location support lampAssembly 0,3 1,1 1,1 0,1 Whole-Part structures describe an object as an assembly of other objects. A traffic light consists of 0 to 3 lampAssemblies, a single support and a single location. Object-Oriented Analysis -- 18Ó 1995 John Mylopoulos Structure: Whole-Part Structures trafficLight location support lampAssembly 0,3 1,1 1,1 0,1 Whole-Part structures describe an object as an assembly of other objects. A traffic light consists of 0 to 3 lampAssemblies, a single support and a single location. Object-Oriented Analysis -- 19Ó 1995 John Mylopoulos Services n Objects provide services to other objects in their environments. For example, a physician object may provide services examine, report. n Coad distinguished three types of services: Occurence services, whereby objects are created, destroyed, changed,...; Coad suggests using a generic service occur and not mention it for any particular object; Calculate services, where an object performs a calculation for some other object; Monitor services, where an object is monitoring some process to see if some condition applies; n A special notation is used (dashed-line arrow) to indicate that an object is using services from another object. OOA views the world with Smalltalk glasses... Object-Oriented Analysis -- 20Ó 1995 John Mylopoulos Services and Relationships in-patient patientRecord physician room bed visits tests 1 0,m 1 0,1 physician, in-patient use each other s services examine report visitPhys takeTest getData physician getsData from patientRecord Object-Oriented Analysis -- 20Ó 1995 John Mylopoulos Services and Relationships in-patient patientRecord physician room bed visits tests 1 0,m 1 0,1 physician, in-patient use each other s services examine report visitPhys takeTest getData physician getsData from patientRecord Object-Oriented Analysis -- 21Ó 1995 John Mylopoulos distinct dial tone idle busy busy dial tone ringing on hook/quiet off hook/ dial tone on hook/quiet busy #/ busy tone Dial #/ ring back tone dial 9/ dist tone dial #/ ring back tone called off hook/ connected Legend: input/output State Transition Diagrams dial busy number/ busy tone connected Object-Oriented Analysis -- 22Ó 1995 John Mylopoulos Methodology n Identify objects and classes (i.e., generic objects) n Identify structures and build generalization, aggregation hierarchies. n Define subjects. These partition all the objects and classes of an object model into subject layers, which represent the application from a particular perspective. Often whole Gen-Spec or Part-Whole structures are grouped under one subject. n Identify information that should be associated with each object. Place attributes at the right structural level. n Define services for each class. Object-Oriented Analysis -- 22Ó 1995 John Mylopoulos Methodology n Identify objects and classes (i.e., generic objects) n Identify structures and build generalization, aggregation hierarchies. n Define subjects. These partition all the objects and classes of an object model into subject layers, which represent the application from a particular perspective. Often whole Gen-Spec or Part-Whole structures are grouped under one subject. n Identify information that should be associated with each object. Place attributes at the right structural level. n Define services for each class. Object-Oriented Analysis -- 23Ó 1995 John Mylopoulos Terminology OOA OOSE OOD OMT (Jacobson) (Booch) (Rumbaugh) Metaclass Object Instance Object Object Gen-Spec Inheritance inherits Generalization Whole-Part Consists-of Aggregation Instance conn. Acquaintance Link Message Stimuli Message Event Message conn. Communication Attribute Attribute Attribute Service Operation Operation Subject ~View (subsystem) Sheet (Execution thread) Use case ~Scenario (User) Actor Object-Oriented Analysis -- 24Ó 1995 John Mylopoulos The Unified Modeling Language n Booch and Rumbaugh started working towards a unified modeling language (UML) in 1994 under the auspices of Rational Inc. n UML only offers a notation, not a methodology for modeling (as various OOA techniques do). n UML will be proposed by Rational Inc. and by Hewlett-Packard as a standard for object-oriented analysis and design, to be adopted by the OMG. n If adopted by OMG, it is expected that all vendors will modify their CASE tools to make them consistent with UML [UML97]. Object-Oriented Analysis -- 24Ó 1995 John Mylopoulos The Unified Modeling Language n Booch and Rumbaugh started working towards a unified modeling language (UML) in 1994 under the auspices of Rational Inc. n UML only offers a notation, not a methodology for modeling (as various OOA techniques do). n UML will be proposed by Rational Inc. and by Hewlett-Packard as a standard for object-oriented analysis and design, to be adopted by the OMG. n If adopted by OMG, it is expected that all vendors will modify their CASE tools to make them consistent with UML [UML97]. Object-Oriented Analysis -- 25Ó 1995 John Mylopoulos Remarks n Object-oriented analysis techniques are supposed to make it easier to generate a design and subsequently code from a requirements specification. n The introduction of semantic structuring mechanisms (generalization, aggregation) to requirements modeling is definitely a step in the right direction. n Trouble is, in the process, OOA techniques straightjacket the modeller s view of the world (...the guy with the hammer sees the world like a bunch of nails...) n OOAD modellers often forget first few phases. n OOAD doesn t lend itself well to drastically different architectures Object-Oriented Analysis -- 26Ó 1995 John Mylopoulos References n [Booch86] Booch, G., Object-Oriented Development , IEEE Transactions on Software Engineering 12(2), February 1986. n [Booch94] Booch, G., Object-Oriented Analysis and Design, Benjamin- Cummings, 1994 (2nd edition). n [Coad91] Coad, P. and Yourdon, E., Object-Oriented Analysis, Prentice Hall, 1991. n [Jacobson92] Jacobson, I., Christerson, M., Jonsson, P., Overgaard, G., Object-Oriented Software Engineering, Addison-Wesley, 1992. n [Martin93] Martin, J., Object-Oriented Analysis and Design, Prentice-Hall, 1993. n [Rumbaugh91] Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W., Object-Oriented Modeling and Design, Prentice-Hall, 1991. n [UML97] http://www.rational.com Object-Oriented Analysis -- 26Ó 1995 John Mylopoulos References n [Booch86] Booch, G., Object-Oriented Development , IEEE Transactions on Software Engineering 12(2), February 1986. n [Booch94] Booch, G., Object-Oriented Analysis and Design, Benjamin- Cummings, 1994 (2nd edition). n [Coad91] Coad, P. and Yourdon, E., Object-Oriented Analysis, Prentice Hall, 1991. n [Jacobson92] Jacobson, I., Christerson, M., Jonsson, P., Overgaard, G., Object-Oriented Software Engineering, Addison-Wesley, 1992. n [Martin93] Martin, J., Object-Oriented Analysis and Design, Prentice-Hall, 1993. n [Rumbaugh91] Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W., Object-Oriented Modeling and Design, Prentice-Hall, 1991. n [UML97] http://www.rational.com