Page 116 - DCAP308_OBJECT_ORIENTED_ANALYSIS_AND_DESIGN
P. 116

Object Oriented Analysis and Design




                    Notes          All participants in the process need to be familiar with their context: where do their inputs come
                                   from and who uses their outputs. A business analyst operates in the requirements domain, but
                                   they must understand both the customer’s needs and the task faced by the technical analyst who
                                   translates their requirements into the problem domain. Similarly, technical analysts must
                                   understand both requirements and the technical difficulties faced by developers who must work
                                   in the solution domain.
                                   The requirement document will be the main document for developers, testers and database
                                   administrators. In other words, this is the main document that will be referred by everyone.
                                   After the requirement documents, other detailed documents many be needed.


                                          Example: The architectural design which is a blueprint for the design with the necessary
                                   specifications for the hardware, software, people and data resources.

                                       !
                                     Caution Developers need to understand the problem domain model, and they have to
                                     understand the target technology.

                                   The object-oriented methodology developed based on the lack of synergy between process-
                                   centered and data-centered approaches in SDLC (software development life cycle). Decomposition
                                   of system into a set of process (process centric) or data (data centric) cannot be easily obtained,
                                   as both aspects are closely related one another.

                                   It is difficult to develop system by primarily focusing only to one aspect. As result, the system
                                   produced tends to be extendable only in one world. A process centric developed system cannot
                                   be easily extended when there are changes in type of data in the system. This kind of problems
                                   also exists in the data centric developed system.
                                   OO methodology decomposes problems into objects. Objects are considered part of the system
                                   that contains both process and data, an object may do some activities/processes (mapped as
                                   object methods), an object may also have states (mapped as object attributes). This way, developers
                                   will focus on the entity in the system that actually does processes and carries data, rather than
                                   focus primarily only to one aspect.




                                     Notes OO-based system development extensively uses a tool called UML (Unified
                                     Modeling Language), which is a set of standard in diagramming and modeling techniques
                                     invented by three OO champions, Grady Booch, Ivar Jacobson, and James Rumbaugh,
                                     when they worked together in Rational Software. In 1997 UML proposed to and accepted
                                     by the Object Management Group (OMG) as a standard diagramming notation in object-
                                     oriented system development.

                                   An OO approaches in system development must be:
                                       Use case Drive: This means that use case is the primary modeling tool to define system
                                       behavior. Use cases describe how the users of the system interact with the system to
                                       perform activity. And as a use case focuses only to one activity at a time, it is inherently
                                       simple.
                                       Architecture Centric: The term architecture centric gives a high level view of the system
                                       being developed. The software architecture chosen for the system should drive the
                                       specification, construction, and documentation of the system itself. The system architecture
                                       must support three views of the system:




          110                               LOVELY PROFESSIONAL UNIVERSITY
   111   112   113   114   115   116   117   118   119   120   121