Object-oriented analysis and design - Wikipedia
Object-oriented analysis and design (OOAD) is a popular technical approach for analyzing and . The main difference between object-oriented analysis and other forms of analysis is that by the object-oriented OOA and OOD are the two distinct abstract levels (i.e. the analysis level and the design level) during OOM. A close look at object-oriented design and analysis in software development, In short, OOA is an iterative stage of analysis, which takes place during the software The object model might describe the names, relationships. 4 Consistency of OOA and OOD Models The consistency of OOA and OOD models may be judged by “considering the relationships among entities in the model.
Actually, in any problem-solving task, switching perspectives is often useful for solving the problem. OOD Understand the problem: What are the objects in the domain and how do they collaborate. I want the iPod to play music MusicPlayer class Understand the solution: What objects do I need to add to get this thing to run on a computer and to be realized in some programming language?
Before we begin coding to get a good start To add new functionality update CRC cards and scenarios regularly Design is an iterative process. So, even when you are already coding, it may help you to think at the design level again.
In particular, what is already out there for you to use may make you reconsider your design. If so, go back and work with the CRC cards. Not only is it a good practice, it is also excellent at keeping your team on the same page. Are some subclasses of others? Are some instances of others? Filter Candidate Classes 12 Filter Candidate Classes Core Classes pretty sure these are in Analysis model Undecided Classes probably not classes — might be attributes Eliminated Classes — outside scope of system, Application model classes like UI components tied to implementation Coming up: Superclass is only put in if necessary.
The collaborators other classes should match up with the responsibilities that they are needed for. Pattern and stereotype not needed for the project Coming up: Responsibilities Collaborators Coming up: A Document acts as a container for graphics and text. Structurer Pattern and stereotype not needed for the project Coming up: Play the Cards Assign Roles Go Through Scenario Write down new responsibility Add collaborator objects to help with that responsibility Team members hold up cards as they participate Coming up: Scenario Guidelines 21 Scenario Guidelines Concrete: Sally creates a new Sorceress character and chooses auto-configuration.
Object oriented design OOD is a software design method, is a kind of Engineering specification. This is without a doubt.
- Object-oriented analysis and design
- OOAD - Object Oriented Paradigm
According to Bjarne Stroustrup, the object oriented programming paradigm paradigm is[Stroustrup, 97]: L decided to your class, L provides a set of operations for each class complete, L explicitly use inheritance to performance in common. By this definition, we can see: The goal of OOD is the interdependence of each part of the management program within the.
In order to achieve this goal, OOD will require the program is divided into blocks, each block size should be small enough to be management degree, and then each block is hidden in the interface are respectively Interface behind, let them only through the interface interaction. For example, if you use the OOD method to the design of a client server client-server application, then between the server and the client should not have direct dependence, but should let the server and client interface interdependence.
Conversion of this dependency makes every part of the system is reusability. Or take the above example, the client does not depend on a particular server, so you can reuse the other environment.
If you want to reuse a block, as long as the implementation must interface on the line. OOD is a software problem solving design paradigm paradigman abstract paradigm.
The use of OOD design pattern, we can use the object object to represent the problem domain problem domain entities, each object has a corresponding state and behavior. OOD is an abstract model. Abstract can be divided into many levels, from general to special have, and object may be at any level of abstraction.
In addition, each different but interrelated objects can constitute the abstract: A, OOD background But in the rapid development of computer hardware technology. For decades the mysterious huge monster, mobile chip to now carry; operation from thousands of operations per second to tens of billions of times per second.
When software developers are looking for can let the software development productivity is increased by one order of magnitude "silver bullet" [Brooks, 95], hardware development productivity has increased a hundred times.Object oriented analysis and design-Introduction In Hindi
Hardware engineers can be so efficient, because they are very lazy. They will always adhere to the "don't reinvent the wheel" adage. Grady Booch these black box called generic class categorynow we usually call them "component component ".
Category is called the category class composed of entities, through the association between classes relationship together. A class can put a lot of detail hidden, showing only a simple interface, which is in accordance with people like abstract psychological.
So, this is a great concept, because it gives us based encapsulation and reuse, so that we can from the perspective of the problem, rather than from the point of view of the machine. Software reuse is initially started from the library and library, the two kinds of multiplexing forms are actually white box reuse.
To 90 time, start and sale of black box software module real human development: Framework framework and controls control. The framework and the control is often affected by platform and language restrictions, now the new trend of software technology is used SOAP as the transmission medium of the Web Service, which can make the software module from the bondage of platform and language, to achieve a higher degree of multiplexing.
But think, in fact, Web Service is object oriented, but the correlation between classes of XML used to describe[Li, 02]. In the past 10 years, the object oriented technology to a great role in promoting the software industry.
In the predictable future, it will still be the main technology of software design -- at least I can not see what the technology can replace it. In two, OOD in the end where you come from? There are a lot of people think: OOD software design idea and SD completely different. SD focus on the process of data structure and data structure. In OOD, and data structures are objects hidden, both almost irrelevant.
Before and afterthe concept of OOD and the birth of SD almost at the same time, they are in a different way to represent the data structure and algorithm. At that time, around the two concepts, many scientists have written a lot of paper. Among them, some papers written by Dijkstra and Hoare two people spoke of "the right of program control structure" in this topic, claiming that the goto statement is harmful, should use the branching order, cycle, the three kinds of control structure to form the whole program flow.
These concepts development constitutes a structured program design method; while some papers written by Ole-Johan Dahl focuses on units in a programming language, a program unit which is kind, it has the main characteristics of object oriented programming. These two concepts immediately part company each going his own way.
In structured side of the history we are familiar with: NATO conference adopted the idea of Dijkstra, the software industry to agree with the goto statement is indeed harmful, structured method, the waterfall model began to be popular from the 70's.
At the same time, numerous scientists and software engineers also help structure the method of continuous development and improvement, there are a lot of this is enough to make us said of a great teacher's name, such as Constantine, Yourdon, DeMarco and Dijkstra. For a long time, the whole world believe: Of course, the last time to prove everything. At the same time, object oriented, research and education in the field of slow development.
Structured programming can be applied to almost any programming language, and the object oriented programming language is needed to support the , it also hampers the development of object oriented technology. In fact, in the late 60's, object oriented language only Simula this one. Invented another method based on object oriented language, that is the famous Smalltalk. However, till 80 time metaphase, Smalltalk and several other object-oriented languages still stays in the lab.
To the 90's, OOD suddenly became popular throughout the software industry, it is a revolution in the history of software development.
Object-Oriented Analysis - ppt video online download
However, climbing to the telescope, new things always stands on the basis of the old things. Design methods of 70's and 80's revealed many valuable concept, who can't also dare not ignore them, OOD. Three, what is the difference between OOD and traditional method?
Remember the structured design method? Program is divided into many modules, these modules are organized into a tree structure. The root of the tree is the main module, tool module and function module of leaves is the lowest. At the same time, the tree said call structure: So, those strategies which module is responsible for the collection of the most important applications?
Of course is the top of the. In the module realization of just under the smallest details, the top module for the largest problem. So, in this architecture and rely on, the level of abstraction of concept is higher, more close to the problem domain; architecture in the lower position, the concept is more close to the details, and issues in the field of less, and relationships with the solution in the field of more. However, due to the top of the module call below the module, the module above depends on the details below.
In other words, related issues in the field of abstract depends on the details of the field has nothing to do with the problem! That is to say, when the details of implementation changes, the abstract will also be affected. But, if we want to reuse a abstract words, we must take it on details are together in the past. In OOD, we hope to reverse this dependency: The dependence of reversals is the fundamental difference between OOD and traditional technology, it is the essence of OOD thought.
The four step, OOD The refinement and implementation of inter class relationships, clear visibility Add attributes, types and visibility for the specified attribute Assign responsibility, the definition of the implementation of each function method The system message driven, explicit message passing mode Local design using design patterns Class diagram and sequence diagram in detail Main work in five, OOD in the design process to unfold a refinement process object definition specifications For the analysis of document OOA abstracted object -- and collection, OOD needs a according to the design requirements, sorting and refinement process, so that it can meet the need of OOP.
The sorting and refinement process mainly has two aspects: The two is sorted, so that the next step in database design and module design process. Finally, the data for each object instance must be implemented in object-oriented database structure model. Modular object and structure of OOD provides a paradigm, this paradigm to support modularization and structure of class. This module meets all the characteristics of general modular requirements, such as information concealment, between the internal degree of polymerization of strong and weak coupling degree.
Integrated so that the individual components are organically combined together, support each other. Characteristics of six, OO method and problems The OO method is based on the object, using specific software tools directly to complete the conversion from the description of the object to the software structure. This is the characteristics and achievements of the main OO method. Application of OO method to solve the traditional structured development methods in the objective world description tool and soft Inconsistent problem structure, shorten the development cycle, to solve the complicated process from analysis and design to software modules mapping, is a promising method for system development.
But like the prototype method, OO method requires software foundation support can be applied, in MIS the development of large-scale if without the overall division of top-down, but start from the bottom to the OO method to develop the system based on, also will cause the problem of system structure is not reasonable, the maladjustment of the relationship between etc.
So the OO method and structured method is still the two interdependent systems development in the field, an irreplaceable method. Seven, OOD can bring what I? The person who asked this question, the mind is usually think "OOD can solve all problems of design? OOD does not solve all design problems, avoid the software crisis, safeguard world peace OOD is a kind of technology. However, it is an excellent technology, it can solve the most software design problems -- of course, this requires the designer has sufficient capacity.