Lecture 7 Functional and Design Descriptions

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)

Info icon This preview shows pages 1–13. Sign up to view the full content.

Copyright W. Howden 1 Lecture 7: Functional and OO Design Descriptions
Image of page 1

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Copyright W. Howden 2 Executable Units • Functional – Procedures – Functions – Subroutines • Modules Collections of procedures Interface procedures Object Oriented – Classes – Interfaces Class methods • Components Collections of classes Interface classes
Image of page 2
Copyright W. Howden 3 Functional Design Module connection/relationship models Design development Top down design Program refinement Module/Procedure call/use diagrams Algorithm design descriptions – Pseudo-Code Nassi-Schneiderman diagrams Decision Tables
Image of page 3

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Copyright W. Howden 4 Object Oriented Design Component connection/relationship models Design development – interaction sequence, collaboration diagrams – visibility analysis Design Diagrams – Class Structure Method design descriptions – algorithm design descriptions
Image of page 4
Copyright W. Howden 5 Functional Design Diagrams – Function Interactions Tree structure Nodes are procedures or modules Arcs are calls or uses Arc notation: shows flow of data from one node to another: data couples Computational and control flow couples
Image of page 5

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Copyright W. Howden 6
Image of page 6
Copyright W. Howden 7 DS Top Down Design DS process Dater or Admin process Dater process GetADate or SetMember Data process Filemanager process Admin process Add or Delete process FileManager process
Image of page 7

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Copyright W. Howden 8 DS PseudoCode and Program Refinement Member Data getADate(DaterPreferences daterPrefs) { Record record; Boolean match = false; record = filemanager(“getFirst”); see if record matches daterPrefs and set match while ((record =/ null) and (match == false)) { record = filemanager(“getNext); see if record matches daterPrefs and set match } if (match = = false) return null else return record; }
Image of page 8
Copyright W. Howden 9 Data Visibility For Functional Programs Data item: a function f uses or accesses a data item. How do we enable it to access and manipulate this data. – Local variable: declare one and assign data to it – Parameter: accessed passed data using formal parameter, or assign it to a local variable – Assign and reference data via a global variable
Image of page 9

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Copyright W. Howden 10 Type Visibility of Functional Programs Variable declarations involve a type Type definition visibility – Global generic types – Global struct definitions (C ) – Local struct definitions – Includes files
Image of page 10
Copyright W. Howden 11 Object Oriented Design Diagrams – Class Models Graph structure Nodes correspond to classes Arcs are relationships between classes Visibility analysis in class diagrams – Solid arc from A to B indicates A has a class variable whose values are instances of B – Dotted arcs indicate other kinds of visibility implementations
Image of page 11

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Copyright W. Howden 12 Diagram Details • Nodes/Classes – Attributes: associated simple variables
Image of page 12
Image of page 13
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern