Você está na página 1de 7

FALL 2013 ASSIGNMENT OF BC0057 ANSWER THE FOLLOWING QUESTIONS:-

1) Why is object oriented system important? State 2 orthogonal views of the software. ANS: - Object oriented systems are easier to adapt to changing requirements, easier to maintain, more robust, and promote design and code reuse.
1. Higher level of abstraction Top-down approach abstraction at the object level. The object oriented approach supports abstraction at the object level since object encapsulate both data (attributes) and functions (methods), they work at a higher level of abstraction. 2. Seamless transition among different phase 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, more robust system development. 3. 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, and so the impact is minimized which encourages good programming. 4. Promotion of reusability Object 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 and therefore, only differences and enhancements between the classes need to be designed and coded. Two orthogonal views of the software:- Niklaus With, the inventor of Pascal says: ALGORITHMS + DATA STRUCTURES = PROGRAMS A software system is a set of mechanisms for performing certain action on certain data. Traditional development techniques focus on the functions of the system. Object oriented system development systems development centers on object, which combines data and functionality.

2) Explain about Encapsulation & information hiding and Class hierarchy.


Ans :- Information hiding is the principal of concealing the internet data and procedures of an object and providing an interface to each object in such a way as to reveal as little as possible about its inners workings. C++ has a very general encapsulation protection mechanism with public, private, and protected members. Public members may be accessed from anywhere. Private members are accessible one from within a class. An object data representation, such as a list or array, usually will be private. Protected members can be

accessed only from subclasses. In per-class protection, the most common form (e.g. Ada, C++,Eiffel), class methods can access any object of that class and not just the receiver. In per-object protection, methods can access only the receiver. An important factor in achieving encapsulation is the design of different classes of objects the operate using common protocol, or objects user interface. This means that many objects will respond to the same message but each will perform the message using operations tailored to its class. Data abstraction is the benefit of the object-oriented concept that incorporates encapsulation and polymorphism. Class hierarchy:- An object-oriented system organizes classes into a subclass-superclass Hierarchy. Different properties and behaviors are used as the basis for making distinctions between classes and subclasses. At the top of the class hierarchy are the most general classes and at the bottom are the most specific. A subclass inherits all of the properties and methods (procedures) define in its superclass. Subclasses generally add new methods and properties specific to that class. Subclasses may refine or constrain the stste and behavior inherited from its superclass. An object-oriented system eliminates duplicated effort by allowing classes to share and reuse behaviors. Formal or abstract classes have no instances but define the common behaviors that can be inherited by more specific classes.

3) Describe Rumbaugh et al.s Object Modeling Technique.


Ans :- The Object Modeling Technique (OMT) presented by Jim Rumbaugh and his co-workers describes a methods for the analysis, design, and implementation of a system using an object-oriented technique. OMT is a fast, intuitive approach for identifying modeling all the objects making up a system. Details such as class attributes, method, inheritance, and association also can be expressed easily. The dynamic behavior of objects within a system can be described using the OMT dynamic model. This model lets we specify detailed state transitions and their descriptions within a system. Finally, a process description and consumer-producer relationships can be expressed using OMTs functional model. OMT consists of four phases, which can be performed iteratively: 1. Analysis. The results are objects and dynamic and functional models. 2. System. The results are a structure of the basic architecture of the system along with high- level strategy decisions. 3. Object design. This phase produces a design document, consisting of detailed objects static, dynamic, and functional models. 4. Implementation. This activity produces reusable, extendable, and robust code. OMT separate modeling into three different parts: 1. An object model, presented by the object model and the data dictionary. 2. A dynamic model, presented by the state diagrams and event flow diagrams. 3. A functional model, presented by data flow and constraints. The object model The object model describes the structure of objects in a system: their identity, relationships to other object attributes, and operations. The object diagram contains classes interconnected by association lines establish relationships among the classes. Each association line represents a set of links from the objects of one class to the objects of another class.

The OMT dynamic model OMT provide a detailed and comprehensive dynamic model, in addition to letting we depict states, transitions, events, and actions. The OMT state transition diagram is a network of states and events. Each state receives one or more events, at which time it makes the transition to the next state. The next state depends on the current state as well as events. The OMT functional model The OMT data flow diagram (DFD) shows the flow of data between different processes in a business. An OMT DFD provides a simple and intuitive method for describing business without focusing on the details of computer systems. Data flow diagrams are four primary symbols: 1. The process is any function being performed; for example, verify Password or PIN in the ATM system. 2. The data flow shows the direction of data element movement; for example, PIN code. 3. The data store is a location where data are stored: for example, account is a data store in the ATM example. 4. An external entity is a source or destination of a data element; for example the ATM card reader. Overall, the Rumbaugh et al. OMT methodology provides one of the strongest tool sets for the analysis and design of object-oriented systems.

4) (i) Explain about the UML language for constructing and Documenting. (ii) List few applications of UML
Ans :-1) 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 tables 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 best expressed textually are done so in the programming language. This mapping permits forward engineering: The generation of code from a UML model into a programming language. The reserve is also possible: We can reconstruct a model from an implementation back into the UML. Reserve engineering is not magic. Unless we encode that information in the implementation, information is lost when moving forward from models to code. Reverse engineering thus requires tool support with human intervention. Combing these two paths of forward code generation and reverse engineering yields round trip engineering, meaning the ability to work in either a graphical or a textual view, while tools keep the two views consistent. In addition to this direct mapping, the UML is sufficiently expressive and unambiguous to permit the direct execution of models, the simulation of systems, and the instrumentation of running systems. THE UML IS A LANGUAGE FOR DOCUMENTING A healthy software organization produces all sorts of artifacts in addition to raw executable code. These artifacts include (but are not limited to), 1. Requirements 2. Architecture 3. Design 4. Source code 5. Project plans 6. Tests

7. Prototypes 8. Releases Depending on the development culture, some of these artifacts are not only the deliverables of a project, they are also critical in controlling, measuring, and communicating about a system during its development and after deployment. The UML addresses the documentation of a systems architecture and all of its details. The UML also provide a language for expressing requirements and for tests. Finally, the UML provides a language for modeling the activities of project planning and release management. APPLICATIONS OF UML The UML is intended primarily for software intensive systems. UML finds extensive applicatons in domains such as: 1. Enterprise information system 2. Banking and financial services 3. Telecommunications 4. Transportation 5. Defense/ aerospace 6. Retail 7. Medical electronics 8. Scientific applications 9. Distributed web based services The UML is not limited to modeling software. In fact, it is expressive enough to model non-software systems, such as workflow in the legal system, the structure and behavior of a patient healthcare system, and the design of hardware.

5) Explain the 3 steps in extracting Entity Classes with a flowchart.


Ans :- Entity class extraction consists of three steps that are carried out iteratively and incrementally: Functional modeling Present scenarios of all the use cases (a scenario is an instance of a use case) Class modeling Determine the entity classes and their attributes Determine the interrelationships and interactions between the entity classes Present this information in the form of a class diagram Dynamic modeling Determine the operations performed by or to each entity class Present this information in the form of a statechart

FLOWCHART FOR EXTRACTING ENTITY CLASSES

6) Explain any 2 phases of Unified Process.


Ans :- Inception Phase :- Inception is the smallest phase in the project, and ideally it should be quite short. If the Inception Phase is long then it may be an indication of excessive up-front specification, which is contrary to the spirit of the Unified Process. The following are typical goals for the Inception phase. 1. Establish a justification or business card for the project
2. Establish the project scope and boundary conditions 3. Outline the use cases and key requirements that will drive the design tradeoffs 4. Outline one or more candidate architectures 5. Identify risks

6. Prepare a preliminary project schedule and cost estimate The Lifecycle Objective Milestone marks the end of the Inception phase. Develop an approximate vision of the system, make the business case, define the scope, and produce rough estimate for cost and schedule. Elaboration Phase During the Elaboration phase the project team is expected to capture a healthy majority of the system requirements. However, the primary goals of Elaboration are to address known risk factors and to establish and validate the system architecture. Common processes undertaken in this phase include the creation of use case diagrams, conceptual diagrams (class diagrams with only basic notation) and package diagrams (architectural diagrams). The architecture is validated primarily through the implementation of an Executable Architecture Baseline. This is a partial implementation of the system which includes the core, most architecturally significant, components. It is built in a series of small, timeboxed iterations. By the end of the Elaboration phase the system architecture must have stabilized and the executable architecture baseline must demonstrate that the architecture will support the key system functionality and exhibit the right behavior in terms of performance, scalability and cost. The final Elaboration phase deliverable is a plan (including cost and schedule estimates) for the Construction phase. At this point the plan should be accurate and credible, since it should be based on the Elaboration phase experience and since significant risk factors should have been addressed during the Elaboration phase.

Você também pode gostar