Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 CS427: Software Engineering I Darko Marinov (slides from Ralph Johnson)

Similar presentations

Presentation on theme: "1 CS427: Software Engineering I Darko Marinov (slides from Ralph Johnson)"— Presentation transcript:

1 1 CS427: Software Engineering I Darko Marinov (slides from Ralph Johnson)

2 CS42710-2 Administrative info zHW1 graded yProjects yKeep forming 8-student groups xCurrent group members decide on new members zMidterm: confirmed time and room change y7pm on Oct 10 (Tue) in 1404 SC (not DCL!) xMakeup exam: 12:30pm on Oct 10 in 1310 DCL xLet us know if you have other conflicts ySamples

3 CS42710-3 Topics zCovered yProject initiation and planning yRequirements (use cases) yDesign (architecture) zToday: UML introduction yNotations useful for requirements, specification, design, and (potentially) coding

4 CS42710-4 Modeling notations (1) zUsed for both requirements analysis and for specification and design zUseful for technical people zProvide a high-level view zRequire training zMany notations yEach good for something yNone good for everything

5 CS42710-5 Modeling notations (2) zHelp developers communicate zProvide documentation zHelp find errors (tools check for consistency) zGenerate code (with tools)

6 CS42710-6 Unified Modeling Language (UML) zGraphical modeling notations for describing and designing (OO software) systems z13 kinds of diagrams (in UML 2.0) yStructure xClass diagrams (today) yBehavior xInteraction Sequence diagrams (today)

7 CS42710-7 UML class diagrams zFormed by merging Booch Diagrams and OMT Object Diagrams zDescendent of Entity-Relationship Diagrams zDescribes data and operations

8 CS42710-8 Elements of UML class diagram zClass yAttributes yOperations zAssociations yMultiplicity yDirection/aggregation zGeneralization

9 9 Familiar(?) example domain

10 CS42710-10 Problem source zFrom a Design Fest at OOPSLA zIn addition to system description, has three use cases zCentral concept: claim

11 CS42710-11 Claim class diagram

12 CS42710-12 Inheritance

13 CS42710-13 Multiplicity z0..1 or 0..N is optional z1 is mandatory z* is 0..N

14 CS42710-14 OO modeling points zBest objects correspond to real-world entities zSome correspond to actors (adjudicator); they are actually interfaces to the actors zSome correspond to complex processes, but this is an exception; should not be common

15 CS42710-15 Attributes vs. associations

16 CS42710-16 Health claims processing zReceives health claims and supporting documents via many sources: electronically, fax, on paper. zScanned paper and fax processed by OCR. Documents first subject to form dropout, deskewing, despeckling. zAll images are logged to optical disk.

17 CS42710-17 Behavior

18 CS42710-18 OO modeling points zClass names should be nouns zVerbs become operations zAvoid class names ending in “er”

19 CS42710-19 Analysis vs. design zClass diagrams are used in both analysis and design zAnalysis - conceptual yModel problem, not software solution yCan include actors outside system zDesign - specification yTells how the system should act zDesign - implementation yActual classes of implementation

20 CS42710-20 Extending class diagrams zNo modeling notation can do everything zModeling notations should be extensible zUML has two techniques yConstraints yStereotypes

21 CS42710-21 Constraint

22 CS42710-22 Stereotype

23 CS42710-23 Interfaces to other systems

24 CS42710-24 UML sequence diagrams zModel how a set of objects communicate zDescribe sequence of events (traces) zA line for each object zTime goes from top to bottom zArrows represent communication events

25 CS42710-25 Sequence diagram for claim

26 CS42710-26 Class diagram zCentral model for OO systems zDescribes data and behavior zIn UML, used along with Use Cases and Packages for analysis zAlso used to describe implementation zDon’t confuse analysis and implementation! ySeparate “what” from “how”

27 CS42710-27 Next: Analysis and design in RUP zRead chapters 5-8 of “UML Distilled: Third Edition” (“Class Diagrams: Advanced”, “Object Diagrams”, “Package Diagrams”, “Deployment Diagrams”; 2nd edition: chapters 6-7 and first part of 10) yChapters 3-4 listed for today yChapters 1-2 and 9 listed earlier

Download ppt "1 CS427: Software Engineering I Darko Marinov (slides from Ralph Johnson)"

Similar presentations

Ads by Google