CS 509 Design of Software Systems - PowerPoint PPT Presentation

About This Presentation
Title:

CS 509 Design of Software Systems

Description:

One of the most common documents used in commercial software industry ... New objects may be identified during the Sequence Diagramming activity. Sept. 18, 2003 ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 29
Provided by: DianeK82
Learn more at: http://web.cs.wpi.edu
Category:

less

Transcript and Presenter's Notes

Title: CS 509 Design of Software Systems


1
CS 509Design of Software Systems
  • Lecture 3
  • Thursday, Sept. 18, 2003

2
Class Format for Today
  • Term Project administration
  • Return Quiz 1 well done!
  • Questions
  • Phase 2 Functional Specifications
  • Specifications Exercises
  • Review Chapter 5
  • Analysis Exercises

3
Meeting Coordinator Project
  • Turn in Phase 1 (Requirements) document and group
    evaluation forms
  • An email was sent out to the class mailing list
    to remind students about the evaluation forms.
    Did everyone receive the message?
  • Hand out Phase 2 document

4
Return Quiz 1
  • Solutions are available on
  • Course Web Site

5
Questions?
  • From last weeks class
  • From the reading
  • Anything else?

6
Phase 2
  • Functional Specifications

7
Discussion
  • What is a Functional Specification?
  • What purpose does it serve?
  • What goes into a FS document?

8
Introduction
  • One of the most common documents used in
    commercial software industry
  • Developers might not have much input into
    requirements
  • Often your only chance to negotiate features
  • May need to be updated if requirements change

9
Purpose
  • Further define goals and scope of the system by
    detailing functionality
  • Determine which features impact usability
  • Distinguish between necessary features and wish
    list features
  • Get client to sign-off
  • Consider FS to be like a contract

10
Contents
  • Introduction
  • State purpose, scope and objectives
  • Detailed Functionality
  • Explain how requirements will be covered
  • Glossary
  • Mock-up or Prototype
  • Show what features will look like
  • Pictures often worth more than words

11
Specifications
  • Exercises

12
Exercise 1 Functionality
  • Design and build a chair
  • Definition what is a chair?
  • What is its purpose?
  • What are its salient characteristics?
  • Functional decisions
  • What choices are there?
  • How do you choose?

13
Exercise 2 Content Index
  • Review functional requirements
  • Configure which types of files to include in
    Index
  • Provide editable text box for query input
  • Remember previous queries for later recall
  • Provide mechanism to initiate execution of a
    query
  • Provide mechanism to cancel execution of a query
  • Switch between case-sensitive and -insensitive
    queries
  • Display query results as a list of files
  • Choose a few to describe in more detail

14
Analysis
  • Chapter 5

15
Purpose of Analysis
  • Preliminary stage of Design activities
  • Identifying various objects object types
  • Identifying associations
  • Modeling Interactions between objects
  • Identifying Attributes
  • Modeling Nontrivial Behavior
  • Modeling Generalization Relationships

16
Terminology
  • Entity Object
  • Boundary Object
  • Control Object
  • Association
  • Nontrivial Behavior (typo in book)

17
Identifying Object Types
  • Entity Object
  • Persistent information tracked by system
  • E.g. Month, Day, Year
  • Boundary Object
  • Interactions between actors system
  • E.g. Button, Display
  • Control Object
  • Tasks performed by User, supported by System
  • E.g. ChangeDate

18
Heuristics for Object Types
  • Entity objects
  • Box on page 141
  • Boundary objects
  • Box on page 143
  • Control objects
  • Box on page 145

19
Associations Multiplicity
  • Types of associations (Example on p. 136)
  • one-to-one
  • one-to-many
  • many-to-many
  • Symbols used to represent multiplicity
  • 1 - may be assumed by default, 2 n
  • - zero or more
  • - one or more
  • ? - zero or one

20
Qualified Associations
  • Technique for reducing multiplicity, thereby
    reducing complexity

Figure 5-9 (page 138). Example of how a qualified
association rule reduces multiplicity
21
Modeling Interactions
  • Interactions between objects can be modeled using
    UML Sequence Diagrams
  • Heuristics for drawing sequence diagrams on page
    146
  • Points 4 5 do these make sense?
  • New objects may be identified during the Sequence
    Diagramming activity

22
Identifying Attributes
  • Properties of individual objects
  • Each attribute should have
  • name identifying it within an object
  • description to remember what its for
  • type defining legal values it can take on
  • Heuristics for identifying attributes on page 152

23
Modeling Nontrivial Behavior
  • Statechart diagrams represent behavior of a
    single object
  • Gives a different perspective when compared to
    Sequence diagrams
  • How do we know what behavior is Nontrivial?
  • Examples of trivial vs. nontrivial behavior?

24
Generalization Relationships
  • Generalization relationships between objects can
    be modeling using UML Class diagrams
  • Organize concepts into hierarchies from most
    general to most specific
  • Eliminate redundancy
  • Not to be confused with Inheritance
  • For organizational purposes only, not reuse
  • Inheritance comes in during Object Design

25
Analysis Model
  • Is this a useful activity?
  • Identifying object types terminology, concepts
  • Constructing sequence state-chart diagrams
  • Associations and generalizations
  • At what point does analysis apply to a software
    development project?
  • Is it required for this course?

26
Analysis Exercise
  • Identifying Objects
  • Object Types

27
Exercise 3 File System
  • (From textbook, exercises 1-5, page 164)
  • File system with GUI e.g., File Explorer
  • Activity copy file from floppy to hard disk
  • How is this accomplished?
  • Tasks
  • Identify objects object types
  • Identify associations, attributes, generalizations

28
For Next Time
  • UML Chapter 2
Write a Comment
User Comments (0)
About PowerShow.com