11.02.2014 Views

UML PROFILE FOR SAVECCM - Research

UML PROFILE FOR SAVECCM - Research

UML PROFILE FOR SAVECCM - Research

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!