A Real Life Picture of Object Oriented Analysis and Design Services > Hire OOAD Professionals On Contract Basis
Object Oriented Analysis
Object Oriented Analysis views the world as objects with data structures and behaviors and events that trigger operations (object behavior changes). This in turn changes the state of objects. The idea that a system can be viewed as a collection of interacting objects, each of which is a bundle of data and functionality, is the foundation of this technology and provides an attractive alternative for the development of complex systems. This is a far-reaching departure from prior methods of requirements specification, such as structured analysis and design and functional decomposition.
We all know what objects are. For the uninitiated, object is a representation of a real-life entity or abstraction. For instance, objects in a car rental system might include: a car, route, an icon on a screen, or even a full screen with which a travel agent interacts.
What OOA does is to specify the structure and behavior of the object i.e. the requirements of that object. To specify the requirements of the objects different types of models are required. The information or object model will contain the definition of objects in the system, including: object name, object attributes, and object relationships to other objects. This technology works best when used in new development.
OO Analysis involves the team to arrive at the description of the problem and subsequently identify the requirements. The fundamental question to ponder over here is what the problem is about and what a system must do. Analysis emphasizes and investigates the problem rather than how a solution is desired. Once this is done, it’s time to move on to the next phase i.e. the design part.
Object Oriented Design Object-oriented design (OOD) is mainly concerned with developing an object-oriented model of a system to implement the identified requirements. It involves arriving at detailed descriptions of logical solution to the problem identified during the OOA stage. It seeks answers to questions like how the logical solution fulfills requirements and constraints. It builds on the products developed during OOA by refining candidate objects into classes, defining data structures and procedures, and defining message protocols for all objects.
The most important part of OOD is mapping the above mentioned things into an object-oriented programming language (OOPL). OOD requires the specification of concepts that are not existent in analysis, such as the types of the attributes of a class, or the logic of its methods.
Design can be thought of in two phases. The first, called high-level design, deals with the breaking up of the system into large, complex objects. The second phase is called low-level design. In this phase, attributes and methods are specified at the level of individual objects. This is also where a project can realize most of the reuse of object-oriented products, since it is possible to guide the design so that lower-level objects correspond exactly to those in existing object libraries or to develop objects with reuse potential.
OOD techniques are useful for development of large complex systems. It can yield the following benefits: maintainability through simplified mapping to the problem domain, which provides for less analysis effort, less complexity in system design, and easier verification by the user; reusability of the design artifacts, which saves time and costs; and productivity gains through direct mapping to features of Object-Oriented Programming. Ultimately designs can be implemented in software and hardware as well.
The use of object oriented technology requires formal training in OOA methods. A method of training that has produced desired results at Stylus is to initiate pilot projects, conduct formal classes, and conduct team reviews to properly train all the analysis and development staff as well as the program management team.
Technical management at Stylus Systems is aware that the maximum impact from OOAD is achieved when used with the goal of designing reusable software. Another very important knowledge is that for objects without significant reuse potential, OOAD techniques were more costly than traditional software development methodologies.
Check out Stylus technical management team undergoing training in our Bangalore campus here.
Read Essential FAQs about object oriented analysis and design.