Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - PhilR

Pages: 1 2 [3] 4 5 6
31
General Board / Re: All requirements in EA - doable? Advisable?
« on: December 02, 2002, 10:31:38 pm »
My exuberant humour in my last post is due to the fact that I am starting six weeks holiday tomorrow  8)

However, I plan to find some time to check this board and am interested to hear more responses to Jaime's suggestion that we develop a method via this forum.

According to this article it looks like we need it more than ever

http://www.it-analysis.com/frame.php?name=The+Register&url=%20http%3A%2F%2Fw
ww.theregister.co.uk%2Fcontent%2F7%2F28299.html

Phil

32
General Board / Re: All requirements in EA - doable? Advisable?
« on: December 01, 2002, 07:39:42 pm »
Jaime,

Mexico sounds remarkably like Australia!  Also thanks for correctly refering to Mexico as being "down there" relative to Australia.  Most maps incorrectly show Australia on the bottom of the globe see http://www.latitudesmapstore.com/graphics/w6.jpg for the correct perspective  ;)

Glad you enjoyed the presentation.

Phil


33
General Board / Re: All requirements in EA - doable? Advisable?
« on: November 28, 2002, 09:27:14 pm »
OK I give up  ???.  What does PUP mean in Spanish?

On the subject of EA and requirements, I agree with Jaime's comments on the value of having then in EA but find the data entry rather tiresome.  I tend to use MS Word tables to organise requirements becasue all clients have it, its infinately flexible and I know how to use it.  However, I know there are much better tools out there.  I used to use Lotus Agenda (an old DOS program) but street-cred no longer permits.  I have payed about with InfoHandler http://www.mdesoft.com/ but have never used it on a real project.  Of course there is always ReqPro, Doors etc

There is actually an "RQML" (Requirements Markup Language) http://www.raqoon.is/rqml/rqml-spec.htm which I have recently discovered.  This site is definately worth a look.  I can imagine a RQML -> EA import would be really useful.

Back to PUP.  I have wondered about the idea of an "open source" process for sometime.  The OPEN framework (see http://www.donald-firesmith.com) is close to such a thing but it is really more of an extensive framework for people who are clear about their process requirements.

You might find a presentation I did recently interesting http://members.iinet.net.au/~lonsdale/docs/htdalcp.pdf It talks about how to design a process based on a couple of standards OMG's SPEM and ISO 12207.

I second Jaime.  Lets get a lively debate going on this subject with perhaps a view to collaboration.

34
General Board / Re: Is there a means to control errors in the mode
« on: December 01, 2002, 07:28:20 pm »
Quote
My problem is: in diagrams, you can create two classes with the same name...


In the UML "uniqueness" is not provided by diagrams.  UML elements have a path name that is provided by the hierarchy of package names.  This means that two classes in different packages may quite leagally have the same name.

If you want to see the full path name (default behaviour in EA) right-click on the diagram canvas (not an element) and select "Diagram Properties...".  If "Highlight Foreign Obejcts" is checked, the full path name will be displayed.

This means that you only really need to be concerned about classes with the same name in a single package.  Not hard to do if you follow Jaime's suggestion.

I'm not acutally sure what the UML says about uniqueness within a package. Anyone know?

Phil

35
General Board / Re: Custom routed vs. direct
« on: November 27, 2002, 06:10:49 pm »
Good point.  I have been fiddling about changing between direct, auto routing and custom lines.  I will set my default to custom which can be done by selecting View|Options...|Objects and selecting the appropriate connector style.

As far as right angled lines are concerned - try this.  Drag the lines to almost right angle and right click on the line Select the option "Tidy line angles" and the lines will snap to right angles.

Phil.

36
General Board / Re: Collaboration Element
« on: November 17, 2002, 07:23:40 pm »
This will be a bit hard to explain without a whiteboard but I'll have a go :)

Suppose I want to conceptually model a network of flights between airports.  No problem I use a class called "Airport" and a "recursive" association called flight.  A recursive association is one that connects two instances of the same class.  In other words both ends of the associaiton touch the same class.  Both ends of the association have 0..* multiplicity.

Most conceptual modellers will instantly recognise that this model fragement represents a network.  Now the fun starts.  Where do I put the atribute for distance between airports?  The problem is that I can't capture this attribute in the basic model.

OK. I introduce a second class called "Flight" and have two associations between "Airrport" and "Flight".  One association is called "Depart" and the other is called "Arrive".  The "Airport" end of both associations has a multiplicity of 1 and the "Flight" ends a multiplicity of 0..* (closed or airports under construction do not have flights).

Many conceptual modellers will still recognise this as a network.  Now where do I put the operation to display arrivals and departures.  "Airport"?  Possible.  I would need displayArrivals() and displayDepartures().  But what about "transit" airports?  I don't want to display these on my arrivals or depatures boards.  OK I could add another association between "Airport" and "Flight" called "Transit".  Getting messy.  What about alternate airports for flights that are diverted etc etc.

A better apporach is to create an "abstract" class "AirportRole" with an operations display(). This class has an association with "Airport" and "Flight".  It also has three specialised (sub-)classes "Depart", "Arrive" and "Transit".  These specialised classes all inherit the display() operation but implement it differently.

If I tell "Depart" to display() it displays departures, if I ask "Arrive" to display() it displays arrivals, if I ask "Transit" to display it does nothing or returns an error.  This is "polymorphism".

However, very few conceptual modellers would now instantly recognise this as a network.  Enter the collaboration element.  If I create a collaboration element, label it "Network" and connect it to "Airport", "AirportRole" and "Flight" it becomes perfectly obvious that we are dealing with a network.

Phil.

37
General Board / Re: Scalability in EA
« on: November 11, 2002, 06:13:40 pm »
We have just completed a project with the following vital statistics (as taken from the project statistics screen in EA):

231 packages
988 objects
792 connections
218 diagrams
1252 objects in diagrams
146 use cases
134 classes
219 objects
80 requirements
131 activities
1460 attributes

There were three of use working on the project and we used the replication feature.  We had a couple of scares about lost information but decided in the end that they were due to "human error" rather than problems with EA.

I have used a stack of CASE tools over the years and found EA to be one of the least obtrusive.  We went straight from EA to client documentation with the help of a MS Word clean up macro.  We did suffer from persistent diagram layout and clipping problems that detracted form the final presentation.  If EA has any weak areas it would seem to be in the diagramming area!

However as a comparison, I recently had a much more expensive "floral" tool scramble all my diagrams which cost me a heap of time to lay them out again!

Sparxsystems have mentioned larger projects on this board.

Hope this helps,
Phil.

38
General Board / Re: How to jump to Use Case docs?
« on: November 06, 2002, 06:13:09 pm »
Hi all,

Just want to clear up the "is RUP proprietary?" issue.

RUP is based on the Unified Process (UP) which was described in a book by the "Three Amigos".  If you describe an idea in a book it places it in the public domain (the actual layout and text of the book is copyright of course).

Amazon has the book at
http://www.amazon.com/exec/obidos/tg/detail/-/0201571692/qid=1036633414/sr=8-1/r
ef=sr_8_1/104-7519513-8356719?v=glance&s=books&n=507846

Alternatively you can download an excellent article on the UP at
http://home.earthlink.net/~salhir/UnderstandingTheUP.PDF

The UP book does not describe activities such as Configuration Management or Quality assurance - the manner in which these are integrated into RUP along with all sorts of articles, check lists and templates is what makes RUP proprietary.

However, I can take the Amigos' book and quite legally create a PUP (Phil's Unified Process).  Because Rational's lawyers are bigger than mine they may well object to the name etc etc but basically I have done nothing wrong.

The notation used by RUP is described in the OMG standard for Software Process Engineering Metamodel (SPEM).  This is an open standard available at
http://www.omg.org/cgi-bin/doc?ptc/2002-05-04

What this means for organisations is that they can create their own methodology based on the UP and using the same notation as RUP without infringing any licences.

For guidance on the bits that are missing in UP try the ISO 12207 standard.  A good overview exists at
http://www.abelia.com/docs/12207cpt.pdf

or the OPEN process framework at
http://www.donald-firesmith.com

39
General Board / Re: Hardwork to keep instances updated
« on: October 28, 2002, 07:38:32 pm »
We have a similar problem.

We have created a series of detailed class diagram that provide a logical model of our application domain.  We then create a number of objects to represent data structures that are input and output by the users.  For example, the "Student Details" data structure (object) may include some (but not all) of the attributes from the Person, Address and School classes.

We include these by dragging them from the class onto the object.  This works well in the first instance but is not so hot when changes start to happen.

Our ideal would be the ability to specify whether dragging should perform a deep or shallow copy in much the same way as copying and pasting objects from the clipboard currently does.

A deep copy would create a new attribute while a shallow copy would create a link to the classes' original attribute.  In the second case changes to the classes' attribute would be reflected in all of the linked attributes.

Phil.

40
General Board / Re: Hardwork to keep instances updated
« on: October 28, 2002, 07:33:26 pm »
We have a similar problem.

We have created a series of detailed class diagram that provide a logical model of our application domain.  We then create a number of objects to represent data structures that are input and output by the users.  For example, the "Student Details" data structure (object) may include some (but not all) of the attributes from the Person, Address and School classes.

We include these by dragging them from the class onto the object.  This works well in the first instance but is not so hot when changes start to happen.

Our ideal would be the ability to specify whether dragging should perform a deep or shallow copy in much the same way as copying and pasting objects from the clipboard currently does.

A deep copy would create a new attribute while a shallow copy would create a link to the classes' original attribute.  In the second case changes to the classes' attribute would be reflected in all of the linked attributes.

Phil.

41
General Board / Re: Anyone know of a Business Analyst community?
« on: October 15, 2002, 06:53:40 pm »

Quote
Thanks for the suggestions, guys.

Alan, Yahoo groups make me come out in a rash. ;)



Me too.  How about Sparx hosting one on this server?

Phil.

42
General Board / Re: Activity diagrams - sub diagram capability?
« on: September 25, 2002, 07:35:16 pm »
UML 1.4 has a stereotype icon to indicate that an activity is decomposed into a sub-activity diagram.  The logical way for a tool vendor to implement this would be to "double click" on the master activity which woiuld launch the sub-activity diagram.  EA of course does not implement this.

It also makes sense to "double click" on a class and launch a State Chart which decsribes the class life-cycle.  Again EA does not implement this.

Generally the OO community rather shys away from this approach because it smacks of funcitonal decomposition a bit.

By the way Rose (and other tools) implement all sorts of fussy rules about what can decompose into what.  No thanks.
Phil.

43
General Board / Re: Syncronising replicas and Lost Information
« on: September 24, 2002, 08:01:22 pm »
Oh dear!  It looks like the missing stuff was an operator error rather than replication. :-[

Is there a possibility that when people make mistakes they jump to blaming something like replicaiton rather than investigaitng properly.

Sorry if my post confused people.
Phil.

44
General Board / Syncronising replicas and Lost Information
« on: September 24, 2002, 12:45:02 am »
We seem to be occasionally losing information when we syncronise replicas.  I have seen mention of this before on this board.

A bit disconcerting as we are really hammering the product and it is holding up well in every other respect.

Anyone else have any experience?  Comments from Sparx?

Thanks
Phil

45
General Board / Re: EJB and UML modelling
« on: September 24, 2002, 02:10:46 am »
Sorry if the specification scares people.  My intention in posting it was not scare everyone off.  Remember that these specs are defined with enough detail for tool vendors (such as Sparx) to build tools that generate code, deployment descriptors etc.  Check out the official UML spec if you really want scared.  

Also this profile is definately not the way to learn about EJB.  try one of the more gentle introductions at

http://www.cetus-links.org/oo_java_ejb.html#oo_java_ejb_tutorials

The section of real interest in the spec is 3.5 Standard Extensions.  This is where all the stereotypes and tags are defined.  Note that they model EJBs as packages rather than classes.  They also have stereotypes for the component parts of EJBs such as the home and remote interfaces.

At the end of the day the stereotypes <<session>> and <<entity>> will do just fine if you don't need the greater prescision offerd by the stereotypes in the spec.  Be careful though, if you share your models with other modellers.  The <<entity>> stereotype is used in another context for Robustness Diagrams.  Stereotypes <<EJBSession>> and <<EJBEntity>> might be better to avoid confusion.

Rich, I love your comments on the evaluation of EA.  Maybe Sparx need a "Corporate Fools Edition" of EA.  Crippled functionality, additional bugs, fancy 'T' shirts and a ten times price tag  ;D

Phil.

Pages: 1 2 [3] 4 5 6