What key factors should be considered when
considering the most appropriate type of reuse?
Ans: Key
factors that you should consider when planning reuse are:
1.
The
development schedule for the software: If the software has to be developed quickly, you should try to
reuse off-the-shelf systems rather than individual components. These are
large-grain reusable assets. Although the fit to requirements may be imperfect,
this approach minimizes the amount of development required.
2.
The
expected software lifetime:
If you are developing a long-lifetime system, you should focus on the maintainability
of the system. You should not just think about the immediate benefits of reuse
but also of the long-term implications. Over its lifetime, you will have to
adapt the system to new requirements, which will mean making changes to parts
of the system. If you do not have access to the source code, you may prefer to
avoid off-the-shelf components and systems from external suppliers; suppliers
may not be able to continue support for the reused software.
3.
The
background, skills, and experience of the development team: All reuse technologies are fairly
complex and you need quite a lot of time to understand and use them
effectively. Therefore, if the development team has skills in a particular area,
this is probably where you should focus.
4.
The
criticality of the software and its non-functional requirements: For a critical system that has to be
certified by an external regulator, you may have to create a dependability case
for the system. This is difficult if you don’t have access to the source code
of the software. If your software has stringent performance requirements, it
may be impossible to use strategies such as generator-based reuse, where you
generate the code from a reusable domain specific representation of a system.
These systems often generate relatively inefficient code.
5.
The
application domain: In
some application domains, such as manufacturing and medical information
systems, there are several generic products that may be reused by configuring
them to a local situation. If you are working in such a domain, you should
always consider these as an option.
6. The
platform on which the system will run: Some components models, such as .NET, are specific to Microsoft
platforms. Similarly, generic application systems may be platform-specific and
you may only be able to reuse these if your system is designed for the same
platform.
0 comments:
Post a Comment