OOAD, which stands for Object Oriented Analysis and Design, is just one chain in the process of software/application development. Every software or application has to response to user's requirements. Usually, architects analyze these requirements and design a solution, then developers implement the solution with a programming language, then quality assurance staff test the implementation and finally training facilities turn the key to end users.
Object Oriented(OO) is just one of the methodologies that architects choose. It is popular now, but before it, there have been many other methodologies, e.g. Function Oriented, and they are actually successful and still useful especially when OO programming language is not available or suitable in certain situations. However, OO does have some advantages over others. Code reuse is one of the major advantages. For detail, please google "Object Oriented" and "advantage".
Analysis is the interface between architects and end users, customers and business analysts (shortly as users). A description of the problem or requirements must be created before anything can happen. Requirements are actually the responsibility of users, however, since most users are not trained with software engineering, starting here architects need to take some leadership (see, there IS a reason why you need to be a leader to be hired as an architect. ^_^) and gather stories from users and create documents to describe and code all requirements. And that defines what the problem is about and what a software or application must do. Analysis emphasizes an investigation of the problem rather than how a solution is defined. For example, if a card game which players lead 4 cards to a result of 24 by using +-x/ is desired, what are the business(or game) processes related to its use?
To develop an application, it is also necessary to have high level and detailed descriptions of the logical solution and how it fulfills requirements and constraints. Design emphasizes a logical solution, how the system fulfills the requirements. To illustrate, how exactly will a library system capture and record over-due loans?
After all, the investigation on business processes is called requirements analysis, investigation on user roles is called domain analysis, investigation on responsibilities and interactions is called responsibility and interaction design. Besides, OOAD emphasizes decomposing a problem space by objects rather than by functions, systems and sub-systems.
Wednesday, September 20, 2006
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment