Wednesday, September 26, 2007

UML Package Diagrams

[1] Package diagrams for "Classes, Data Entities and Use Cases" are emphasized
http://www.agilemodeling.com/artifacts/packageDiagram.htm

[2] Style Guidelines for drawing "Package Diagrams"
http://www.agilemodeling.com/style/packageDiagram.htm

[3] Introduction to "Package Diagrams"
http://www.sparxsystems.com.au/resources/uml2_tutorial/uml2_packagediagram.html

Sunday, September 23, 2007

UML Tools

1. List of UML Tools
http://www.objectsbydesign.com/tools/umltools_byCompany.html

2. List of UML Tools on wikipedia
http://en.wikipedia.org/wiki/List_of_UML_tools

3. On How to choose a UML Modeling tool
http://www.objectsbydesign.com/tools/modeling_tools.html

4. Another list here
http://plg.uwaterloo.ca/~migod/uml.html

Sequence Diagrams and UML

[0] http://www.sparxsystems.com.au/resources/uml2_tutorial/uml2_sequencediagram.html

Good summary of UML2 sequence diagrams

complete, incomplete messages
lost or found messages
synchronous and asynchronous messages
Create and Destroy messages
List of all combined fragments

[1] http://www.ibm.com/developerworks/rational/library/3101.html

* Lifelines
* Messages
* Guards [pre-conditions that need to be met; In-Line Guards]
* Combined Fragments [Alternatives, Options, Loops, Break, Parallel

[2] http://www.agilemodeling.com/artifacts/sequenceDiagram.htm
Good examples of Sequence Diagrams
Several References

[3] http://www.agilemodeling.com/style/sequenceDiagram.htm
Style guidelines to draw Sequence Diagrams

[4] http://developers.sun.com/jsenterprise/learning/tutorials/jse8/uml_sequence_diagram.html
Tutorial on "UML Modeling: Creating Sequence Diagrams"
Outlines the process of creating Sequence Diagrams using Sun Java Studio Enterprise.

[5] Interesting Quick Sequence Diagram Editor
http://sdedit.sourceforge.net/

You can download and try out drawing the sequence diagrams

[6] Many examples of Sequence Diagrams in TCP/IP domain are given here
http://www.eventhelix.com/RealtimeMantra/Networking/

[7] How to model "Actor" and "Activation"
http://www.dotnetcoders.com/web/learning/uml/diagrams/sequence.aspx

[8] Interesting web-based sequence diagramming generator
http://www.websequencediagrams.com/

[9] How to draw Sequence Diagrams in Eclipse UML
http://open.ncsu.edu/se/tutorials/seq_diagram/

[10] http://www.tracemodeler.com/articles/a_quick_introduction_to_uml_sequence_diagrams/index.html

Instantaneous Message; Non-Instantaneous Message; Multi-Object
[Are these UML? or proprietary to Trace Modeler]



Notes:

[1] Note that leaving the instance name blank can represent anonymous and unnamed instances.

UML Notation of the instance
 instance name : class name 

[2] From http://en.wikipedia.org/wiki/Sequence_diagram

In order to display interaction, messages are used. These are horizontal arrows with the message name written above them. Solid arrows with full heads are synchronous calls, solid arrows with stick heads are asynchronous calls and dashed arrows with stick heads are return messages.

Activation boxes, or method-call boxes, are opaque rectangles drawn on top of lifelines to represent that processes are being performed in response to the message.

When an object is destroyed (removed from memory), an X is drawn on top of the lifeline, and the dashed line ceases to be drawn below it (this is not the case in the first example though). It should be the result of a message, either from the object itself, or another.

A message sent from outside the diagram can be represented by a message originating from a filled-in circle.

[3] What is the difference between a signature and a contract?
(Motivation for Operating Conditions)

http://www.cs.rit.edu/~afb/20012/cs4/slides/contract-04.html

Sequence Diagrams indicate the signatures and the return types;
However, the "operating conditions / contracts" outline the contracts

Also, see hierarchy of contracts
http://www.cs.rit.edu/~afb/20012/cs4/slides/contract-05.html

Extensions are obliged, however, to fulfill the contract of their base classes. Hence, contracts must not be weakened by extensions.


[4]

Saturday, September 22, 2007

Turning Java applications into Windows Executables

See JSmooth
http://jsmooth.sf.net/

Wednesday, September 19, 2007

RUP artifacts

http://process-up.ts.mah.se/RUP/RationalUnifiedProcess/process/artifact/ovu_arts.htm

Artifact Sets in each of the RUP disciplines are given. And for each artifact, the standard templates are also provided.

Friday, September 14, 2007

Scrum, Spiral, XP, RUP and Waterfall models

[1] Scrum

http://weblog.raganwald.com/assets/scrum.ppt
http://www.otug.org/meeting/slides/20060919-59_Minute_Scrum.ppt

[2] XP

[3] RUP

[*] Introduction to Rational Unified Process
[*] Introduction to Rational Unified Process

[*] A good and thorough overview of RUP; Much of the material seems to be from Rational/IBM.

http://www.eecg.toronto.edu/~jacobsen/courses/ece1770/slides/rup.pdf

[*] Another introduction to RUP;
Also mentions about Spiral Model
http://www.cs.st-andrews.ac.uk/~ifs/Books/SE7/Presentations/PPT/ch4.ppt

[*] How and when Use Cases are done in RUP
Comparison between Data Modelling and RUP
http://www.tcoug.org/Archive/Spring2005/Data_Development_using_RUP_tcoug.ppt

[*] Brief mention and comparison of different agile methods with waterfall
A nice classic slide at the end on how different people misunderstands the problem (tree and tire)
http://itgs.tistory.com/attachment/1264275895.ppt

[*] Incremental Adoption of RUP
Process Landscape (Relaxed, Disciplined, Iterative, waterfall)
ABCDEF (RUP Practices are summarized as ABCDEF which are broken into 2o point summary)
http://www.cardinalsolutions.com/RSCTY/PRESENTATIONS/Cardinal%20Solutions%20-%20Incremental%20Adoption%20of%20RUP%20v3.pdf

[*] Process cocktail - Mixing up XP, Scrum and RUP
(Handling the names in a system - an interesting slide on meeting the 'basic; most common' use cases and handling ALL the use cases)
(Also, very good breakup of how different workflows/disciplines are emphasized in each of the phases - inception, elaboration, construction and transition)
(How the "Best of Breed" in each of the processes can be combined into a new cocktail process)
http://www.netobjectives.com/files/events/download/rup_xp_scrum_pc_030326_ppt.pdf

[*] Adopting the RUP - can it be agile?
The process landscape and how different methodologies fit into that landscape.
Good overview of different artifacts RUP expects in each of the steps.
http://www.williamnazzaro.com/Material/Adopting_the_Unified_Process.pdf

[*] Comparison of RUP and DSDM in the context of Testing
RUP as a buffet - Do you want heavy or light?
RUP as garage or basement - because there are artifacts, we tend to hoard these
http://www.ucalgary.ca/~ageras/wshop/pres/f2003/mg-tw-001.pdf

[*] Free demos from Rational
http://www.rational.com/tryit/rup/seeit.jsp

[*] Introduction to RUP
Good information on how much %age of schedule and effort are spent in each of the phases.
Also, the outline of the presentation is presented in terms of the I, E, C and T (like RUP). That is creative
http://facweb.cs.depaul.edu/jnowotarski/se470/class%202003-04-21.ppt

[*] Managing Process and Methodologies
A good comparison of CMM, RUP and PMBOK
http://www.pmiglc.org/pd/2007symposium/docs/YS_GLC_PMI_Symposium_final.ppt

Managing Process and Methodologies


[4] DSDM (Dynamic Systems Development Method)





NOTES:

[1] Use Cases are described in terms of the language of an end user (customer).
Analysis Models are described in terms of the language of the developers.

[2]
Requirements: Do the right thing
Design: Do the thing right

[3]
Boundary Classes (actions, widgets)
Entity Classes (domain objects) and
Control Classes (C in MVC)

[4] From "http://www.eecg.toronto.edu/~jacobsen/courses/ece1770/slides/rup.pdf"

[*] To illustrate a problem with the waterfall model: Suppose I estimate that the project will take two years, and it really takes three years. At the end of two years, what do I have? Nothing useful works. No partial delivery is possible. Diagrams and models are great, but they can not execute.

[*] Waterfall is conceptually straightforward because it produces a single
deliverable for each step (requirements, analysis model, design model,
code, etc), resulting in a single release. The fundamental problem is that
it pushes risk forward in time, where it’s costly to undo mistakes from
earlier phases. An initial design will likely be flawed with respect to its
key requirements, and furthermore, the late discovery of design defects
tends to result in costly overruns or project cancellation. The waterfall
approach tends to mask the real risks to a project until it is too late to do
anything meaningful about them.

[*] Interesting site http://www.monstersdlc.com/ The site is developed as RUP phases

[*] Waterfall Model is also called Staircase model

[*] All development processes are (a) plan driven (heavy weight) or (b) evolution driven (light weight) or (c) a combination of both