Announcements - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Announcements

Description:

A 'data abstraction': A bundle of. Data, and. Methods (modules ... Case example, instance, situation... (suggesting 9 phrases whose meaning = 'use case' ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 20
Provided by: classEe
Category:

less

Transcript and Presenter's Notes

Title: Announcements


1
Announcements
  • Prefer building/running programs in class
  • yes 23, no 0, answer not so simple 6
  • Prefer lecturing from slides
  • 3 yes, 18 no, 7 not so simple
  • Mixture better than either
  • yes 23, no 1, not sure 6
  • Comments include that slides are good to have
    available for reference and study

2
486 Phase 2Here is What this Course is not
  • Its not just about programming in Java
  • or just about Object Oriented Programming
  • It is about Object Oriented Analysis Design
  • Recall that software engineering is much more
    than programming!
  • Its also analysis and design, teams, and other
    things

3
Object-Oriented Analysis and Design in Context
  • See life cycle figures from Schach book

4
Some OOA/D Core Skills
  • Determine what objects to have
  • and what responsibilities each should have
  • What is the relationship between responsibilities
    and functionalities?
  • Be able to use software design patterns
  • that is, logical structures frequently occurring
    in designs and requiring multiple objects to
    implement
  • Be able to use UML notation
  • Universal Modeling Language is a (large) set
    of semi-graphical notations
  • Be able to perform use-case analysis
  • One of numerous skills important in analysis and
    design
  • (What is it?)

5
What is Analysis? Design?Object-Oriented
Analysis and Design?
  • Analysis any detailed examination
  • Websters New World College
    Dictionary (4th ed.)
  • In software engineering, you examine problems, to
    understand them
  • (You dont examine solutions, you build them)
  • Therefore analysis refers to
  • Examining the problem to be solved

6
What is Analysis? Design?Object-Oriented
Analysis and Design?
  • Design
  • description of the structure of a solution
  • In software engineering, you design software
    solutions
  • Therefore design refers to
  • Determining the structure of a software artifact

7
What is Analysis? Design?Object-Oriented
Analysis and Design?
  • Analysis Do the right thing
  • Design Do the thing right
  • Larman p.7

8
What is Analysis? Design?Object-Oriented
Analysis and Design?
  • OOAD
  • Object-Oriented Analysis and Design
  • Object-oriented analysis
  • Examine the problem to determine its object-like
    parts
  • Can be done regardless of implementation language
  • Object-oriented design
  • Determine how the objects interact and what they
    contain
  • One could argue that the analysis/design boundary
    is not exactly ideal

9
Recall Objects
  • What is an object??

10
A Definition of Object
  • An object is
  • A data abstraction
  • A bundle of
  • Data, and
  • Methods (modules containing executable
    statements)
  • The bundle is conceptually coherent
  • It presents an API
  • Inheritance is possible

11
Example of OOAD
  • (See Larman section 1.5)
  • Player rolls 2 dice a 7 wins, other s lose
  • First, define use cases
  • Next, define a domain model
  • Third, define interaction diagrams
  • Fourth, define class diagrams

12
Defining Use Cases
  • Use cases are scenarios of system operation
  • Use cases are written stories (Larman)
  • Use cases are text documents (Larman p. 71)
  • Use utilization, purpose, functionality
  • Case example, instance, situation
  • (suggesting 9 phrases whose meaning use case
  • Systems that do lots of things will have lots of
    use cases!
  • Is the following is a use case?

13
These are not exactly use cases. Rather this is a
use case diagram. (Figure source OMG Unified
Modeling Language Specification version 1.3,
www.omg.org)
14
First Define Use Cases
  • Recall the example
  • Player rolls 2 dice 7 wins, other s lose
  • Create a use case now

15
Back to Defining the Use Cases
  • Larman describes the dice game with
  • just 1 use case
  • Player rolls dice, winning if they add to 7, else
    losing

16
Second From Use Cases to Domain Model
  • Strategy
  • Define use cases
  • ?Define domain
  • model
  • ?Define interaction
  • diagrams
  • ?Define design class
  • diagrams

Objective decompose domain into object-like
pieces Try it now then well see what Larman
has
17
Domain Model Example
  • This is an entity-relationship diagram
  • See Figure 1.3, p. 8 (2nd ed.)
  • Note
  • name of entity,
  • relationship description (1 word),
  • relationship numerical property,
  • attribute names

18
Third Define Interaction Diagrams
  • Given the entities
  • Show their possible interactions
  • Interactions among objects use
  • Messages
  • A message is just the name for a method call
  • Ill draw the entities
  • You draw the interactions
  • Then well see what the text has (Figure 1.4, 2nd
    ed.)
  • NOTE assume a computerized dice game
  • Strategy
  • Define use cases
  • ?Define domain
  • model
  • ?Define interaction
  • diagrams
  • ?Define design class
  • diagrams

19
Fourth Define Design Class Diagrams
  • This is a basic design for a system
  • Show classes in boxes
  • List the data members and methods of each class
  • Show how many objects of each class interact with
    how many of each other class
  • Try it now
  • Then well see what text has (Figure 1.5, 2nd ed.)
  • Strategy
  • Define use cases
  • ?Define domain
  • model
  • ?Define interaction
  • diagrams
  • ?Define design class
  • diagrams
Write a Comment
User Comments (0)
About PowerShow.com