Building software from reusable components.
Objectives
Reuse based software engineering
Application system reuse
The bulk of an application system may be reused either by consolidating it without change into other systems are by generating application families.
Component reuse
Components of an application from sources to single objects may be reused.
Function reuse
Software components that execute a single well-defined function may be reused.
Benefits of reuse
Increased reliability - components exercised in working systems.
Reduced process risk - less uncertainty development costs
Effective use of specialists - reuse components instead of people.
Standards compliance - embedded standards in reusable components.
Accelerated development - avoid original development and hence speed up production.
Requirements for design reuse
Reuse problem
Design for reuse
Generator based reuse
Program generators include the reuse of standard models and algorithms.
These are set in The generator and parameterized by necessary commands a program is then automatically created.
Generator-based reuse is possible when domain abstractions and their mapping to executable code can be identified.
A domain-specific language is used to design and manage these abstractions.
Program generators
Types of the program generator
Generator-based reuse is quite cost-effective but its applicability is restricted to a relatively small number of application domains. It is simpler for end-users to generate programs using generators compared to other compound based plans to reuse.
Component development for reuse
Components we use may be specially constructed by generalizing existing components.
Component reusability
The major general the interface, the greater the reusability but it is made more Difficult and so less usable.
Reusable component
The construction cost of reusable components is more expensive than the cost of particular equivalents. This more reusability improvement cost should be an organization rather than a project cost. Generic components may be larger and slower than their specific equivalents.
Reusability enhancement
Name generalization
Names in a component may be changed so that they are not yet managing the production of a particular application entity.
Operation generalization
Operations may be appended to produce additional functionality and application-specific operations may be removed.
Exception generalization
Application-specific exceptions are removed and exception management is added to increase the robustness of the component.
Component certification
The component is certified as reusable.
Application families
An application product line is a similar set of applications that has a well-known domain-specific design. The general core of the application family is normally each time a new application is needed. All Applications specialized in some way. Application family architectures must be structured in a way that separates different subsystems and allows them to be modified.
Application families specialization
Platform socialization
A different version of the application and development of different platforms.
Configuration specialization
Various versions of the application are designed to handle different external devices.
Functional specialization
Different versions of the application are all created for the customer with different requirements.
Key points
Share this: FACEBOOK TWITTER WHATSAPP
SOFTWARE ENGINEERING
Software quality assurance Software quality is described as conformance to explicitly state functional and performance requirements, explicitly documented standards and implicit features that are anticipated of all professionally developer software ... Read More
MOBILE COMMUNICATIONS
A tunnel establishes a virtual pipe for data packets between a tunnel entry and a tunnel endpoint. Packets entering a tunnel are forwarded inside the tunnel leave the tunnel unchanged. Tunneling, that is, sending a packet through a tunnel, is achieved by using encapsulation ... Read More
SOFTWARE ENGINEERING
The overall structure of the software components and how the success provides a conceptual integrated file system. In other words, architecture is the hierarchical structure of program components, how these components interact, and the structure of data that are used by the components ... Read More
SOFTWARE ENGINEERING
Real-time and distributed system design The real-time system is a software system the correct functioning of the system depends on the results produced by the system the time at which these results are produced ... Read More
SOFTWARE ENGINEERING
Waterfall Model The waterfall model also called classic life cycle requirements is well defined and stable. It suggests a systematic, sequential approach to software development. It begins with customer specification of requirements and processes through planning, modeling, instruction, and deployment ... Read More
SOFTWARE ENGINEERING
Software Design A software design is an essential engineering description of some software product that is to be established. A design can be determined to the customer's requirements and can be assessed for quality against predefined patterns ... Read More
FOLLOW US: FACEBOOK
About Us | Contact Us | Disclaimer | Privacy Policy | Sitemap | Terms and Conditions
Copyright © 2021 TeluguAsami. All rights reserved.