On the purpose of Object Oriented Analysis Geri Magne Høydalsvik and Guttorm Sindre.

Slides:



Advertisements
Similar presentations
Critical Reading Strategies: Overview of Research Process
Advertisements

Lecture # 2 : Process Models
Object-Oriented Systems DIF 8901 Presentation of two papers: »On the purpose of Object-Oriented Analysis« »Object-Oriented Integration Testing« Sven Ziemer,
CIT731: Database Development Object Oriented Modeling (OOM)
Alternative Software Life Cycle Models By Edward R. Corner vol. 2, chapter 8, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Systems Engineering in a System of Systems Context
Systems development life cycle & development methodologies
Software Engineering Techniques for the Development of System of Systems Seminar of “Component Base Software Engineering” course By : Marzieh Khalouzadeh.
Introduction To System Analysis and Design
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Four Dark Corners of Requirements Engineering
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Course Technology Chapter 3: Project Integration Management.
1 Objective of today’s lesson S oftware engineering occurs as a consequence of a process called system engineering. Instead of concentrating solely on.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
Unified Modeling Language
The Re-engineering and Reuse of Software
Introduction To System Analysis and design
The 2nd International Conference of e-Learning and Distance Education, 21 to 23 February 2011, Riyadh, Saudi Arabia Prof. Dr. Torky Sultan Faculty of Computers.
Using UML to report results of project management for information systems projects Donna M. Gavin MMIS 621 Information Systems Project Management Assignment.
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
9/14/2012ISC329 Isabelle Bichindaritz1 Database System Life Cycle.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
High-Level Design With Sequence Diagrams COMP314 (based on original slides by Mark Hall)
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Adaptive Hypermedia Tutorial System Based on AHA Jing Zhai Dublin City University.
RCDL Conference, Petrozavodsk, Russia Context-Based Retrieval in Digital Libraries: Approach and Technological Framework Kurt Sandkuhl, Alexander Smirnov,
1/26/2004TCSS545A Isabelle Bichindaritz1 Database Management Systems Design Methodology.
Lecture 7: Requirements Engineering
1 Introduction to Software Engineering Lecture 1.
The Systems Development Life Cycle
Illustrations and Answers for TDT4252 exam, June
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
CS /31 Illinois Institute of Technology CS487 Software Engineering OOA with UML David Lash.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
CS251 – Software Engineering Lecture 9: Software Design Slides by Mohammad El-Ramly, PhD
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Software Design Process
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
MDA & RM-ODP. Why? Warehouses, factories, and supply chains are examples of distributed systems that can be thought of in terms of objects They are all.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Business Applications with Object-Oriented Paradigm (Modeling Concepts) Professor Chen School of Business Gonzaga University Spokane, WA
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
The Systems Engineering Context
Parts of an Academic Paper
Overview of System Engineering
Object Oriented Analysis and Design
Introduction To System Analysis and Design PART 2
James Arnold/ Jean Petty 27 September 2007
Introducing Requirements Change Management Process into ISO/IEC 12207
Chapter 19 Testing Object-Oriented Applications
CS 8532: Advanced Software Engineering
Chapter 19 Testing Object-Oriented Applications
Software Design Methodologies and Testing
Presentation transcript:

On the purpose of Object Oriented Analysis Geri Magne Høydalsvik and Guttorm Sindre

The paper discusses the general purpose of analysis and desing and evaluates OOA with respect to this purpose, arguing that OOA often doesn’t deliver that it claims to do.

Outline Introduction The purposes of analysis and design OOA and the purpose of analysis OOA and the transition to design Consequences for the NSR project Positive trends in OOA Conclusion

1.Introduction The background of this work emerged in the NSR project. Within NSR project, the goal is to define a common methodology framework in which partner methods can serve as components. The role of the university is to evalute research results. The reason to evaluate OOA.

Introduction Cont. Two general claims of OOA –OOA fulfills the purposes of analysis –OOA has a smooth transition to design However, the authors found these claims to be false.

2 The purposes of analysis and design The exact boundary between analysis and design is hard to determine. But, still, a difference in purpose between analysis and design is recognized in most life-cycle models. Analysis concerns the description of the problem and the user requirements, whereas design concerns the construction of solution.

Cont. Discuss in more detail the purpose of analysis. –Knowledge to be captured. Analysis shoud concentrate on the requirement, not the solution –Activities to be undertaken. Major concern is Quality assurance, which includes verifacation and validation. –Requirements towards languages and methods. Languages and methods should be problem-oriented rather than target-oriented. (P244 Figure 1) Should be formal. –Transition to design The burden of translation from the problem domain to system domain should not be placed on the shoulders of users invloved in analysis but on the expereinced software engineers.

Problem-oriented vs target- oriented P244 Figure 1

3 OOA and the purpose of analysis 3.1 OOA and the software life-cycle. –For most OOA/OOD approaches, the difference between analysis and design is simply as the difference between what and how. –Instead, the real difference should be whether it addresses user requirements or solution.

3.2 Problem-orientation –Several objections can be made against the claime that object-oriented modelling is natural. –An OO representation might be good for some kind of knowledge, but less suitable for other kinds of knowledge. Business rules. Since business rules tend to be of a global nature, it is diffcult to attach them to any specific class. Dynamic, e.g. Processes. Most OO models are focus on static. Dynamics are scattered, since operations must belong to specific objects.

3.3 Verifaction and validation. –Most languages and methods for OOA are informal –Verification is poorly supported. –Useful validation technniques are not supported.

4. OOA and the transition to design 4.1 The OOPSLA conference registration problem 4.2 Describing the organization. –Static model –Dynamic model 4.3 Describing the software. –Static model with automation boundary. –Objects inside the automation boundary become information objects reflecting corresponding real world objects.

4.4 Comparing the models. Problems that may occur during the transition between analysis and design –The relative importance of classes may change. –Concurrency may change. –Behavior may change. –Services may change. –Attributes and relationships may change.

5 Consequence for the NSR Project. Works done in the context of NSR to achieving the goal of problem-oriented analysis. The role model by TASKON. METIS added a process model similar to DFD. Further implications on formality and validation.

6 Positive trends in OOA OOA has evolved into putting focus on system dynamics. Some methods have recognized the difference between analysis and design. OBA Formal approaches have started to appear. OSA

7 Conclusion The article has presented some general views on the purpose of analysis and design, and based on this it has been shown that OOA has several shortcomings, most importantly in being target-oriented rather than problem-oriented. Also the authors argue that a smooth transition to design is highly questionable.