Help coderanch get a
new server
by contributing to the fundraiser
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Devaka Cooray
  • Liutauras Vilda
Sheriffs:
  • Jeanne Boyarsky
  • paul wheaton
  • Henry Wong
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Tim Moores
  • Carey Brown
  • Mikalai Zaikin
Bartenders:
  • Lou Hamers
  • Piet Souris
  • Frits Walraven

conceptual classes

 
Ranch Hand
Posts: 105
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hi jose
here is a description oLarman's UML Process
Use Cases :
Define user interaction with the system.Underline nouns to identify concepts in the problem domain.

Conceptual Model:
Use the underlined nouns from the use cases to create the concepts in the conceptual model.Some of the nouns, if they identify simple data types, are used to create attributes of these concepts.Create associations between the concepts.

System Sequence Diagram:
Create system sequence diagrams for each use case scenario.Each sequence event in the diagram corresponds to a user interaction with the system specified by the expanded use case.

System Contracts:
Specify post-conditions for each system event in the system sequence diagrams.Use the conceptual model to identify objects created, associations formed, and attributes modified.

Collaboration Diagram:
Create a collaboration (or sequence) diagram for each system event in the system sequence diagrams.Assign responsibilities to classes in the conceptual model to fulfill the post-conditions in the contracts.Use associations from the conceptual model in conjunction with patterns (Expert, Creator) to assign responsibilities.

Class Diagram:
Add methods and additional attributes which were discovered in the collaboration diagrams to the classes in the conceptual model.

Code:
Create classes with their names, attributes and method signatures taken from the class diagram.For each method on a class, use the collaboration diagrams to find the sequence of messages generated when the method is called and create at least one line of code for each message.

so is that first I define my conceptual classes and then add method and attributes which I discovered in the colloboration diagram to the classes in conceptual model . So is that a mapping between conceptual and specification perspective classes.So is a 2 dimensional approach
please clear my problem
bye
nitin
 
Ranch Hand
Posts: 2120
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator


so is that first I define my conceptual classes and then add method and attributes which I discovered in the colloboration diagram to the classes in conceptual model


Yes you got it.


So is that a mapping between conceptual and specification perspective classes


Yes it is. However isn't a direct mapping.
-------------------------------
Remember:
A) You should be prepared to update the analysis and design artifacts as suscessive iterations discover new concepts or flaws.
B) Don't follow a cascade approach in which all the analysis is done beforehand, later design, and last coding. The iterations must consist of these three parts. The feedback of an interaction goes to the entry of the next one. In this way we get point A.
C) For B to be feasible, the iterations must consist of portions of the problem, not the whole program.
 
nitin kumar
Ranch Hand
Posts: 105
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hi jose
Thanks for ur reply.I have understood the concept that is an iteration between the static and dynamic model.Here I came to know about robustness diagram which is in between usecases and the sequence diagrams.
so in my first cases
a. I identify my domain objects which correspond to entity objects
b.Next from the usecases I identify my entity ,boundary and control objects and prepare my robustness diagram
c)In the process of preparation of robustness diagram if I find any new objects I should add to my conceptual classes
d)If I think the static model is complete then should i go to the sequence
e)And I this process their might be a switching between analysis and design
Is my procedure correct
 
Jose Botella
Ranch Hand
Posts: 2120
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello nitin.
Because I'm starting with OOAD all the following should be validated or dismissed by anyone with more experience.
My opinion is that you have arrived to a slightly old-dated process.


I have understood the concept that is an iteration between the static and dynamic model


I think the point isn't to distinguish bettween static or dynamic modelling, but that an interation is made of analysis, design, coding and feedback from previous interactions.


I came to know about robustness diagram which is in between usecases and the sequence diagrams.


Robustness diagrams are part of the Objectory method by Jacobson, an old method.
It seems that there wasn't a class diagram drawn from the conceptual perspective in the domain model in this method. Thus the robustness diagram tried to carry out its functions.
Taking the analysis-design-coding approach using a robustness diagram seems to me like mixing the design phase with the anlysis one. Drawing a class diagram from the conceptual perspective mustn't show design decisions, however a robustness diagram in an analysis model seems to specify some design decisions, as which class is a controller or acts like an interface. In analysis only the problem should be considered, not how is going to be resolved.
Anyway if you take the objectory method or decide to draw a robustness diagram within an analysis-desig-coding approach, and you find some value, please send a post to let me know how it worked.

Consider the robustness diagram in the ATM example.
I think that the behaviour of the system can be much better taught/learnt from the class diagram than from it. The value of the robustness diagram is to classify the classes as controllers, boudaries or entities. However, again, this isn't related to the domain but to the way we resolve the problem.
Maybe as an alternative to robustness diagrams, the system sequence diagrams are possible. They express the messages sent between the actors and the system, and also intersystems ones.
 
nitin kumar
Ranch Hand
Posts: 105
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
hi jose
do u wanna say that robustness is an old process.what other alternatives u can think.I think u have very good hold of OOAD.So u please tell me what is the procedure u recommend. I think dynamic model can be extracted from the robustness diagram.
bye
nitin
 
Jose Botella
Ranch Hand
Posts: 2120
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
1)I sincerely recommend to read Applying UML and Patterns by Craig Larman.
2)Write uses cases.
Optionally draw system sequence diagrams and operation contracts
3)Domain model (conceptual perspective)
4)Interaction Diagrams and class diagrams (specification perspective)
5) Coding if possible with unit testing
6)go to 2 with the feedback of the code
reply
    Bookmark Topic Watch Topic
  • New Topic