What is object-Oriented? Object orientation is an approach to software development that organizes both the problem and its solution as a collection of discrete objects It is a kind of representation that describe objects data structure and behavior It is a kind of modeling technology
What is Object-Oriented? • Object orientation is an approach to software development that organizes both the problem and its solution as a collection of discrete objects; • It is a kind of representation that describe object’s data structure and behavior. • It is a kind of modeling technology
Characteristics of oo representation Identity--name, reference, handle abstraction Classificatio Encapsulation Inheritance Polymorphism Persistence
Characteristics of OO Representation • Identity—name, reference, handle • Abstraction • Classification • Encapsulation • Inheritance • Polymorphism • Persistence
The oo development process be consistency of terminology and of The problem and the solution were described in same terms: classes, objects methods, attributes, and behaviors Be consistency of perspective Static views Dynamic views -Restrictions
The OO Development Process • Be consistency of terminology and of –The problem and the solution were described in same terms : classes, objects methods, attributes, and behaviors. • Be consistency of perspective –Static views –Dynamic views –Restrictions
Tendency for Change when Using OO Paradigm (Jacobson et al. 1995) Characteristic of software product/project Probability for change Objects derived from the application Long -lived information structures LOw Passive object's attribute Medium Sequences of behavior Medium Interface with the outside world H 1gh Functionality High
Tendency for Change when Using OO Paradigm (Jacobson et al. 1995) Characteristic of software product/project Probability for change Objects derived from the application Low Long-lived information structures Low Passive object’s attribute Medium Sequences of behavior Medium Interface with the outside world High Functionality High
Oo Requirements OO requirements analysis is usually done in the users language Oo requirements analysis discusses the concepts and scenarios likely in application domain The concepts include information, service, and responsibilities Domain knowledge enables both developers and users to understand the problems The requirements definition can be independent of Implement
OO Requirements • OO requirements analysis is usually done in the user’s language. • OO requirements analysis discusses the concepts and scenarios likely in application domain. – The concepts include information, service, and responsibilities. – Domain knowledge enables both developers and users to understand the problems. • The requirements definition can be independent of implement
OO Design Requirement specification the first steps of design To represent a system design First, to identify and represent classes and objects Second to identify the interactions and relationships among objects and classes associations · Compositions Aggregations Inheritance To provide the details in program design Insert computational features in the models Insert some class library details Consider nonfunctional requirements
OO Design • Requirement specification, the first steps of design. • To represent a system design – First, to identify and represent classes and objects. – Second, to identify the interactions and relationships among objects and classes. • Associations • Compositions • Aggregations • Inheritance • To provide the details in program design. – Insert computational features in the models – Insert some class library details – Consider nonfunctional requirements
Use cases(用例) Describe particular functionality to exhibit how a user, external system, and other entity dialog with the system Scenario场景 Script脚本
Use Cases (用例) • Describe particular functionality to exhibit how a user, external system, and other entity dialog with the system. • Scenario 场景 • Script 脚本
Use case diagrams(用例图) Actor(角色) a entity interacting with the system Or a role that an entity plays with respect of the system User · Device · Another systen Cases(用例) a depiction of some aspect of functionality Extensions To extend a use case to illustrate a different or deeper perspective Uses Actually a reuse of an already-defined use case
Use case diagrams(用例图) • Actor(角色) – A entity interacting with the system – Or a role that an entity plays with respect of the system • User • Device • Another system • Cases(用例) – A depiction of some aspect of functionality • Extensions – To extend a use case to illustrate a different or deeper perspective. • Uses – Actually a reuse of an already-defined use case
Overview of royal service station a actor Stand for a case Billing Services Customer Refueling g Parking)Maintenance
Overview of royal service station Billing Services Refueling Parking Maintenance Customer Stand for a case A actor
First extension to include preventive maintenance Pa arkin Refueling Customer Ma anager Maintenance extends Preventive Maintenanc
First extension to include preventive maintenance Preventive Maintenance Maintenance Parking Refueling Customer Manager extends