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 - Richard Freggi

Pages: [1] 2 3 ... 6
1
A ERD is simply a class diagram with a specific profile (Crow's foot notation, stereotypes for primary/foreign keys, triggers and constraints are represented as operations etc.)  Anything you can do with a ERD you can also do with a class diagram (there's whole books on this subject on Amazon).
That's not quite true. ERD is elder than UML (at least the UML we use now). But UML can mimic ERD by means of a profile.

q.

Hi qwerty, so seems like you agree with what I posted, and do I sense a bit of impedance today?

2
Hello Dana

A ERD is simply a class diagram with a specific profile (Crow's foot notation, stereotypes for primary/foreign keys, triggers and constraints are represented as operations etc.)  Anything you can do with a ERD you can also do with a class diagram (there's whole books on this subject on Amazon).

I remember years back the OMG looking into requests to adopt ERDs and concluding that UML already has full capability to do what ERDs do, so nothing to be gained.  The main issue is programmers proficient in UML not liking data modelers proficient in ERD and very much vice versa (look up "object impedance").

Anyways a data model (in whatever notation, class diagram or ERD) is an excellent way to capture requirements because you can efficiently and precisely rationalize key concepts (entities and attributes), business rules (relationships and cardinality; also datatypes and domain checks) and other qualities into one simple model that can summarize hundreds of different requirements from dozens of business processes and IT systems. 

The best way to learn how to do it is to pick a methodology and practice, practice practice.  Most methodologies recommend PLAIN TEXT to capture requirements, then transfer the text to comments on said entities, attributes and relationships.  Sparx tagged values and CSV import/export make this very convenient. 

Good luck!

Phew. Going directly from requirements to a data model is like having the cake from the flour on the table. Requirements -> Use Cases -> Conecptional Class Model -> Concrete Class Model/Data Model would be the way to go.

q.

In this case, the customer has provided a specification of what data is to be in the database. This task is to simply produce a conceptual data model representation of that specification and the tracing to requirements (specification) is to make sure I have full coverage.

I am curious about "Conceptual Class Model" versus ERD Diagrams in EA. In the past, I have done my data modelling in Class Models but coming back to the tool after about 5 years I discover the ERD Diagram feature. To be honest, I am not quite sold on the ERD Diagram yet. Is there a good resource on the pros and cons of each approach and when/why to choose one over the other?

3
General Board / Re: Lollipop vs. Interface
« on: August 14, 2018, 10:42:50 pm »
What qwerty said.  It's the UML 2.x standard... not as use friendly as UML 1 in this case, but standards are standards...

4
Tagged values are an excellent way to add pre, post conditions, descriptions, scenarios etc.; and very easy to export to Excel (csv files).  Sparx documentation explains how to use them.
matrices can be used to list actors by use case.

5
Typing quickly w/out time to look this up in EA: the UML types (or something like that) menu in EA should let you create tagged value types for the whole project - takes 3 minutes.
I'll look it up tomorrow if  you need more details

6
Yes Sparx is very well suited for this.
I recommend you read up on TOGAF Enterprise Continuum, TOGAF Enterprise and Strategic levels and/or Zachman Conceptual and Logical levels.  You will know what diagrams you need and how to present them to your customer.

Cheers

7
Hello Balloons (hehe)
I hear this kind questions sometimes at work and essentially it can be summarized as "what is a better tool: a screwdriver or a hammer?
There's no way to answer unless you have a very clear of what you want to do with the tool.  I have seen people highly skilled at hammering screws on to walls and others very good at banging on nail heads with a screwdriver.  Yes it can be made to work but it is never a sensible idea.

So what do you need to do and have you decided how you are going to do it?

If you have a well defined system architecture and database schemas and you need to tell users what process to follow, then structured analysis (BPMN, flowcharts, Data Flow Diagrams etc) will be OK.  I don't know Blueworks and Aris but from their Wikipedia page they seem capable to support this.
Aris is used a lot with SAP implementation because regardless of what the consultant tells you, the ERP system and data architecture is pre-defined - it's OK to tweak it a bit using BPMN or the like.

If you need to define an integrated process-data-system architecture and you DON'T have a predefined solution that you can squeeze into your processes, then UML is by far the fastest, safest, most effective and cheapest way to do it.  Defining a data and system architecture based on BPMN or flowchart (structured analysis) opens the door to a world of hurt (which I see regularly in my job).  I have evaluated a few UML tools and Sparks is top for price/performance (and is fully capable to support a large enterprise effort).

The more you understand your needs and approach, the easier is tool selection.     

Good luck!

8
General Board / Re: Replace element
« on: June 24, 2018, 01:56:05 am »
You should be able to change the instance classifier of UML elements with right-click context menu in diagrams (why you can't do it in project explorer is beyond me).  So your element becomes an instance of some other classifier.
IIRC Ctlr-L works everywhere. But that works only for instances->classifier, not vice versa.

q.

Good tip QWERTY!  Thanks!

9
General Board / Re: Deployment Diagram questions
« on: June 23, 2018, 01:07:12 pm »
Hello Casey

Deployment diagram is a structural diagram that shows what things you have and how they fit together.  A node is usually a physical thing - a metal box (server, switch, RAID array etc).  Metal boxes don't have behaviors besides maybe beeping and flashing lights.  They just sit there.
Nodes deploy artifacts that are usually binary files (executables, database instances etc.).  The files also pretty much sit there.

The best way to show how the system behaves is to use a behavioral diagram: in your case I suspect an interaction diagram (sequence or communication) would be best.

If you need to show some behavior information, business rule or constraint on the deployment diagram, the best practice is to add a good ol' text note to the diagram.

More info in "The unified modeling language reference manual" (Booch, Jacobson, Rumbaugh), or The elements of UML 2.0 style (Ambler)

Cheers!

10
General Board / Re: Replace element
« on: June 23, 2018, 12:47:55 pm »
You should be able to change the instance classifier of UML elements with right-click context menu in diagrams (why you can't do it in project explorer is beyond me).  So your element becomes an instance of some other classifier.

11
General Board / Re: Deployment Diagram questions
« on: June 22, 2018, 07:55:54 pm »
"We've been simply using a single node using a naming convention 'Cluster'<Type><RootName><Node1Name>/<Node2Name>/etc. So example ClusterAIXFluffA/B/C. However, there are times when we'd like to specify differences in node behavior in instances of the same cluster type. So ClusterAIXFluffA/B/C is a mirrored redundant set of nodes but ClusterAIXPeanutA/B/C has a primary node with two fail-over nodes. Our engineers need to know that a node failure on ClusterFluff is automatically handled and no special code needs to be written."

In my opinion the problem is that this is not information that should described in a deployment diagram.  There are other diagrams where you can describe classifier properties, behavior and interaction logic.

12
John, I think you are mixing up the Open Group (that manages the Archimate standard) and the Object Management Group (that manages the UML standard).  I suspect this is why you refer to the "Open Management Group" .

They are two separate and independent bodies, and Archimate and UML are not related besides the fact that you can mimic Archimate using UML's wonderful extensibility mechanisms (profiles and such).  And it's great that Sparx EA has the MDG mechanism to replicate Archimate functionality.

I won't get into the argument of why Archimate looks like UML (there be cans of worms!!!)

More info on Wikipedia

13
General Board / Re: Star Schema / Dimensional Database
« on: June 08, 2018, 10:42:41 pm »
*Drops monocle*
I thought star schema is just a style of schema implementable in any relational database?  Should be OK unless you need to forward engineer to a RDBMS that EA does not have DDL generation for

14
General Board / Re: Reusing a Use Case, generic or template?
« on: June 06, 2018, 11:24:17 pm »
Yes that one and when you finished it (a couple of afternoons max), "Applying use cases" by Schneider and Winters is a great next step.

By the way to the original poster: what you are describing below is best modeled via a sequence diagram
1 - System A sends request to System B
2 - System B validates request
3 - User gains access System B

What request is sent?  What classes are impacted by that message? What objects sent, what operations invoked?  How does that change your class diagram?  How about the validation?  That's where things get interesting.

15
General Board / Re: Reusing a Use Case, generic or template?
« on: June 05, 2018, 07:50:18 pm »
I only can recommend Bittner/Spence. Use case synthesis is a rather simple thing. But sometimes simple things are harder to understand than complex ones. IT people tend to analyze things and dissect them once they start with it. But UCs are just the other way around. I always see the same sort of questions (yes, I had them too in the beginning when working with UCs). The only remedy is to understand what UCs are good for. It's like teaching people Zen. So simple. So difficult.

q.

What q. said.  Really good and easy book.

Pages: [1] 2 3 ... 6