Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1
Object Oriented Analysis and Design-Complete

Object Oriented Analysis and Design-Complete

Ratings: (0)|Views: 202 |Likes:
Published by gurugabru

More info:

Published by: gurugabru on Dec 19, 2011
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less





Bachelor of Computer Application (BCA) – Semester 6BC0057 – Object Oriented Analysis and Design
Assignment Set – 1 (60 Marks)
1. Discuss the importance of object orientation during system development.Ans
In an object-oriented environment, software is a collection of discrete objects that encapsulate their data as well as the functionality to model real world “objects”. In an object oriented system, everything isan object and each object is responsible for itself. In a payroll application, instead of saying, “System,compute the payroll of this employee”, you tell the employee object, “Compute your payroll”.Object oriented systems are easier to adapt to changing requirements, easier to maintain, more robust, and promote greater design and code reuse.· Higher level of abstraction. Top-down approach supports abstraction at the function level. The object-oriented approach supports abstraction at the object level. Since objects encapsulate both data (attributes)and functions (methods), they work at a higher level of abstraction.· Seamless transition among different phases of software development. The object-oriented approachessentially uses the same language to talk about analysis, design, programming and database design. Thisseamless approach reduces the level of complexity and redundancy and makes for clearer, more robustsystem development.· Encouragement of good programming techniques. In a properly designed system, the classes will begrouped into subsystems but remain independent. Therefore, changing one class has no impact on other classes, and so, the impact is minimized which encourages good programming.· 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 allowsclasses to be built from each other and therefore, only differences and enhancements between the classesneed to be designed and coded
2. What is polymorphism? Explain it with one exampleAns
Poly means “many” and morph means “form”. In the context of object-oriented systems, it meansobjects that can take on or assume many different forms. Polymorphism means that the same operationmay behave differently on different classes.Polymorphism allows us to write generic, reusable code more easily, because we can specify generalinstructions and delegate the implementation details to the objects involved. Since no assumption is madeabout the class of an object that receives a message, fewer dependencies are needed in the code and,therefore maintenance is easier. For example, in a payroll system, manager, office worker, and productionworker objects all will respond to the compute payroll message, but the actual operations performed areobject specific.3. Explain the various tools for software implementation.Ans
4. Explain Jacobson et al.’s methodologies.Ans
The Jacobson et al. methodologies (e.g. Object-Oriented Business Engineering (OOBE), Object-Oriented Software Engineering (OOSE), and Object Factory for Software Development (Objectory))cover the entire life cycle and stress traceability between the different phases, both forward and backward.Use CasesUse cases are scenarios for understanding system requirements. A use case is an interaction between usersand a system. The use-case model captures the goal of the user and the responsibility of the system to itsusers. In the requirements analysis, the use cases are described as one of the following:· Non-formal text with no clear flow of events
· Text, easy to read but with a clear flow of events to follow (this is a recommended style)· Formal style using pseudo codeThe use case description must contain:· How and when the use case begins and ends· The interaction between the use case and its actors, including when the interaction occurs and what isexchanged· How and when the use case will need data stored in the system or will store data in the system· Exceptions to the flow of events· How and when concepts of the problem domain are handled.Every single use case should describe one main flow of events. An exceptional or additional flow of events could be added. The exceptional use case extends another use case to include the additional one.The use case model employs extends and uses relationships. The extends relationship is used when youhave one use case that is similar to another use case but does a bit more. In essence, it extends thefunctionality of the original use case (like a subclass). The uses relationship reuses common behavior indifferent use cases.Use cases could be viewed as concrete or abstract. An abstract use case is not complete and has no actorsthat initiate it but is used by another use case. This inheritance could be used in several levels. Abstractuse cases also are the ones that have uses or extends relationships. Some uses of a library. As you can see, these are external views of the library system from the actor suchas a member. The simpler the use case, the more effective it will be. It is unwise to capture all of thedetails right at the start; you can do that later.Object-Oriented Software Engineering: ObjectoryObject-oriented software engineering (OOSE), also called Objectory, is a method of object-orienteddevelopment with the specific aim to fit the development of large, real-time systems.Objectory is built around several different models:· Use case model. The use-case model defines the outside (actors) and inside (use case) of the systems behavior.· Domain object model. The objects of the “real” world are mapped into the domain object model.· Analysis object model. The analysis object model presents how the source code (implementation) should be carried out and written.· Implementation model. The implementation model represents the implementation of the system.
· Test model. The test model constitutes the test plans, specifications, and reports. 
The use-case model is considered in every model and phase.Object-Oriented Business Engineering
OOBE is object modeling at the enterprise level.· Analysis phase. The analysis phase defines the system to be built in terms of the problem-domain objectmodel, the requirements model, and the analysis model. The analysis process should not take into accountthe actual implementation environment. This reduces complexity and promotes maintainability over thelife of the system, since the description of the system will be independent of hardware and softwarerequirements.· Design and implementation phases. The implementation environment must be identified for the designmodel. This includes factors such as DBMS, distribution of process, constraints due to the programminglanguage, available component libraries, and incorporation of graphical user interface tools.· Testing phase. Finally, Jacobson describes several testing levels and techniques. The levels include unittesting, integration testing, and system testing.
5. Justify that UML is a language for modeling, visualizing, specifying, constructing, anddocumenting.Ans
The UML is a language for modeling, visualizing, specifying, constructing and documenting theartifacts of a software intensive system.The UML is a Language for ModelingA 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 conceptualand physical representation of a system. A modeling language such as the UML is thus a standardlanguage for software blueprints.Modeling yields an understanding of a system. No one model is ever sufficient. Rather, you often needmultiple models that are connected to one another in order to understand anything but the most trivialsystem. For software intensive systems, this requires a language that addresses the different views of asystem’s architecture as it evolves throughout the software development life cycle.The vocabulary and rules of a language such as the UML tell you how to create and read well formedmodels. But they don’t tell you what models you should create and when you should create them. That’sthe role of the software development process. A well defined process will guide you in deciding whatartifacts to produce, what activities and what workers to use them, create them and manage them, andhow to use those artifacts to measure and control the project as a whole.The UML is a Language for Visualizing

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->