Object Oriented Software Engineering   View all facts   Glossary   Help
subject > person or group > person > stakeholder > software developer > reusable component developer
Next software developersoftware architect    Upsoftware developer    Previous software developerrequirements specialist   

reusable component developer
subjectfact 
reusable component developerbuilds confidence in the reusable technology by
  • guaranteeing support
  • ensuring it is of high quality
  • responding to the needs of the users
2001-08-30 14:57:22.0
develops software components that are intended to be reused2001-08-30 14:57:22.0
is a subtopic of 3.2 - Incorporating Reusability and Reuse Into Software Engineering2001-08-30 14:57:22.0
is a kind of software developer2001-08-30 14:57:22.0
must catalog reusable components so that software engineers will be able to find them2001-08-30 14:57:22.0
must document reusable components so that software engineers will be able to use them easily2001-08-30 14:57:22.0
must follow good software engineering practices2001-08-30 14:57:22.0
must provide support for the components after they are developed2001-08-30 14:57:22.0
overcomes competition with other developers of reusable components by:
  • Ensuring the reusable technology is as useful and as high quality as possible
  • Advertise the presence and advantages of the reusable software
2001-08-30 14:57:22.0
should follow the same steps as the development of complete applications: domain and requirements analysis, design, documentation, testing and inspection2001-08-30 14:57:22.0
should monitor the success or failure of the reusable software so you can improve your investment decisions in future projects2001-08-30 14:57:22.0
should plan the development of the reusable technology, in the same manner as if it were a product for a client2001-08-30 14:57:23.0
uses a catalog of reusable components to find appropriate components2001-08-30 14:57:23.0
software developerasks several evaluators to independently perform heuristic evaluations2001-08-30 14:57:35.0
can avoid creating design documents before starting to program but this is not a good idea and tends to result in an inflexible and overly-complex system2001-08-30 14:57:35.0
has goal rewarding career, recognition, or the challenge of solving difficult problems or by being a well-respected 'guru' in a certain area of expertise2001-08-30 14:57:35.0
is part of software development team2001-08-30 14:57:35.0
maintains software2001-08-30 14:57:35.0
may be judged on when they deliver product, not on its quality level2001-08-30 14:57:35.0
may refuse to reuse components in which they lack confidence2001-08-30 14:57:35.0
most often works on custom software2001-08-30 14:57:35.0
must ensure that the set of use cases is complete and that they are expressed consistently and unambiguously2001-08-30 14:57:35.0
must inform the project manager about any problems2001-08-30 14:57:35.0
must understand the customer's business environment, their problems and the available technology which can be used to solve the problems2001-08-30 14:57:35.0
often fails to adequately involve users in the development process2001-08-30 14:57:35.0
often has significantly less knowledge about modelling than about design and programming2001-08-30 14:57:35.0
often underestimates software 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 development2001-08-30 14:57:35.0
performs cost estimation2001-08-30 14:57:35.0
reuses libraries and APIs delivered with a programming language2001-08-30 14:57:35.0
should avoid 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 market2001-08-30 14:57:35.0
should be rewarded for developing reusable components2001-08-30 14:57:35.0
should emphasize the 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 value2001-08-30 14:57:35.0
should identify all the use cases associated with the software product2001-08-30 14:57:35.0
should not omit design documentation2001-08-30 14:57:35.0
should only reuse technology that others are also reusing2001-08-30 14:57:35.0
should realize that attention to quality of reusable components is essential so that potential re-users have confidence in them2001-08-30 14:57:35.0
should realize that developing and reusing reusable components improves reliability, and can foster a sense of confidence2001-08-30 14:57:35.0
should realize that developing reusable components will normally simplify the resulting design, independently of whether reuse actually occurs2001-08-30 14:57:35.0
should work for several months on a testing team; this will heighten her awareness of quality problems she should avoid when she returns to designing software2001-08-30 14:57:36.0
wants software that is easy to design and maintain and which has parts that are easy to reuse2001-08-30 14:57:36.0
stakeholdermust agree on requirements2001-08-30 14:57:46.0

Next software developersoftware architect    Upsoftware developer    Previous software developerrequirements specialist