- This is covered in CSci372 and skipped in CSci375.
- ++ Flowcharts reborn.
- -- Introduction
- -- 28.1 Example
- -- 8.2 Uses: BPM DFD Algorithms ...
- ++ Beware using an activity diagram to show a DFD. UML activity
diagrams imply a strict sequence rather than a set of loosely
coupled parallel processes. Even Fig 28.3 implies a strict sequence.
To show many components cooperating (as in a typical business) you
can use component diagrams. See
[ ../papers/rjb04bDFDs/ ]
- -- 28.3 More Notation: Subprograms, decision/merge, signals...
[ 17Signals.gif ]
(notation for activities and signals)
- --28.4 Guidelines
- -- Martin Fowler's "UML Distilled" points out that UML2.0
activity diagrams have different semantics to UML1.* activity diagrams.
To avoid confusion an activity should never have more than two control
flows out and no more than one control flow in. Use diamonds and bars
to make the precise meaning clear.
- -- 28.5 Example: NextGen
- -- * 28.6 Process: Activity Diagrams in the UP
- ++ Based on Computer Science Theory from the 1940's!
- ++ A very useful and simple way to think about complex behavior
patterns. We have tools and theories that help analyze these charts.
Most people understand them with little training.
- -- Not covered in CSci375 -- lack of time.
- -- Introduction
- -- 29.1 Example
- -- ** 29.2 Definitions
- -- ** 29.3 How and when to use
- -- ** 29.4 More State Machine Notation
- -- ++++ There is a big ambiguity in UML2.0: state diagrams look like
activity diagrams and have different semantics. To be clear put
an event or condition on all transitions in a state diagram.
- -- **** 29.5 Example: model UI Navigation via a state machine
- -- 29.6 Example: NextGen
- -- ++ Dynamics in the Domain Model. You can also draw a
state chart of conceptual objects in the domain. This will often
teach a lot about the way things happen in the real world outside
the computer.... and give you a lead on how objects evolve
`inside the computer.
- -- +++ Examples of State Machine Notation
[ ../samples/uml.states.gif ]
[ 17course.gif ]
[ 17doorProtocol.gif ]
. . . . . . . . . ( end of section Modeling Dynamics -- Activity Diagrams and State Machines. Standard Definitions) <<Contents | End>>
- Artifact::="Anything that is created in the course of a project".
- artifact::=see above.
- DCD::diagram="Design Class Diagram", shows the classes that will be implemented in code.
- Deliverables::="A packet of artifacts that must be prepared by a deadline for review or distribution".
- Glossary::= See http://cse.csusb.edu/dick/cs375/uml.glossary.html.
- GoF::="Gang of Four",
[ patterns.html#GoF ]
- GRASP::patterns="General Responsibility Assignment Software Patterns",
a set of guidelines for designing objects and classes. They take a single
event that the system must handle and determine a good class to carry it out.
[ patterns.html#GRASP -- General Responsibility Assignment Software Patterns ]
- Grades::= See http://cse.csusb.edu/dick/cs375/grading/.
- KISS::Folk_law="Keep It Simple, Stupid", in agile processes this means never
drawing a diagram or preparing a document that doesn't provide value
to the clients and stakeholders. In all processes it means never
designing or coding what is not needed, see YAGNI.
- OOAD::="Object-Oriented Analysis and Design", See chapter 1 in text.
- patterns::="Documented families of problems and matching solutions", see
- Patterns::= See http://cse.csusb.edu/dick/cs375/patterns.html.
- Process::="How to develop software".
- RJB::=The author of this document,
RJB="Richard J Botting, Comp Sci Dept, CSUSB".
- RUP::Process="Rational UP", a proprietary version of UP.
- SSD::="System Sequence Diagrams", see chapter 10.
- TBA::="To Be Announced".
- UML::="Unified Modeling Language".
[ Unified_Modeling_Language ]
- UP::="Unified Process", an iterative, risk-driven, and evolutionary way to develop OO software.
- YAGNI::XP="You Ain't Gonna Need It", an XP slogan that stops you
planning and coding for things that are not yet needed. As
a rule the future is not predictable enough to program a feature
until the stakeholders actually need now. In this class it also means
"It won't be on the final or in quizzes".
- XP::="Extreme Programming", the ultimate iterative, code-centric, user-involved