SEZ6C/SEE6C/PED2A OBJECT ORIENTED ANALYSIS AND DESIGN. Unit : I -V

Similar documents
SEZ6C/SEE6C/PED2A OBJECT ORIENTED ANALYSIS AND DESIGN. Unit : I -V

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

Chapter 15. User Interface Design. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 15 Slide 1

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

KINGS COLLEGE OF ENGINEERING

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Systems Development: Using the Unified Modeling Language

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

Object-Oriented Systems Development: Using the Unified Modeling Language. Chapter 1: An Overview of Object- Oriented Systems Development

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

User interface design. Software Engineering Slide 1

CS 1042 OBJECT ORIENTED ANALYSIS AND DESIGN. UNIT 1 INRODUCTION 1.1 An Overview of Object Oriented System and Development

Chapter 7: Interface Design

CASE TOOLS LAB VIVA QUESTION

UNIT-V SOFTWARE QUALITY AND USABILITY CHAPTER 12. VIEW LAYER: Designing Interface Objects. At the end of this chapter, students should be able to

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

Object Oriented Software Development CIS Today: Object Oriented Analysis

Architectural Blueprint

Software Development Methodologies

User interface design

Chapter 1: Principles of Programming and Software Engineering

THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9)

Object-Oriented Systems Development: Using the Unified Modeling Language

CHAPTER 9 DESIGN ENGINEERING. Overview

Appendix A - Glossary(of OO software term s)

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Chapter 1: Programming Principles

UNIT-I Introduction of Object Oriented Modeling

Object-Oriented Systems. Development: Using the Unified Modeling Language

Object-Oriented Systems Analysis and Design Using UML

Chapter 5: Structural Modeling

NOORUL ISLAM COLLEGE OF ENGINEERING, KUMARACOIL DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING SEVENTH SEMESTER

Chapter 4. Sahaj Computer Solutions Object Oriented Systems Development 1

MechEng SE3 Lecture 7 Domain Modelling

Analysis and Design with UML

Object Oriented Analysis and Design: An Overview

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Basic Structural Modeling. Copyright Joey Paquet,

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

5 Object Oriented Analysis

OBJECT ORIENTED ANALYSIS AND DESIGN

Chapter : Analysis Modeling

Object-Oriented Analysis and Design Using UML (OO-226)

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay

E.G.S.PILLAY ENGINEERING COLLEGE NAGAPATTINAM DEPARTMENT OF MCA

Goal: build an object-oriented model of the realworld system (or imaginary world) Slicing the soup: OOA vs. OOD

SE 2730 Final Review

CSC Advanced Object Oriented Programming, Spring Overview

Unit Wise Questions. Unit-1 Concepts

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011

06. Analysis Modeling

History of object-oriented approaches

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering?

Interaction Modelling: Sequence Diagrams

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

Software Architectures. Lecture 6 (part 1)

Lecture 5 STRUCTURED ANALYSIS. PB007 So(ware Engineering I Faculty of Informa:cs, Masaryk University Fall Bühnová, Sochor, Ráček

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 2: Review of Object Orientation

ACRONYMS AND GLOSSARY

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

User interface design. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

HCI and Design SPRING 2016

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Course 3 7 March

Object- Oriented Design with UML and Java Part I: Fundamentals

Ch 11 Software Development

Object-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered

CS 160: Evaluation. Outline. Outline. Iterative Design. Preparing for a User Test. User Test

CS 160: Evaluation. Professor John Canny Spring /15/2006 1

*ANSWERS * **********************************

Object-Oriented Design

OO Analysis and Design with UML 2 and UP

MC9244 OBJECT ORIENTED ANALYSIS AND DESIGN L T P C UNIT I INTRODUCTION

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

Object-Oriented Analysis and Design Using UML

Object Oriented Programming

MCQS for Midterm cs504 Combined by Anees Ahmad

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

Software Engineering Lab Manual

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

CSCU9T4: Managing Information

Topics in Object-Oriented Design Patterns

Design of Embedded Systems

Object Oriented Processes. R.K.Joshi Dept of Computer Science and Engg. IIT Bombay

Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1.

What are the characteristics of Object Oriented programming language?

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation

SE 1: Software Requirements Specification and Analysis

Lecture 2: Software Engineering (a review)

1: Introduction to Object (1)

The Analysis and Design of the Object-oriented System Li Xin 1, a

Object-Oriented Software Engineering. Chapter 2: Review of Object Orientation

Understanding the Object Paradigm

UML Primer. -Elango Sundaram

Transcription:

SEZ6C/SEE6C/PED2A OBJECT ORIENTED ANALYSIS AND DESIGN Unit : I -V

UNIT-I System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML. 2 / 75

Why an Object Orientation Higher Level of abstraction Seamless transition among different phases of software development. Encouragement of good programming techniques. Promotion of Reusability. ooad!@#$ % What kind of language can alleviate difficulties with communication & complexity hopefully well? 3

WATERFALL APPROACH SEZ6C//SEE6C/PED2A-OBJECT ORIENTED ANALYSIS AND DESIGN 4

OBJECT BASICS An "object" is anything to which a concept applies, in our awareness Things drawn from the problem domain or solution space. E.g., a living person in the problem domain, a software component in the solution space. A structure that has identity and properties and behavior It is an instance of a collective concept, i.e., a class. https://www.youtube.com/watch?v=okc7hktizc0 5

What is Object-Orientation - Abstraction and Encapsulation Abstraction Focus on the essential Omits tremendous amount of details Focus on what an object is and does Encapsulation a.k.a. information hiding Objects encapsulate: property behavior as a collection of methods invoked by messages state as a collection of instance variables 6

What is Object-Orientation? - Class <<instanceof> > <<instanceof> > <<instanceof> > Class Car Attributes Model Location #Wheels = 4 Operations Start Accelerate What is CLASS? a collection of objects that share common properties, attributes, behavior and semantics. A collection of objects with the same data structure (attributes, state variables) and behavior (function/code/operations) in the solution space. Classification Grouping of common objects into a class. 7

What is Object-Orientation - Subclass vs. Superclass A A A B B B C C A A <<instanceof>> B <<instanceof>> B A A B B <<instanceof>> c: C <<instanceof>> c: C 8

What is Object-Orientation - Polymorphism Objects of different classes respond to the same message differently. Person name SSN Student Employee emp-id paytuition std-id level paytuition In-State Student Out-ofState Student state paytuition paytuition 9

What is Object-Orientation? -State What is STATE? "State" is a collection of association an object has with other objects and object types. What is STATE CHANGE? A "state change" is the transition of an object from one state to another. What is EVENT? An "event" is a noteworthy change in state [Rumbaugh] 10

How to Do OOAD Where to Use OO? Software Lifecycle Systems Engineering Project Planning Architectural Design Detailed Design Implementation Quality Assurance Requirements Analysis Maintenance Something missing? Release What s yours like? 11

How to Do OOAD OMT as Object-Oriented Methodology OMT (Object Modeling Technique) by James Rumbaugh Object Model: describes the static structure of the objects in the system and their relationships -> Object Diagrams. Dynamic Model: describes the interactions among objects in the system -> State Diagrams. Functional Model: describes the data transformation of the system -> DataFlow Diagrams. 12

Booch method Class diagramsdescribe roles and responsibilities of objects Object diagrams describe the desired behavior of the system in terms of scenarios State transition diagrams state of a class based on a stimulus Module diagrams to map out where each class & object should be declared Process diagrams to determine to which processor to allocate a process Interaction diagrams describes behavior of the system in terms of scenarios https://www.youtube.com/watch?v=0po_wmsew1q SEZ6C/SEE6A/PED2A-OBJECT ORIENTED ANALYSIS AND DESIGN 13

JACOBSON METHODOLOGIES Use Cases. Object Oriented Software Engineering. Object Oriented Business Engineering. https://www.youtube.com/watch?v=oefsfrk_kei 14

OO SOFTWARE DEVELOPMENT LIFE CYCLE 15

UML The UML consists of the following diagrams: https://www.youtube.com/watch?v=jcbzrubzoey 16

UNIT-II Use-Case Models Object Analysis Object relations Attributes Methods Class and Object responsibilities Case Studies. 17

OBJECT ORIENTED ANALYSIS PROCESS Identifying use cases Object Analysis Classification Identifying Object relationships Attributes and Methods. WHAT IS ANALYSIS? Analysis is the process of transforming a problem definition from a fuzzy set of facts and myths into a coherent statement of a system s requirements. 18

Where Should We Start? 1. Examination of existing system documentation. 2. Interviews. 3. Questionnaire. 4. Observation. Requirements Difficulties Three most common sources of requirements difficulties are: 1. Incomplete requirements. 2. Fuzzy descriptions (such as fast response). 3. Unneeded features. 19

The Object-Oriented Analysis (OOA) Process The process consists of the following steps: 1. Identify the actors: Who is using the system? Or, in the case of a new system, who will be using system? 2. Develop a simple business process model using UML activity diagram. 3. Develop the use case: What the users are doing with the system? Or, in the case of a new system, what users will be doing with the system? 4. Prepare interaction diagrams: Determine the sequence. Develop collaboration diagrams. 5. Classification develop a static UML class diagram:. https://www.youtube.com/watch?v=ypab2m_fuga 20

The OOA Process (Con t) 6. Iterate and refine: If needed, repeat the preceding steps. Develop UseCases, ADs Identify Actors prototyping Develop Interaction Diagrams Identify Classes, Relationships, Attributes & Methods Refine and iterate O-O Analysis USE CASE KEY CONCEPTS Use case. Use case is a special flow of events through the system. Actors. An actor is a user playing a role with respect to the system. In a system. This simply means that the actors communicate with the system's use case. 21

Extends Associations The extends association is used when you have one use case that is similar to another use case but does a bit more or Is more specialized; in essence, it is like a subclass. Library uses Borrow books extends Checking Library Card uses Inter library loan Circulation Clerk Member Return Books Performing research Reading books Newspaper Supplier Purchasing Supplies 22

Use case Driven Capture the user s needs (requirements - in users context) - Helps in Project Scheduling Analyse to specify the needs Design to realize the needs Implement to implement the needs Test to verify the needs Implemented by Verified by Test1 Test2 Realized by Specified by Test3 Design1 Test Use cases Design2 Design4 Implementation Design3 Analysis Design 23

Use Case Diagram Notation Actor Association Use Case Use case with Extension points <<Uses>> <<Extends>> 24

Documentation An effective document can serve as a communication vehicle among the project's team members, or it can serve as initial understanding of the requirements. All documents should share a common cover sheet that identifies the document, the current version, and the individual responsible for the content. https://www.youtube.com/watch?v=18_kvlqmave 25

80 20 Rule 80 percent of the work can be done with 20 percent of the documentation. The trick is to make sure that the 20 percent is easily accessible and the rest (80 percent) is available to those (few) who need to know. FAMILIAR VOCABULARY Use a vocabulary that your readers understand and are comfortable with. The main objective here is to communicate with readers and not impress them with buzz words. 26

Classification The identification of classes and objects is the hardest part of object-oriented design. Booch Discovery recognize key abstractions and mechanisms from problem domain Invention devise generalized abstractions and new mechanisms that specify how objects collaborate 27

Approaches for Identifying Classes The noun phrase approach. The common class patterns approach. The use-case driven approach. The class responsibilities collaboration (CRC) approach. NOUN PHRASE APPROACH Using this method, you have to read through the Use cases, interviews, and requirements specification carefully, looking for noun phrases. 28

NOUN PHRASE APPROACH All plurals are changed into singular Nouns are listed List divided into three categories Relevant classes Fuzzy classes (those classes that are not sure about) Irrelevant classes https://www.youtube.com/watch?v=p2x9n4-xevc 29

COMMON CLASS PATTERNS APPROACH Concept class Event Class Organizations Class People Class Places Class Tangible things and devicesclass https://www.youtube.com/watch?v=3deuvpiotea 30

USE CASE DRIVEN APPROACH SEQUENCE DIAGRAM Actor Class Synchronous message Asynchronous message Focus of Control Return message Termination lifeline https://www.youtube.com/watch?v=3cmzqzzwndm 31

CASE STUDY- EXAMPLE 32

UNIT-III Design Processes Design Axioms Class Design Object Storage Object Interoperability Case Studies 33

Object-Oriented Design Process and Design Axioms Analysis Phase Class s attributes, methods and associations are identified Physical entities, players and their cooperation are identified Objects can be individuals, organizations or machines Design Phase Using Implementation language appropriate data types are assigned Elevate the model into logical entities (user interfaces) Focus is on the view and access classes (How to maintain information or best way to interact with a user) https://www.youtube.com/watch?v=vnhpsc5ng_e&list=plf206e9 06175C7E07 34

COROLLARY Corollary 1 Uncoupled design with less information content Corollary 2 Single process Corollary 3 Large number of simple classes Corollary 4 Strong mapping Corollary 5 Standardization Corollary 6 Design with inheritance 35

THE ORIGIN OF COROLLARY https://www.youtube.com/watch?v=yrj1rromnim&list=plf206e906175 C7E07&index=2 36

Design Patterns: Pattern name Rationale and motivation Classes Advantages/Disadvantages Examples Designing Classes: The Process Apply design axioms to design classes, their attributes, methods, associations, structures and protocols. Refine and complete the static UML class diagram by adding details to that diagram. Refine attributes Design methods and the protocols by utilizing a UML activity diagram to represent the methods s algorithm. Refine the associations between classes Refine the class hierarchy and design with inheritance. Iterate and refine. 37

Class Visibility: Private Protocol Public Protocol Protected protocol Designing classes: Refining Attributes In the design phase, detailed information must be added to the model. The main goal of this activity is to refine existing attributes or add attributes that can elevated the system into implementation. Attributes Types: 1.Single-value attributes 2.Multiplicity or multivalue attributes 3.Reference to another object, or instance connection. 38

UML Attribute Presentation: The following is the attribute presentation suggested by UML: Visibility name:type-expression=initial-value Where visibility is one of the following: + public visibility # protected visibility private visibility Designing methods and protocols: A class can provide several types of methods: Constructor Destructor Conversion method Copy method Attribute set Attribute get 39

FIVE RULES FOR A GOOD DESIGN 1.If it looks messy, then it s probably a bad design 2.If it is too complex, then it s probably a bad design. 3.If it is too big, then it s probably a bad design. 4.If people don t like it, then it s probably a bad design. 5.If it doesn t work, then it s probably a bad design. Design issues: Avoiding Design pitfalls Keep a careful eye on the class design and make sure that an object s role remains well defined. If an object loses focus, you need to modify the design. Apply corollary 2.(single purpose) Move some functions into new classes that the object would use. Apply corollary1(uncoupled design with less information content) Break up the class into two or more classes. Apply corollary3(large number of simple classes) Rethink the class definition based on experience gained. 40

CORBA 41

COOPERATIVE PROCESSING 42

Rules of object-oriented system: 1.The system must support complex objects. 2.Object identity must be supported. 3.Object must be encapsulated. 4.The system must support types or classes. 5.The system must support inheritance. 6.The system must avoid premature binding. 7.The system must be computationally complete. Rules make it a DBMS: 1.It must be persistent, able to remember an object state. 2.It must be able to manage very large database. 3.It must accept concurrent users. 4.It must be able to recover from hardware and software failures. 5.Data query must be simple. https://www.youtube.com/watch?v=ictch2kqgus 43

Object oriented database management systems: 44

Object Relation mapping: 1.Table-Class mapping 2.Table-multiple classes mapping 3.Table-inherited classes mapping 4.Tables-inherited classes mapping MULTI DATABASE SYSTEMS https://www.youtube.com/watch?v=kwbwkzcog24 45

Designing access layer classes: 1.Translate the request 2.Translate the results. The Process: 1.For every business class identified, mirror the business class package. 2.Define relationships. 3.Simplify classes and relationships. 1.Redundant classes 2.Method classes 4. Iterate and refine. 46

OBJECT ORIENTED DESIGN PROCESS https://www.youtube.com/watch?v=fjw65wo7ihi 47

REFINING ATTRIBUTES Attributes types 1. Single value attributes 2. Multiplicity or multivalue attributes 3. References to another object Attributes presentation : + public visibility # protected visibility - private visibility 48

UNIT-IV User Interface Design View layer Classes Micro-Level Processes View Layer Interface Case Studies. 49

USER INTERFACE DESIGN Designing effective interfaces for software systems Objectives To suggest some general design principles for user interface design To explain different interaction styles To introduce styles of information presentation To describe the user support which should be built-in to user interfaces To introduce usability attributes and system approaches to system evaluation 50

DESIGNING VIEW LAYER CLASSES : 1.Designing View Layer classes 2.Macro level UI design process Micro level UI design activities 2.1 Designing the view layer objects by applying design axioms and corollaries 2.2 Prototyping the view layer interface 3. Testing the usability and user satisfaction 4. Refining and iterating the design https://www.youtube.com/watch?v=j3ndakf-fa8 51

DESIGNING ACCESS LAYER Translate the request Translate the result 52

UI DESIGN RULES: 1. UI design rule 1: Making the interface simple(application of Corollary 2) 2. UI design rule 2: Making the interface transparent and natural.(application of Corollary 4) 3. UI design rule3:allowing users to be in control of the software(application of Corollary 1) -- Make the interface forgiving. Make the interface visual Provide immediate feedback. Avoid modes. https://www.youtube.com/watch?v=gh1wr1it_c0 53

GRAPHICAL USER INTERFACES Most users of business systems interact with these systems through graphical interfaces although, in some cases, legacy text-based interfaces are still used ADVANTAGES: They are easy to learn and use. Users without experience can learn to use the system quickly. The user may switch quickly from one task to another and can interact with several different applications. Information remains visible in its own window when attention is switched. Fast, full-screen interaction is possible with immediate access to anywhere on the screen 54

USER INTERFACE DESIGN PROCESS Analyse and understand user activities Produce paperbased design prototype Design prototype Evaluate design with end-users Produce dynamic design prototype Executable prototype Evaluate design with end-users Implement final user interface https://www.youtube.com/watch?v=gh1wr1it_c0 55

CONTROL PANEL INTERFACE Grid Busy Title JSD. example Method JSD Type Network Units cm Selection Process Reduce Full OUIT PRINT NODE LINKS FONT LABEL EDIT 56

FORM-BASED INTERFACE NE W BOOK Title ISBN Author Price Publisher Publication date Edition Number of copies Classification Date of purchase Loan status Order status 57

MULTIPLE USER INTERFACE Gr aphical user interface Command language interface GUI manager Command language interpreter Operating system 58

INFORMATION PRESENTATION Information to be displayed Presentation software Display 59

TEXTUAL HIGHLIGHTING! The filename you have chosen h as been used. Please choose an other name Ch. 16 User interface design OK Cancel https://www.youtube.com/watch?v=somztz7nmk4 60

COLOR USE GUIDELINES Don't use too many colours Use colour coding to support use tasks Allow users to control colour coding Design for monochrome then add colour Use colour coding consistently Avoid colour pairings which clash Use colour change to show status change Be aware that colour displays are usually lower resolution https://www.youtube.com/watch?v=j3ndakf-fa8 61

DESIGN FACTORS IN MESSAGE WORDING Context Experience Skill level Style Culture The user guidance system should be aware of what the user is doing and should adjust the output message to the current context. As users become familiar with a system they become irritated by long, meaningful messages. However, beginners find it difficult to understand short terse statements of the problem. The user guidance system should provide bothtypes of message and allow the user to control message conciseness. Messages should be tailored to the user s skills as well as their experience. Messages for the different classes of user may be expressed in different ways depending on the terminology which is familiar to the reader. Messages should be positive rather than negative. They should use the active rather than the passive mode of address. They should never be insulting or try to be funny. Wherever possible, the designer of messages should be familiar with the culture of the country where the system is sold. There are distinct cultural differences between Europe, Asia and America. A suitable message for one culture might be unacceptable in another. 62

Guidelines for designing forms and Data entry windows: Navigating rows in a table, such as moving forward and backward, and going to the first and last record. Adding and deleting rows. Changing data in rows. Saving and abandoning changes We can put controls anywhere on a window. When entering data, users expect to type information from left to right and top to bottom. 63

Guidelines for designing Dialog boxes and Error messages: A dialog box provides an exchange of information or a dialog between the user and application. Your error message should be positive. For eg., instead of displaying you have typed an illegal date format, display the message Enter date format mm/dd/yyyy. Your error message should be constructive. Your error message should be brief and meaningful. 64

UNIT-V Quality Assurance Tests Testing Strategies Object orientation on testing Test Cases test Plans Continuous testing Debugging Principles System Usability Measuring User Satisfaction Case Studies. 65

Quality Assurance Tests To develop and deliver robust systems, we need a high level of confidence that Each component will behave correctly. Collective behavior is correct No incorrect collective behavior will be produced. 66

Types of Errors: Language Errors Run-time Errors Logic Errors SEZ6C-/SEE6C/PED2AOBJECT ORIENTED ANALYSIS AND DESIGN 67

QUALITY ASSURANCE TESTS Quality assurance (QA) is a way of preventing mistakes or defects in manufactured products and avoiding problems when delivering solutions or services to customers; which ISO 9000 defines as "part of quality management focused on providing confidence that quality requirements will be fulfilled". 68

Black Box Testing: Black Box Testing, also known as BehavioralTesting, is a software testing method in which the internal structure/ design/ implementation of the item being tested is not known to the tester 69

D/F B/W BLACK BOX AND WHITE BOX 70

TOP-DOWN TESTING Top-down testing is an approach to integratedtesting where the top integrated modules are testedand the branch of the module is tested step by step until the end of the related module 71

BOTTOM UP TESTING Bottom-up testing is an approach to integrated testing where the lowest level components are tested first, then used to facilitate the testing of higher level components SEZ6C-/SEE6C/PED2AOBJECT ORIENTED ANALYSIS AND DESIGN 72

IMPACT OF OBJECTORIENTATION ON TESTING Some types of errors could become less plausible. Some types of errors could become more plausible. Some new types of errors might appear. IMPACT OF INHERITANCE IN TESTING The base class contains methods inherited() and redefined() The derived class redefines the redefined()method. The derived::redefined has to be tested afresh since it is a new code. 73

EXAMPLE FOR TEST CASE DOCUMENT https://www.youtube.com/watch?v=r5gxwrcit9y 74

Guidelines for developing Quality Assurance Test Cases: Developing which feature or service your test attempts to cover. If the test case is based on a use case, it is a good idea to refer to the use-case name. Specify what you are testing and which particular methods, then specify what you are going to do to test the feature. Test the abnormal but reasonable use of the object s methods. https://www.youtube.com/watch?v=hmfpcdf07ha 75

Steps to create a Test plan: 1.Objectives of the test. 2.Development of a test case 3.Test analysis https://www.youtube.com/watch?v=vdm1lh540lm 76

Myers s Debugging principles: 1.Bug Locating principles. Think If you reach an impasse, sleep on it. If the impasse remains, describe the problem to someone else. Use debugging tools. Experimentation should be done as a last resort. Debugging Principles Where there is one bug, there is likely to be another. Fix the error, not just the symptom of it. The Probability of the solution being correct drops as the size of the program increases. Beware of the possibility that an error correction will create a new error 77

Usability Testing. The ISO defines Usability as Effectiveness Efficiency Satisfaction with which a specified set of users can achieve a specified set of tasks in particular environments. The ISO definition requires: Defining tasks. What are the tasks? Defining users. Who are the users? A means for measuring effectiveness, efficiency and satisfaction. 78

Guidelines for Developing Usability Testing: The usability testing should include all of a software s components. Usability testing need not be very expensive or elaborate. All tests need not involve many subjects. Quick, iterate tests with a small, well-targeted sample of 6 to 10 participants can identify 8090npercent of most design problems. Apply usability testing early and often. Recording the Usability Test: Record the test results using 1.A portable tape recorder 2.Video camera 79

CUSTOMER FEEDBACK 80