UML PROFILE FOR SAVECCM - Research
UML PROFILE FOR SAVECCM - Research
UML PROFILE FOR SAVECCM - Research
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Component – based software engineering<br />
framework ensure that extensions do not have unexpected interactions,<br />
thus extensions may be independently developed and deployed.<br />
• Reduced time to market. The uniform component abstractions and the<br />
availability of components drastically reduce time it takes to design and<br />
to develop a system. Design time is reduced because key architectural<br />
decisions have been made and are embedded in the component model<br />
and framework.<br />
• Improved predictability. Since component models express design rules<br />
that are enforced over all components deployed in a component-based<br />
system, then various global properties can be designed into the<br />
component model, so that properties such as security, scalability,<br />
execution time and so forth can be predicted for the system.<br />
• And many other advantages such as more effective management of<br />
complexity, increased productivity, improved quality and a greater degree<br />
of consistency<br />
However, there are also some disadvantages and factors that can discourage<br />
the application of component – based development approach [Crnković 02]:<br />
• Time and effort required for development of components.<br />
• Unclear and ambiguous requirements. One of the major problems of<br />
software development comes from unclear, ambiguous, incomplete, and<br />
insufficient requirements specifications. Reusable components are<br />
intentend to be used in various applications, some of which may yet be<br />
unknown and the requirements of which cannot be predicted. This makes<br />
it more difficult to identify the requirements of the component properly.<br />
• Conflict between usability and reusability. Component must be<br />
sufficiently general, scalable, and adaptable in order to be widely<br />
reusable. However this demand results with component to become more<br />
complex (and thus more complicated to use) and more demanding of<br />
computing resources (and thus more expensive to use).<br />
• Component maintenance costs. Although application maintenance costs<br />
can be lowered, component maintenance costs can be very high since<br />
the component must respond to the different requirements of different<br />
applications running in different environments and with different reliability<br />
requirements.<br />
• Reliability and sensitivity to changes. Because components and<br />
applications have separate life cycles and different kinds of<br />
requirements, there is some risk that a component will not completely<br />
satisfy the particular requirements of certain applications or that it may<br />
have characteristics not known to the application developer. When<br />
5