Systematic application of engineering to develop more efficient and reliable software
Software Engineering
Identity
Classification
Inheritance
Polymorphism
Aspects (characteristics) required by an OO approach.
All systems involve interaction of some kind.
Interaction model
Intended to show that a program does what it is intended to do and to discover program defects before it is put into use.
Software Testing
SRS
Software Requirement Specification
sharing of attributes and operations (features) among classes based on a hierarchical relationship.
Inheritance
Use case modeling and Sequence diagrams
Approaches to interaction modeling:
Are we building the right product
Validation
Software Requirement Specification
First phase in project development
Same operation may behave differently for different classes
Polymorphism
sequence of interactions that take place during a particular use case or use case instance
Sequence Diagrams
Are we building the product right
Verification
Client Requirements, Design Requirements and Design Constraints
Output of SRS
graphic notation for modeling classes and their relationships
Class Diagram
Display the organization of a system in terms of the Components that make up that system and their relationships
Structural Model
Users or potential users of a system test the system in their own environment.
User Testing
Incorrect and Misinterpretation of SRS
Project Failure
UML
Unified Modelling Language
To infer that different members of these classes have some common characteristics.
Generalization
Testing team tests a complete version of the system before it is released to users.
Release Testing