Author Topic: Which views to divy-up the artifacts?  (Read 8525 times)

CJ

  • EA User
  • **
  • Posts: 288
  • Karma: +0/-0
    • View Profile
Which views to divy-up the artifacts?
« on: October 04, 2002, 11:28:13 am »
G'day folks,

I'm not sure how to divy-up the artifacts in EA.

EA provides five default views:  Use Case, Dynamic, Logical, Component, and Deployment.

"The Unified Modeling Language User Guide" (Booch, Rumbaugh, Jacobson) mentions the following views: Use Case, Design, Process, Implementation, Deployment.

"UML Weekend Crash Course" (Pender) breaks down the views into three simple ones:  Functional, Static, Dynamic.

"Applying UML and Patterns [...]" (Larman) breaks the views down as (based on the UP): Logical, Process, Deployment, Data, Use Case, Implementation.

I guess the choices are pretty well endless and depend on personal needs/preferences.  Anybody have opinions on these or other setups???

Thanks and best regards.
Cheers and best regards.

kelly_sumrall

  • EA User
  • **
  • Posts: 73
  • Karma: +0/-0
    • View Profile
Re: Which views to divy-up the artifacts?
« Reply #1 on: October 04, 2002, 02:35:48 pm »
I'm in the same boat.  I've read about UML over a year ago, but havn't started getting serious untill six months ago.  Even after six months I'm feeling a little lost.  It is a very slow process when you have to teach yourself.

I am constantly evolving (sometimes backwards evolution) my processes.  I have stuck with the views provided by EA.  Here is how I currently use them:





Functional
Here I document the individual requirements in a custom diagram.  I try to list the requirements at the organ (heart, liver, etc.) level and maybe the appropriate molecule level.

Use Case
This is the most commonly used view.  Here I make sure I am meeting the requirements captured in the functional view.  I create sequence diagrams, as appropriate, for each use case.  Between the functional view, the Use Cases, and Sequence diagrams, this seems to be enough information to translate from user desires to application.

Dynamic
I don't currently use this.  All the action I need seems to be captured in the Use Case Sequence diagrams.  If someone wants to convince me to use this, I'm listening.

Logical
This is where the rubber meets the road for the coder (me).  As the Use Cases evolve, I create a domain model.  This is a wattered down version of the Class diagrams.  I use the domain model to capture business objects (not classes).  From the domain model, I derive the class model diagrams.  In most cases, the classes are the same as the objects in the domain model, they just have methods and more properties.

Component
This is another view I don't use.  By the time I should be using this view, the project is behind schedule (in the minds of management) and I need to get something to the users.  If I should use it, tell me why, I'm listening.

Deployment
This pretty much follows the same reasoning as the Component View (ditto).

Custom
I have a package called User Interface in this view.  Here I make blocky models of the interface and create the appropriate navigation maps.  The screen mockups are stored in their own packages to keep organization in the tree.  The navigation is done on a diagram using links to the various mockup diagrams and associations pointing the way.


I hope this helps (someone) and that others respond with their processes.
Kelly Sumrall

Even though curiosity killed the cat, it still had eight lives left.

jaimeglz

  • EA User
  • **
  • Posts: 164
  • Karma: +0/-0
    • View Profile
Re: Which views to divy-up the artifacts?
« Reply #2 on: October 09, 2002, 12:46:28 pm »
Hi, all.

I've been doing a lot of traveling, so it has been only until doday that I can post my unconventional approach:

I rename the namespace (the root of my project tree, originally named "Views") with the name of the company or institution that sponsors the project. As long as it does not get too large, or as long as there are no intra-company confidentiality considerations, I try to use a single .EAP file for each company or institution.

I rename the use case view with the name of the project; i.e., Sistema Informático Comunitario. This is important because --as you will see later-- this is going to be the title of the RTF document.

If this is the second project for the same sponsor (the second project under the same namespace), I create a new view, and give it the name of the new project. In other words, the use case view or the new view will be the root package for the project.

I delete all other predefined views, except the logical view (because it has a cool icon to represent "structural things"). I place all my infrastructural and reusable stuff here, such as the package I made with the Ericksson-Penker businss process metamodel diagram and its classes (which I copied from their book), as well as packages with patterns that I have been accumulating over time (such as Fowler's dynamical hierarchies and measurements).

I rename this view as "Infrastructure", and it will be a common view to all projects under the same namespace.

Under my project root view (the former use case view), I either create, rename or import --shamelessly steal from existing projects-- the following packages:

1. Project Definition, with a brief introduction in the package's text. The Project Definition consists of two packages:

a. Requirements, with its own goals and requirements diagram, and its corresponding objects (no classes are stored here: goal classes, for example, reside in the EP metamodel). Each goal and each requirement contains a description, and in the diagram they are shown with dependency links. This package is not an indispensable part of the model, so I sometimes omit creating it.

b. Project Organization, with an org chart that represents the classes and instances for each resource (usually stereotyped as «worker»). All human resources (workers, actors, sponsors...) are kept and maintained in this package.

I obtain all project definitions (mainly goal and requirement descriptions) by copying and pasting from the Project Scope Document that serves as the formal contract with the customer. The Scope Document is created outside EA, but I'm working on trying to create the core of this document from within EA. I still find it practical --mainly because of time pressure-- to reuse scope documents (with their attached project plans) from previous projects.

2. Processes (or Process Model). I present the business process diagram and its objects here.

3. Use Case Model. I present a diagram with a general view of the use cases, and a package for each significant group of use cases. As has been previously discussed, I nest sequence diagrams under their respective use cases.

4. Domain Model. This is a representation of "real world" objects and their relationships. It can be seen as the most important structural antecedent for the data base model, but it also plays a very important descriptive role in the project.

5. Design Model. Usually contains the following packages:

a. If I have a situation in which the previously described use case model package contains the "as is" description of the current state, I include a Projected Use Cases Model (with their interactions) under this design model package.

b. Database Model. It contains --of course-- the diagram (or diagrams) for the database, and all persistent, structural classes. It can contain a sub-package for views (that is, views that are not real tables). I nest all State elements under their respective classes in this package.

c. Interface Model: Windows, dialogs, and so forth, which were discovered during interaction diagram elaboration. When we use the EA screen definition feature, this package contains the screens.

d. Control Object Model, with modeling elements for stored procedures and other control objects. Generally, I do not need to diagram these, because their behavior is already modeled in the interaction diagrams.

6. My last package is the Technical Architecture Package. I try to get away with a single diagram for nodes and components, but I can break this up as needed. All nodes (elements for hardware and so forth) and components (EXEs, and so forth) are stored and described here.

I have numbered the main packages here, but in order to have flexibility I do not number them in my actual project tree.

If the project is large, I try to split each main package into supackages so that each modeler "owns" a subpackage. Each subpackage can be conveniently exported, imported, EMailed... as an XMI.

I generate RTFs from the root of each project (that is, from what use to be the use case view), and each main package is a "chapter" of the RTF documentation.

Please note that what I have described here does not conform to Spark's recommended way of doing things. Keep in mind that preserving EA's original views makes your project compatible with EA's rich features and documentation. You will lose some of these if you do things as I have described above.

Also, please take into account that my intention in including this posting is not to tell everybody else that my way of doing things is the best, but only to contribute ideas that could be useful to other forum participants.

Jaime Gonzalez
« Last Edit: October 10, 2002, 09:34:16 am by jaimeglz »

pchang

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Which views to divy-up the artifacts?
« Reply #3 on: July 09, 2004, 02:24:14 pm »

Can someone please let me know how to get the *.EAP file that Jaime is using in the previous post?

Thanks,
Philip

z.kadlec

  • EA User
  • **
  • Posts: 22
  • Karma: +0/-0
    • View Profile
Re: Which views to divy-up the artifacts?
« Reply #4 on: July 12, 2004, 09:01:51 am »
I have the same experience / the views and packages I understend as a headings or chapters in a documantation. The package note is textual content of the chapter, if there is any diagram.
The sparx views I normally delete.
Z.

jeshaw2

  • EA User
  • **
  • Posts: 701
  • Karma: +0/-0
  • I'm a Singleton, what pattern are you?
    • View Profile
Re: Which views to divy-up the artifacts?
« Reply #5 on: January 12, 2005, 10:13:07 am »
This thread is old, but the discussion is useful...

Jamie said that if you dont use Sparks' views you loose some of their rich features and documentation.  I'm wondering, specifically, what those are?

My clients like the iterative approach of the Rational Unified Process (RUP).  How do those of you using RUP handle model views in this context?
Verbal Use Cases aren't worth the paper they are written upon.

thomaskilian

  • Guest
Re: Which views to divy-up the artifacts?
« Reply #6 on: January 13, 2005, 05:51:27 am »
There have been a lot of discussion around RUP. Please try searching this forum.

Tjerk

  • EA User
  • **
  • Posts: 231
  • Karma: +1/-0
    • View Profile
Re: Which views to divy-up the artifacts?
« Reply #7 on: January 14, 2005, 01:15:17 am »
Jim, you're not losing any features while using other roots and views. I personally use something like:

systems
|- System level interface req. & design
|- SysA
|   |- Requirements
|   |- System design (architecture)
|   |- Component interface req & design
|   |- Component A.1
|   |   |- Software requirements
|   |   |- Software design
|   |- Component A.2
|   |   |- Software requirements
|   |   |- Software design
|- SysB...

This resembles the software system documentation standard J-Std-016 (Mil-Std-498) standard of IEEE. A lot more details and UML artifacts can be brought into the structure.

The structure allows me to create MS Word  documentation (via RTF) that meets the documentation standard. I have no problems using and tweaking EA to fit my needs, without using the default root and views!

David

  • EA User
  • **
  • Posts: 30
  • Karma: +0/-0
    • View Profile
Re: Which views to divy-up the artifacts?
« Reply #8 on: June 02, 2008, 06:09:24 pm »
All,

I am looking for suggestions on the best structure for an EA DBMS Repository and found this post.
Jaime Gonzalez's entry back in Oct 2002 looks of interest, but I wondered if new EA functionality since then has opened the door for a better way that aids multi projects and RTF documentation creating.

Any suggestions and guidence would be welcome.

TIA

David

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Which views to divy-up the artifacts?
« Reply #9 on: June 02, 2008, 11:37:26 pm »
There have been some improvements.

I don't really know what they are, at least not in detail. What I do know is that I've seen things in the release notes over the past couple or so years, and also mentions in various forum threads.

Perhaps you should glance at the Resources page. While some of the papers there are dated, others are new or have been refreshed. They might give some hints.

Also, take the time to search the forum. Try various keywords, since the search function can be picky.

David
No, you can't have it!

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8085
  • Karma: +118/-20
    • View Profile
Re: Which views to divy-up the artifacts?
« Reply #10 on: June 03, 2008, 08:15:30 am »
Regarding the old posts about losing functionality if you don't go with the default views.  There may have been a few very minor things when I first started here a number of years ago.  Since then the 'default views' no longer really exist at all.

You could now easily define an MDG technology for any of the processes mentioned in this thread that defines the set of views commonly used (which the user could then select the ones they wanted).

You can also use the Master Documents added to produce documents that weren't possible in previous versions.