57
1

CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

Embed Size (px)

Citation preview

Page 1: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

1

id17990959 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com

Page 2: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

2

Page 3: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

3

Page 4: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

4

Page 5: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

5

Page 6: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

6

Page 7: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

7

Page 8: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

8

Page 9: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

1

id17990959 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com

Page 10: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

2

Page 11: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

3

Page 12: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

4

Page 13: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

5

Page 14: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

6

Page 15: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

7

Page 16: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

8

Page 17: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

1

id11824921 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com

Page 18: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

2

Page 19: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

3

Page 20: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

4

NOV/DEC 2007

CS1402-OOAD �KEY PART-A: 1. Traditional & OO views of software:

- OO view explains that software as a collection of programs and isolated data.

- Traditional focuses on the functions of the system.

2. . Difference between messages and function

Message is a instruction, but method / function are implementation

Message says �What to do�, but function says �How to do�.

3. Unified Approach: The main aim is to combine the best practices, processes, methodologies and guidelines along with UML. Components are: - Use case driven development -Object oriented analysis -Object oriented design -Incremental development and prototyping -continuous testing

4. Functionalities of OMT models

Object model � describes the structure of the system

Dynamic model � used to depict states, transitions, events.

Functional model � shows the flow of data between different processes.

5. Difference between pattern and framework

Design patterns are more abstract than frameworks

Design patterns are smaller architectural elements than frameworks

Design patterns are less specialized than frameworks.

6. Meta Model: The Object Management Group (OMG) has developed a met modeling architecture to define the Unified Modeling Language (UML), called the Meta-Object Facility (MOF).

Page 21: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

5

The Meta-Object Facility is a standard for model-driven engineering, designed as a four-layered architecture. 7.CRC: -the basic idea is an object either can accomplish a certain responsibility itself or it may require the assistance of other objects. It must collaborate with those objects to fulfill its responsibility. 8.Coupling & Cohesion: Coupling- describes how dependant one object is on another object (that it uses). Objects that are loosely coupled can be changed quite radically without impacting each other Cohesion - Does the class have a single purpose? In 25 words or less, write a description for each class that describes its purpose, behavior, and collaborations with other classes. 9.Design axioms:

Axiom1-the independence axiom Axiom2-the information axiom Corollaries: Corollary1-uncoupled design with less information content Corollary2-single prupose Corollary3-Large no of simple classes Corollary4-Strong mapping Corollary5-Standardization Corollary6-Design with inheritance

10. Public and Private Protocol:

Public protocol: defines the stated behavior of the class as accessible by all classes.Private protocol: It is accessible only to operations of that class

Page 22: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

6

Page 23: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

7

Page 24: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

8

Page 25: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

9

Page 26: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

10

Page 27: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

11

Page 28: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

12

Page 29: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

13

Page 30: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

1

id12732312 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com

Page 31: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

2

Page 32: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

3

Page 33: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

4

3. April/May 2008

CS1402 � OOAD KEY

Part � A

1. Yes.IN OOAD, everything is assumed as a object. Here, implementation is hidden.

2. Difference between messages and function

Message is a instruction, but method / function are implementation Message says �What to do�, but function says �How to do�.

3. Anti pattern

- Anti pattern is a �Worst practice� or �lesson learned�.

4. Models in OMT approach:

Object model OMT dynamic model OMT functional model

5. Need of Micro process in Booch method:

To identify classes and objects To identify class and object semantics To identify class and object relationships To identify class and object interfaces and implementation.

6. a) Difference between uses and extends relation

- �uses� relation is used to show the generalization - �extends� relation is used to denote the subclass.

b) Difference between actor and user

7. Why CRC is useful?

- CRC cards are 4� * 6� index cards - Cheap, portable, readily available.

8. a) Data coupling

o Data is passed between components

Page 34: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

5

Stamp coupling

o Data structure is passed between components; only part of it used

b) cooperative & Distributed processing

The distributed processing means distribution of applications and business logic across multiple processing platforms. Distributed processing implies that processing will occur on more than one processor in order for a transaction to be completed. Cooperative processing is computing that requires two or more distinct processors to complete a single transaction. It is a form of distributed computing in which two or more distinct processes are required to complete a single business transaction. Cooperative processing can also be considered to be a distributed processing, if communication between processors is performed through a message-passing architecture.

9. Metaphors: It is an analogy that relates two unrelated things by using one to denote the other.

10.Usability

ISO defines Usability as the effectiveness, efficiency, and satisfaction with which a specified set of users can achieve a specified set of tasks in particular environments. It requires, _ Defining tasks. _ Defining users _ A means for measuring effectiveness, efficiency, and satisfaction

PART B

11)a ) i) diagram

ii) Object & class relationships.

Object Oriented Analysis Real-world concepts are modeled as classes with corresponding state,behavior, and collaborations. No transformation. � OOA directly maps the problem domain directly into a model,instead of mapping them indirectly into functions or data flows. � The same model is used throughout the software engineering process during analysis, design and implementation. Minimizes volatility and maximizes resiliency. � The focus is on classes, not function and data. Reuse is enhanced.

Page 35: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

6

� Classification - Classes are relatively stable over time. � Encapsulation - Classes with well-defined state and behavior. � Inheritance - Specializing classes for specific applicat

Possible OO Diagrams/Views These may be on separate diagrams or part of the same diagram. Class Diagram. � A graph which shows the static structure of the model. � Includes classes, class structure (attributes and operations), and class relationships (inheritance, aggregation, associations). Object Diagram, � A graph of class instances. � Includes objects, object states, and object collaborations. � May be static and show a snapshot of system state at a point in time. � May be dynamic and show how system state changes over a period of time. Other diagrams are covered elsewhere. � DFD, ERD, STD, etc. b) Systems Development using OO. Object Oriented Analysis � Use case driven _ Collaboration _ Role _ Use � case Modeling � Object oriented design Goal � design the classes _ Design and refine classes, attributes, methods, structures and associations. Guidelines of OOD. � Prototyping _ Horizontal _ Vertical _ Analysis _ Domain � Component based development _ Component Wrapper _ Software Components _ Rapid Application Development � Incremental Testing _ Testing should be performed in every phase to find errors. � Reusability

12) a) Unified approach:

� Establishes a unifying and unitary framework by utilizing UML. � The processes are: _ Use case driven development.

Page 36: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

7

_ Object oriented analysis. _ Object oriented design. _ Incremental development and prototyping _ Continuous testing. � Methods and technologies employed include: _ UML _ Layered approach. _ Repository. _ CBD. � Object oriented Analysis. _ Identify actors. _ Develop a simple process model. _ Develop the use case. _ Develop interaction diagrams. _ Identify classes. � Object oriented design _ Design classes, attributes, methods etc. _ Design the access Design the access layer. _ Design the prototype user interface. _ User satisfaction and usability tests. _ Iterate and refine the design. � Continuous testing � UML � modeling language � Repository _ Allows maximum reuse of previous experience. _ Should be accessible by many people. � Layered approach _ The business layer. o Displaying results. o Data access details _ The user interface or view layer. o Responding to user interaction. o Displaying business objects. _ The access layer. o Translate request. o Translate results.

12) b) Digital Library System

Draw class diagram, sequence, use case

13)a) refer hard copy

13) b) Noun phrase approach to identify classes:

Page 37: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

8

Complimentary Analysis Approaches A number of additional activities can be used which are complimentary to object-oriented analysis and design methodologies. Domain Analysis. � Identify classes which are common to all applications in this domain. Scenario Planning or Use-Case Analysis. � Identify operations patterns by users initiating some sequence of interrelated events. CRC Cards. � Class-Responsibility-Collaboration cards. Informal English. � Identify key concepts from textual description of the problem. Domain Analysis Domain analysis seeks to identify the classes and objects that are common to all applications of a given domain. � For example: all accounting systems have certain classes in common. � Try to compare the system you are developing to a generalized class of systems. Complimentary Analysis Approaches A number of additional activities can be used which are complimentary to object-oriented analysis and design methodologies. Domain Analysis. � Identify classes which are common to all applications in this domain. Scenario Planning or Use-Case Analysis. � Identify operations patterns by users initiating some sequence of interrelated events. CRC Cards. � Class-Responsibility-Collaboration cards. Informal English. � Identify key concepts from textual description of the problem. Domain Analysis Domain analysis seeks to identify the classes and objects that are common to all applications of a given domain. � For example: all accounting systems have certain classes in common.

� Try to compare the system you are developing to a generalized class of systems14) a) Design Axioms:

An axiom is a fundamental truth that always is observed to be valid and for which there is no counterexample or exception. The axioms cannot be proven or derived but they cannot be invalidated by counterexamples or exceptions. There are two design axioms applied to object-oriented design. Axiom 1 deals with relationships between system components and Axiom 2 deals with the complexity of design. Axiom 1: The independence axiom. Maintain the independence of components. Axiom 2: The information axiom. Minimize the information content of the design. A corollary is a proposition that follows from an axiom or another proposition that has been proven. A corollary is shown to be valid if its referent axioms and deductive steps are valid. The design rules or corollaries derived from

Page 38: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

9

design axioms are stated below. Corollary 1: Uncoupled design with less information content. Corollary 2: Single purpose. Corollary 3: Large number of simple classes. Corollary 4: Strong mapping. Corollary 5: Standardization. Corollary 6: Design with inheritance.

14)b) Access layer:

The process of creating an access class for the business classes is as follows: _ For every business class identified, mirror the business class package. _ Define relationships. _ Simplify classes and relationships. _ Iterate and refine.

15)a) View layer:

The view layer macro process consists of two steps: _ For every class identified, determine if the class interacts with a human actor. If so, perform the following; otherwise, move to the next class. o Identify the view (interface) objects for the class. o Define the relationships among the view (interface) objects. _ Iterate and refine

15)b) i) user satisfaction:

_ Create a user satisfaction test for your own project _ Conduct test regularly and frequently _ Read the comments very carefully, especially if they express a strong feeling. _ Use the information from user satisfaction test, usability test, reactions to prototypes, interviews recorded, and other comments to improve the product. Important benefit of user satisfaction testing is you can continue using it even after the product is delivered. Is the process of quantifying the usability test with some measurable attributes. � Objectives. � Guidelines.

ii) Quality assurance testing:

Debugging � Types of errors _ Language or syntax. _ Run time. _ Logic.

Page 39: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

10

� Types of QA _ Error based _ Scenario based � Strategies. _ Black box _ White box _ Top down _ Bottom up.

Page 40: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

1

id12428203 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com

Page 41: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

2

Page 42: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

3

Page 43: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

4

NOV/DEC 2008 �KEY

Part A 1. An object is an instatiated class or an abstraction of something within the problem domain. Object is a real- world entity, identifiably separate from its surroundings, has a well defined set of attributes and a well-defined set of procedures or methods. Properties (or attributes) describe the state (data) of an object. Methods (procedures) define its behavior. Object means a combination of data and logic that represents some real-world entity. (E.g.) Car is an object Color, manufacturer, cost, owner etc are attributes. Drive it, lock it, tow it, carry passengers in it are all methods. 2. Coupling describes how dependant one object is on another object (that it uses). Objects that are loosely coupled can be changed quite radically without impacting each other 3. UML, Unified Modeling Language, is a standard notation for the modeling of real-world objects as a first step in developing an object oriented program. It describes one consistent language for specifying, visualizing, constructing and documenting the artifacts of software systems. 4. Use Case: � A set of scenarios related by a common actor and a goal � A description of sequences of actions performed by a given system to produce a result for an actor - Use cases specify the expected behaviour [what], and not the exact method of making it happen [how] -Use cases are created based on identified functional requirements but are not mapped one-to-one to requirements -Use cases once specified can be denoted using a clear and precise visual modeling language such as UML. 5. . class CFloatPoint, which has two members: x and y, which are both of type �float�,

and a function "Empty()" which resets both members to value 0.00000. First draw the class itself: Then add the members x and y to be visible in the model:

Page 44: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

5

6. Aggregation is used to represent ownership or a whole/part relationship, and

composition is used to represent an even stronger form of ownership.

7.Analysis-Design

Object-oriented analysis (OOA) applies object-modeling techniques to analyze the functional requirements for a system. OOA focuses on what the system does. Object-oriented design (OOD) elaborates the analysis models to produce implementation specifications. OOD on how the system does it.

8. Successful software:

Analysis of a problem and the design of a solution is a necessary prerequisite to the creation of a successful software program. The combination of Object Oriented Analysis and Design with Object Oriented Software Development results in a reliable process that produces quality software in a fast and predictable manner.

9. Two aspects of the S/w quality:

Verification � Am I building the product right? Validation � Am I building the right product?

10.Functional Requirements:

-OOD-Object Oriented Design

-OOA-Object Oriented Analysis

System Use Cases and Actors , Primitive Use Cases and the Basic Flow, Writing Effective Use Case Descriptions , Writing Sub-flows and Alternate Flows , 'Include' and 'Extend' Relationships , Modeling Browser-Based Applications

PART B

11)a) i) Object is a real- world entity, identifiably separate from its surroundings, has a well defined set of attributes and a well-defined set of procedures or methods. Properties (or attributes) describe the state (data) of an object. Methods (procedures) define its behavior. Object means a combination of data and logic that represents some real-world entity. (E.g.) Car is an object Color, manufacturer, cost, owner etc are attributes. Drive it, lock it, tow it, carry passengers in it are all methods. Object behavior is described in methods or procedures. Behavior denotes the collection of methods that abstractly describes what an object is capable of doing. Each procedure defines and describes a particular behavior of an object. Methods encapsulate the behavior of the object. Objects take responsibility for their own behavior.

Page 45: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

6

ii) The motivation factor behind object-oriented system development is the desire to make software development easier and more natural by raising the level of abstraction to the point where the level of abstraction to the point where applications can be implemented in the same terms n which they are described by users. Object Oriented Analysis Real-world concepts are modeled as classes with corresponding state, behavior, and collaborations. No transformation. � OOA directly maps the problem domain directly into a model, instead of mapping them indirectly into functions or data flows. � The same model is used throughout the software engineering process during analysis, design and implementation. Minimizes volatility and maximizes resiliency. � The focus is on classes, not function and data. Reuse is enhanced. � Classification - Classes are relatively stable over time. � Encapsulation - Classes with well-defined state and behavior. � Inheritance - Specializing classes for specific applicat Abstraction The process of modelling real-world objects. When you create a class you create an abstraction of a real-world object (like a dictionary definition of that real-world object).

Unified Modeling Language, or UML:

The Unified Modeling Language, or UML, as it is popularly known by its TLA (three-letter acronym!), is the language that can be used to model systems and make them readable. This essentially means that UML provides the ability to capture the characteristics of a system by using notations. UML provides a wide array of simple, easy to understand notations for documenting systems based on the object-oriented design principles. These notations are called the nine diagrams of UML.

UML stands for "standardization!" -Different languages have been used for depicting systems using object-oriented methodology. The prominent among these were the Rumbaugh methodology, the Booch methodology, and the Jacobson methodology. The problem was that, although each methodology had its advantages, they were essentially disparate. Hence, if you had to work on different projects that used any of these methodologies, you had to be well versed with each of these methodologies. The Unified Modeling Language is just that. It "unifies" the design principles of each of these methodologies into a single, standard, language that can be easily applied across the board for all object-oriented systems. UML does not have any dependencies with respect to any technologies or languages. This implies that you can use UML to model applications and systems based on either of the current hot technologies; for example, J2EE and .NET. Every effort has been made to keep UML as a clear and concise modeling language without being tied down to any technologies

Page 46: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

7

11.b) i) OO features:

Object � combination of data and logic that represents a real world entity. In an OOS everything is an object. Instance of a class. Class � used to distinguish objects from others. Object properties � represent the state of an Object. Behavior � the collection of methods that abstractly the object is capable of doing. Messages � Non-specific function calls. Encapsulation or Information Hiding � principle of concealing the internal data and procedures of an object. Class Hierarchy � organizing classes into sub class � super class hierarchy. Inheritance � property that allows the objects to be built from other objects. Dynamic Inheritance Multiple Inheritance Polymorphism � the same operation may behave differently on different classes. Association � relationship between objects and classes. Aggregation - collection of objects or an attribute which can be an object itself.

ii) OOS life cycle:

Traditional Systems Lifecycle 1.Structured Systems Analysis and Design (SSAD). Main techniques used are data flow diagramming and entity modelling. Advantages of the traditional systems lifecycle approach

systematic approach which makes it easier to plan and manage the tasks of systems development

most analysts, designers and programmers are familiar with the method Disadvantages of the traditional systems lifecycle approach 2. Prototyping Prototyping consists of building an experimental system rapidly and inexpensively for end users to evaluate. Advantages of prototyping

Most useful when there is uncertainty concerning requirements or design solutions

Especially valuable for the design of the end user interface (on-line display, data entry screen, reports or web pages)

Encourages intense user involvement through the systems development lifecycle, therefore more likely to meet user requirements

Better suited to smaller systems Disadvantages of prototyping

May gloss over essential steps in the systems development lifecycle May not be scalable to accommodate large volumes of data or large numbers of

users Costly, time consuming, inflexible.

Page 47: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

8

3. Rapid Application Development Using CASE tools, re-usable software, object-oriented software tools, prototyping and fourth-generation languages is helping system builders create working systems much more quickly than traditional structured approaches. Advantages of RAD

Speed of development Involvement of users

Disadvantages of RAD Difficult to sign off system

4.Object-Oriented Systems Development Object-oriented systems development differs from traditional methodologies by combining data and procedures into one unified object rather than separately modelling business processes and data. Advantages of Object-Oriented

Objects are easily re-usable Reduce time and cost Improved maintainability and quality Can be used with rapid prototyping

Disadvantages of Object-oriented Because technologies and methodologies are not mature or stable, potential benefits

may not be attained Large investment in training required

12.a.) i) The Booch methodology consists of the following diagrams: _ Class diagrams. _ Object diagrams. _ State transition diagrams. _ Module diagrams. _ Process diagrams. _ Interaction diagrams

The macro development process consists of the following steps: - Conceptualization _ Establish the core requirements and develop a prototype. - Analysis and development of the model _ Use the class diagram to describe the roles and responsibilities of objects. Use the object diagram to describe the desired behavior of the system. - Design or create the system architecture. _ Use the class diagram to decide what classes exist and how they relate to each other, the object diagram to decide what mechanisms are used, the module diagram to map out where each class and object should be declared, and the process diagram to determine to which processor to allocate a process. - Evolution or implementation- _ Refine the system through much iteration.

Page 48: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

9

- Maintenance-Make localized changes to the system to add new requirements and eliminate bugs.

The micro process is a description of the day-to-day activities by a single or small group of software developers. It consists of the following steps.

Identify classes and objects. Identify class and object semantics. Identify class and object relationships. Identify class and object interface and implementation.

ii) Unified Approach:

Establishes a unifying and unitary framework by utilizing UML. � The processes are:

Use case driven development. Object oriented analysis. Object oriented design. Incremental development and prototyping Continuous testing.

� Methods and technologies employed include: 1. UML 2. Layered approach. 3. Repository. 4. CBD.

� Object oriented Analysis. 1. Identify actors. 2. Develop a simple process model. 3. Develop the use case. 4. Develop interaction diagrams. 5. Identify classes.

� Object oriented design Design classes, attributes, methods etc. Design the access layer. Design the prototype user interface. User satisfaction and usability tests. Iterate and refine the design.

� Continuous testing � UML � modeling language � Repository _ Allows maximum reuse of previous experience. _ Should be accessible by many people. � Layered approach The business layer.

Displaying results. Data access details

_ The user interface or view layer.

Page 49: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

10

Responding to user interaction. Displaying business objects.

_ The access layer. Translate request. Translate results.

12) b). UML Diagrams

1. Use case diagram 2. Sequence diagram 3. Collaboration diagram 4. State diagram 5. Class diagram 6. Object diagram 7. Component diagram 8. Deployment diagram 9. Activity diagram

Use Case Diagram:

-Used for describing a set of user scenarios - Mainly used for capturing user requirements - Work like a contract between end user and software developers

Class Diagram:

Used for describing structure and behavior in the use cases Provide a conceptual model of the system in terms of entities and their

relationships Used for requirement capture, end-user interaction Detailed class diagrams are used for developers

Sequence Diagram: Sequence diagrams demonstrate the behavior of objects in a use case by

describing the objects and the messages they pass. The horizontal dimension shows the objects participating in the interaction. The vertical arrangement of messages indicates their order.

State Diagram: State Diagrams show the sequences of states an object goes through during its life

cycle in response to stimuli, together with its responses and actions; an abstraction of all possible behaviors.

13.a) i) Automatic Washing machine: ii) Use Case: Use cases are scenarios for understanding system requirements. A use case is

Page 50: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

11

an interaction between users and a system. The use-case model captures the goal of the user and the responsibility of the system to its users. The use-case model employs extends and uses relationships. The use cases are described as one of the following: _ Nonformal text with no clear flow of events _ Text with a clear flow of events _ Formal style using pseudo code. 14)a)i) Access Layer: � Main idea � create a set of classes that know how to communicate with the places where data reside. � Provides a link between the business or view objects and the data storage. � Access layer performs two tasks. _ Translate the request _ Translate the results. � Benefits. _ Provides easy migration of developing technologies. _ Able to address the modest needs of the two tier architecture. � The process. _ Access class � interacts with a non-human actor. The steps involved are: ° Mirror the business class package. ° Define relationships. ° Simplify classes and relationships. ° Iterate and refine. The steps involved in designing with persistent attributes are: ° Determine if the class has persistent data. ° Mirror the business class package. ° Define relationships. ° Simplify classes and relationships. ° Iterate and refine. ii) Design Axioms: An axiom is a fundamental truth that always is observed to be valid and for which there is no counterexample or exception. The axioms cannot be proven or derived but they cannot be invalidated by counterexamples or exceptions. There are two design axioms applied to object-oriented design. Axiom 1 deals with relationships between system components and Axiom 2 deals with the complexity of design. Axiom 1: The independence axiom. Maintain the independence of components. Axiom 2: The information axiom. Minimize the information content of the design. 14)b) i) Object Interoperability:

Page 51: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

12

Interoperability can be defined as the ability of two or more entities to communicate and cooperate despite differences in the implementation language, the execution environment or the model abstraction. Basically, three main levels of interoperability between objects can be distinguised: the syntactic level (names and signatures of operations), the protocol level (partial ordering between exchanged messages and blocking conditions), and the semantic level ("meaning" of operations). ii) Object Storage Object Files (Sequential and Random) Relational databases Object-relational databases Object-oriented databases 15)a ) i) System Usability: ISO defines Usability as the effectiveness, efficiency, and satisfaction with which a specified set of users can achieve a specified set of tasks in particular environments. It requires, _ Defining tasks. _ Defining users _ A means for measuring effectiveness, efficiency, and satisfaction ii) Interface Objects: Creating a user interface generally consists of three steps. _ Create the user interface objects (such as buttons, data entry fields). _ Link or assign the appropriate behaviors or actions to these user interface objects and their events. _ Test, debug, then add more by going back to step 1.

Page 52: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

13

15)b)i) Software Quality: - Qualities of a good design: Correct Complete Changeable (for maintenance, evolution) Simple Efficient (or other performance issues) Correctness:

It should lead to a correct implementation Completeness:

It should do everything Other issues: security, safety, availability ii) User Satisfaction measurement Create a user satisfaction test for your own project _ Conduct test regularly and frequently _ Read the comments very carefully, especially if they express a strong feeling. _ Use the information from user satisfaction test, usability test, reactions to prototypes, interviews recorded, and other comments to improve the product. Important benefit of user satisfaction testing is you can continue using it even after the product is delivered.

Page 53: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

14

Page 54: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

e

Page 55: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

e

Page 56: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

e

Page 57: CS1402-MAYJUNE-2006 - pdfMachine from Broadgun · PDF fileCS1402-OOAD ŒKEY PART-A: 1 ... Quality assurance testing: Debugging Ł Types of errors ... _ Logic. 10 Ł Types of QA _ Error

e