Object Oriented Software Engineering   View all facts   Glossary   Help
subject > person or group > person > stakeholder > software developer > designer > UML diagram designer
Next designeruser interface designer    Updesigner    Previous designersoftware designer   

UML diagram designer comparison table
Subject discover defer is a subtopic of mark create represent think of identify read split distribute work is a kind of invent avoid find concern with ask herself whether hide
designer  1.7 - Activities Common to Software Projects skeletons for the files that will contain the code  all the use cases associated with the software product    software developer the use of obscure features of technology because later versions of the technology might be changed in ways that are incompatible with how you have used it or the producer of the technology might go out of business or withdraw it from the marketways to reduce costs and increase benefits   
UML diagram designerclasses in source material such as requirements descriptions, interview notes, or the results of brainstorming sessionsdecisions about directionality to later phases of development, when the detailed design is created because although making associations one-directional can improve efficiency and reduce complexity, it might also limit the flexibility of the system.5.2 - Essentials of UML Class Diagramsan association as an aggregation if the following are true:
  1. You can state that the parts 'are part of' the aggregate, or the aggregate 'is composed of' the parts
  2. When something owns or controls the aggregate, then they also own or control the parts
a distinct class if a subset of a class's attributes form a coherent groupactions as if they were associationsgeneralizations as special associations, a common misconception which arises because both generalizations and associations connect classes together in a class diagramassociations and attributes once a good initial list of classes has been identified, starting with the most important classes and working outwards towards the classes that are less importantevery association in both directions to verify that it makes sense because it is very common to make errors when creating associations - it is particularly easy to get the multiplicity wronga class into several distinct classes if it has too many responsibilitiesresponsibilities among the classes so no one class has an unfair share, and hence becomes unduly complexin the following sequence
  1. Identify a first set of candidate classes
  2. Starting with the most important classes, add any associations and attributes that clearly will be needed
  3. Work out the most clear generalizations
  4. List the main responsibilities of each class
  5. Based on responsibilities, decide on specific operations that are needed
  6. Iterate over the entire process, examining the model to see if you need to add or delete classes, associations, attributes, generalizations, responsibilities or operations
  7. Repeat the last step as needed until the model is satisfactory
designerclasses that are needed to solve a particular design problemoverdoing generalizationclasses by extracting the nouns and noun phrases from source materialsreuse when identifying classesa less restrictive multiplicity could also makes sense in some circumstancespart objects inside the aggregate object to improve the encapsulation of the system so that methods in the system would be able to perform most operations on the aggregate, without needing to know about the existence of the parts

Next designeruser interface designer    Updesigner    Previous designersoftware designer