Sie sind auf Seite 1von 5

February 2013 (Spring drive) Bachelor of Computer Application (BCA) Semester 6 BC0057 Object Oriented Analysis and Design

gn 4 Credits
Question 1 Explain the advantages of object-oriented systems? Answer Advantages of an object-oriented systems Higher level of abstraction: - Top-down approach support abstraction at the function level. The object-oriented approach support abstraction at the object level. Seamless transition among different phases of software development: The object-oriented approach essentially uses the same language to talk about analysis, design, programming and database design. This seamless approach reduces the level of complexity and redundancy and makes for clearer. Encouragement of good programming techniques: - In a properly designed system, the classes will be grouped into subsystems but remain independent. Therefore, changing one class has no impact on other classes. Promotion of reusability: - Objects are reusable because they are modeled directly out of real-world problem domain. The object orientation adds inheritance, which is a powerful technique that allows classes to be built from each other. Question 2 Explain the Booch Methodology? Answer The Booch methodology is a widely used object-oriented method that helps you design you system using the object paradigm. The Booch method consists of the following diagrams: Class diagrams Object diagrams State transition diagrams Module diagrams Process diagrams Interaction diagrams

The Booch methodology prescribes a macro development process and a micro development process.

Car color manufacturer cost

Ford

Mustang

Taurus

Escort

The Macro development process The macro process serves as a controlling framework for the micro process and can take weeks or even two months. The macro development processes consist of the following steps: 1. Conceptualization: During conceptualization, you establish the core requirements of the system. 2. Analysis and development of the model: In this step, you use the class diagrams to describe the roles and responsibilities objects are to carry out in performing the desired behavior of the system. 3. Design or create the system architecture: In this design phase, you use the class diagram to decide what classes exist and how they relate to each other. Also, determine the schedules for multiple processes on each relevant processor. 4. Evolution or implementation: Successively refine the system through much iteration. 5. Maintenance: Make localized changes to the system to add new requirements and eliminate bugs. The Micro development process Each macro development process has its own micro development processes. The micro development process consists of the following steps: 1. Identify classes and objects. 2. Identify classes and objects semantics. 3. Identify classes and objects relationships. 4. Identify classes and objects interfaces and implementations.

Question 3 Justify that UML is a language for modeling, visualizing, specifying, constructing, and documenting. Answer The UML is a language for modeling, visualizing, specifying, constructing and documenting the artifacts of a software intensive system. The UML is a Language for Modeling A language provides a vocabulary and the rules for combining words in that vocabulary for the purpose of communication. A modeling language is a language whose vocabulary and rules focus on the conceptual and physical representation of a system. The vocabulary and rules of a language such as the UML tell you how to create and read well formed models. A well defined process will guide you in deciding what artifacts to produce, what activities and what workers to use them, create them and manage them, and how to use those artifacts to measure and control the project as a whole. The UML is a Language for Visualizing The UML is more than just a bunch of graphical symbols. Rather, behind each symbol in the UML notation is a well-defined semantics. The UML is such a graphical language. Using UML, you can produce explicit models that facilitate communication. The UML is a Language for Specifying Specifying means building models that are precise, unambiguous, and complete. The UML addresses the specification of all the important analysis, design, and implementation decision that must be made in developing and deploying a software intensive system. The UML is a Language for Constructing The UML is not a visual programming language, but its models can be directly connected to a variety of programming languages. This means that it is possible to map from a model in the UML to a programming language such as Java, C++, or Visual Basic, or even to table in a relational database or the persistent store of an object-oriented database. Things that are best expressed graphically are done so graphically in the UML, whereas things that are the best expresses textually are done so in the programming language. The UML is a Language for Documenting A healthy software organization produces all sorts of artifacts in addition to raw executable code. The artifacts include, Requirements Architecture Design Source code Project plans Tests Prototypes

Releases

The UML addresses the documentation of a systems architecture and all of its details. The UML also provides a language for expressing requirements and for tests. Finally, the UML provides a language for modeling the activities of project planning and release management. Question 4 What are the potential advantages of treating two related classes as subclasses of some super class? Answer Most of the attributes and methods of the super class can be inherited in the subclass. Question 5 How is responsibility-driven design used as a guide for deciding how to allocate operation to classes? Answer The principle of responsibility-driven design states that, if Class A sends a message to Class B telling it to do something, it is the responsibility of Class B to perform the requested operation. The Estimate Funds Available for Week use case of the STAR Foundation case study includes the message 3: Request estimated return on investments for week. The weekly return on investments is computed by summing the estimated annual return of each investment and dividing. It is not important whether the message to determine the estimated annual return is sent from STAR Application Class, Asset Class, or any other class. What is important is that Investment Class has the responsibility of determining the annual return on an investment. Question 6 Explain the five core workflows of the Unified Process? Answer Five workflows, namely, the requirements workflows, analysis workflow, design workflow, implementation workflow, and test workflow. In each increment, part of each of these five workflows is carried out. The Requirements Workflow The aim of the requirements workflow is to ensure that the developers build the right information system. This is achieved by describing the target information system sufficiently clearly and accurately that the two main stakeholders, the client and the developers, can agree on what the information system should do and should not do. The Analysis Workflow The purpose of the analysis workflow is to analyze and refine the requirements. By doing this we achieve the detailed understanding of the requirements that we must have to develop an information system correctly and to maintain it easily. The key point is that the output of the requirements workflow must be totally comprehensible by the client. In other words, the artifacts of the requirements workflow must be expressed in the language of the client, that is, in a natural language such as English, Armenian, or Zulu. For example, consider the following paragraph:

A part record and a plant record are read from the database. If it contains the letter, A directly followed by the letter Q, then calculate the cost of transporting that part to that plant. The Design Workflow During the design workflow, we refine the analysis workflow until the material is in a form that can be implemented by the programmers. In addition, a number of requirements need to be finalized at this time, including choice of programming language, as well as reuse and portability issues. The Implementation Workflow The aim of the implementation workflow is to implement the target information system in the selected implementation language. More precisely, a large information system is partitioned into smaller subsystems, which are then implemented in parallel by coding teams. Once the programmer is satisfied that the component is correct, it is passed onto the quality assurance group for further testing. The Test Workflow The test workflow is the responsibility of the quality assurance group. As pointed out at the end of the previous section, each component is tested by the quality assurance group as soon as it has been implemented, this is termed unit testing. When the product appears to be complete, it is tested as a whole, this is termed product testing. When management believes that the product is fault-free, it is installed on the clients computer. The client now performs acceptance testing. That is, client checks whether the delivered information system satisfies its specifications.

Das könnte Ihnen auch gefallen