Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sept. 18, 2003CS 509 - WPI1 CS 509 Design of Software Systems Lecture #3 Thursday, Sept. 18, 2003.

Similar presentations


Presentation on theme: "Sept. 18, 2003CS 509 - WPI1 CS 509 Design of Software Systems Lecture #3 Thursday, Sept. 18, 2003."— Presentation transcript:

1 Sept. 18, 2003CS 509 - WPI1 CS 509 Design of Software Systems Lecture #3 Thursday, Sept. 18, 2003

2 Sept. 18, 2003CS 509 - WPI2 §Term Project administration §Return Quiz #1 – well done! §Questions §Phase 2 – Functional Specifications §Specifications Exercises §Review Chapter 5 §Analysis Exercises Class Format for Today

3 Sept. 18, 2003CS 509 - WPI3 Meeting Coordinator Project §Turn in Phase 1 (Requirements) document and group evaluation forms l 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 Sept. 18, 2003CS 509 - WPI4 Return Quiz #1 Solutions are available on Course Web Site

5 Sept. 18, 2003CS 509 - WPI5 Questions? §From last week’s class §From the reading §Anything else?

6 Sept. 18, 2003CS 509 - WPI6 Phase 2 Functional Specifications

7 Sept. 18, 2003CS 509 - WPI7 Discussion §What is a Functional Specification? §What purpose does it serve? §What goes into a FS document?

8 Sept. 18, 2003CS 509 - WPI8 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 Sept. 18, 2003CS 509 - WPI9 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 l Consider FS to be like a contract

10 Sept. 18, 2003CS 509 - WPI10 Contents §Introduction l State purpose, scope and objectives §Detailed Functionality l Explain how requirements will be covered §Glossary §Mock-up or Prototype l Show what features will look like l Pictures often worth more than words

11 Sept. 18, 2003CS 509 - WPI11 Specifications Exercises

12 Sept. 18, 2003CS 509 - WPI12 Exercise #1 – Functionality Design and build a “chair” §Definition – what is a chair? l What is its purpose? l What are its salient characteristics? §Functional decisions: l What choices are there? l How do you choose?

13 Sept. 18, 2003CS 509 - WPI13 Exercise #2 – Content Index §Review functional requirements l Configure which types of files to include in Index l Provide editable text box for query input l Remember previous queries for later recall l Provide mechanism to initiate execution of a query l Provide mechanism to cancel execution of a query l Switch between case-sensitive and -insensitive queries l Display query results as a list of files §Choose a few to describe in more detail

14 Sept. 18, 2003CS 509 - WPI14 Analysis Chapter 5

15 Sept. 18, 2003CS 509 - WPI15 Purpose of Analysis §Preliminary stage of Design activities: l Identifying various objects & object types l Identifying associations l Modeling Interactions between objects l Identifying Attributes l Modeling Nontrivial Behavior l Modeling Generalization Relationships

16 Sept. 18, 2003CS 509 - WPI16 Terminology §Entity Object §Boundary Object §Control Object §Association §Nontrivial Behavior (typo in book)

17 Sept. 18, 2003CS 509 - WPI17 Identifying Object Types §Entity Object: l Persistent information tracked by system l E.g. Month, Day, Year §Boundary Object: l Interactions between actors & system l E.g. Button, Display §Control Object: l Tasks performed by User, supported by System l E.g. ChangeDate

18 Sept. 18, 2003CS 509 - WPI18 Heuristics for Object Types §Entity objects: l Box on page 141 §Boundary objects: l Box on page 143 §Control objects: l Box on page 145

19 Sept. 18, 2003CS 509 - WPI19 Associations & Multiplicity §Types of associations: (Example on p. 136) l one-to-one l one-to-many l many-to-many §Symbols used to represent multiplicity: l 1 - may be assumed by default, 2 … n l * - zero or more l + - one or more l ? - zero or one

20 Sept. 18, 2003CS 509 - WPI20 Qualified Associations §Technique for reducing multiplicity, thereby reducing complexity filename DirectoryFile Directory File filename 1* 0..1 1 Figure 5-9 (page 138). Example of how a qualified association rule reduces multiplicity

21 Sept. 18, 2003CS 509 - WPI21 Modeling Interactions §Interactions between objects can be modeled using UML Sequence Diagrams l Heuristics for drawing sequence diagrams on page 146 l Points 4 & 5: do these make sense? §New objects may be identified during the Sequence Diagramming activity

22 Sept. 18, 2003CS 509 - WPI22 Identifying Attributes §Properties of individual objects §Each attribute should have: l name identifying it within an object l description to remember what it’s for l type defining legal values it can take on §Heuristics for identifying attributes on page 152

23 Sept. 18, 2003CS 509 - WPI23 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”? l Examples of trivial vs. nontrivial behavior?

24 Sept. 18, 2003CS 509 - WPI24 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: l For organizational purposes only, not reuse l Inheritance comes in during Object Design

25 Sept. 18, 2003CS 509 - WPI25 Analysis Model §Is this a useful activity? l Identifying object types – terminology, concepts l Constructing sequence & state-chart diagrams l Associations and generalizations §At what point does analysis apply to a software development project? §Is it required for this course?

26 Sept. 18, 2003CS 509 - WPI26 Analysis Exercise Identifying Objects & Object Types

27 Sept. 18, 2003CS 509 - WPI27 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 l How is this accomplished? §Tasks: l Identify objects & object types l Identify associations, attributes, generalizations

28 Sept. 18, 2003CS 509 - WPI28 For Next Time UML – Chapter 2


Download ppt "Sept. 18, 2003CS 509 - WPI1 CS 509 Design of Software Systems Lecture #3 Thursday, Sept. 18, 2003."

Similar presentations


Ads by Google