Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.

Similar presentations


Presentation on theme: "The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program."— Presentation transcript:

1 The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program

2 Last Time The design process and design methods Design strategies including object-oriented design and functional decomposition Design quality attributes Comparison of Schwan’s and RUP Design Processes

3 Session 5: Agenda Introduction to the Principles of Object Technology Object Oriented Design Object Technology and RUP

4 Why “Objects”? Fundamental Ideas The world is composed of objects A person manipulates the object and the object does things. In object oriented analysis, design and programming we try to create software objects that model real-world objects.

5 Principles of the O-O Paradigm Abstraction Generalizing an object to just its pertinent attributes and behaviors, Encapsulation Bundling the attributes (data) and behaviors (methods) within the object. The methods form a protective barrier around the data.

6 Principles of the O-O Paradigm Polymorphism Allowing the same behavior to be exhibited differently by different classes or subclasses Inheritance Attributes and behaviors may be established in a general class and used to create more specific subclasses that have all the attributes and behaviors of the superclass

7 Encapsulation

8 Inheritance & Polymorphism Employee Name Hours Pay CalcPay( ) Salaried Name Hours Salary Pay CalcPay( ) Hourly Name Hours Wage Pay CalcPay( )

9 Object Terminology Object A structure containing data, and a set of functions that manipulate that data Method A function for manipulating the data in an object

10 Object Terminology Class A description of the methods and data structures of an object. A template for building and communicating with an object. Instance A specific, concrete member of a class. An instance has actual data assigned to the object

11 Object Terminology Subclass A child class that inherits methods and data from its parents. Superclass A parent class that provides methods and data to child classes derived from it.

12 Object-Oriented Requirements Object-Oriented Design begins in the requirements phase. Requirements identify the objects themselves Scan a description of the problem or system and associate an object with each noun in the description Classify and group those objects that have common attributes and behaviors Identify the relationships between objects

13 Guidelines for Identifying Classes What needs to be “processed” in some way? What items have multiple attributes? When do you have more than one object in a class? What is based on the requirements themselves, not derived from your understanding of the requirements? What attributes and operations are always applicable to a class or object?

14 Guidelines for Identifying Behaviors Imperative verbs Passive verbs Actions Things or reminded events Roles Operating procedures Services provided by an organization

15 Dynamic View of Requirements The descriptions of the attributes, behaviors of the objects and their relationships give a static view of the system Use Case diagrams can give a dynamic view of the system by describing the communication, control/timing and state changes in the objects

16 The Unified Modeling Language (UML) Mechanism for describing Object- Oriented solutions Developed by Grady Booch, Ivar Jacobson and James Rumbaugh Used in the Rational Unified Process

17 UML in the Development Process

18 Class Box Diagram

19 Inheritance Relationship

20 Other Relationships

21 Aggregation and Composition

22 Royal Service Station System Figure 6.17 p. 279

23 Royal Service Station System

24 Class Description Template Refuel Class p. 278

25 Class name: refuel Category: service External documents: Export control: Public Cardinality: n Hierarchy: Superclasses: services Associations: fuel in association Operation name: price Public member of: refuel Documentation: // Calculates fuel final price Preconditions: gallons > 0 Object diagram: (unspecified) Semantics: final_price = gallons * price Object diagram: (unspecified) Concurrency: sequential Public interface: Operations: price Private interface: Attributes: gallons price Implementation: Attributes: gallons price State machine: no Concurrency: sequential Persistence: transient

26 State Diagrams

27 Activity Diagrams

28 Questions?


Download ppt "The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program."

Similar presentations


Ads by Google