Object Oriented Software Engineering   View all facts   Glossary   Help
subject > person or group > person > stakeholder > software developer > modeller
Next software developerprogrammer    Upsoftware developer    Previous software developermentor   

modeller comparison table
Subject omit reuse reward for have make identify refuse is part of ensure that is a kind of is a subtopic of agree on want judge on understand develop avoid ask perform document apply use maintain work for inform underestimate work on realize refine have goal emphasize fail to
architectural modellerdesign documentationtechnology that others are also reusingdeveloping reusable componentssignificantly less knowledge about modelling than about design and programmingthe interface of a package as simple as possible to simplify its use and testingall the use cases associated with the software productto reuse components in which they lack confidencesoftware development teamthe set of use cases is complete and that they are expressed consistently and unambiguouslymodeller9.4 - Software Architecturerequirementssoftware that is easy to design and maintain and which has parts that are easy to reusewhen they deliver product, not on its quality levelthe customer's business environment, their problems and the available technology which can be used to solve the problemsnew libraries, APIs and frameworks because
  • developing anything reusable is seen as not directly benefiting the current customer
  • If a developer has painstakingly developed a high-quality reusable component, but management only rewards the efforts of people who create the more visible 'final product', then that developer will be reluctant to spend time on reusable components in the future
  • Efforts at creating reusable software are often done in a hurry and without enough attention to quality. People thus lose confidence in the resulting components, and in the concepts of reuse and reusability
circular dependencies among packagesseveral evaluators to independently perform heuristic evaluationsarchitectural modellinga design only after it is completedesign principlesUML diagramssoftwareseveral months on a testing team; this will heighten her awareness of quality problems she should avoid when she returns to designing softwarethe project manager about any problemssoftware development time because it is very hard for people to assess the quality of software or to appreciate the amount of work involved in its developmentcustom softwarethat developing reusable components will normally simplify the resulting design, independently of whether reuse actually occursarchitectural model by following these steps iteratively:
  • Sketch an outline of the architecture, based on the principal requirements and use cases. Determine the main components that will be needed, such as databases, particular hardware devices and the main software subsystems
  • Refine the architecture by identifying the main ways in which the components will interact, and by identifying the interfaces between them. Decide how each piece of data and functionality will be distributed among the various components
  • Consider each use case and adjust the architecture to make it realizable
  • Mature the architecture as you define the final class diagrams and interaction diagrams
rewarding career, recognition, or the challenge of solving difficult problems or by being a well-respected 'guru' in a certain area of expertisethe use case or use cases which are central to the system, which represent a high risk because of problematic implementation, or which have high political or commercial valueadequately involve users in the development process

Next software developerprogrammer    Upsoftware developer    Previous software developermentor