From software engineering point of view, the domain is proposed to target software application problems and background knowledge required. The main task of domain analysis is similar for individual or family domain, the goal of software reuse, exploring and mining family in the domain or domain to the multiple target software system software components shared, and structured them to prepare for re-organization . Domain analysis and requirements analysis activities similarities, they are directly based on application software project development activities in the field, and to complete the different levels of domain modeling task. However, domain analysis must have a broader perspective than the demand: not only serve the current software projects, and projects from the fields of history found in software projects the commonality and differences between, and to look at the same or similar applications future software projects.
The figure shows the domain analysis activities, the main input and output items, and control participants. Domain analysis of the input information can be obtained from a variety of channels: technical documentation, the completed projects of similar software (including source code, design documentation, test programs, user manuals, etc.), user review, expert advice, user needs, and current software project feedback information over the domain features. Domain analysis activities are generally the domain analysts, support staff and experts in the field of coordination to complete. Domain analysis methods and their management mechanism introduced under the control of the results of domain analysis activities, information - a generalized domain model (concepts and entities in the domain package classification methods), software development standards (including requirements analysis and software solution framework software development standards, coding standards, interface standards, etc.), and features for the characterization domain, domain objects, operations and relations domain language.
As the domain analysis and demand analysis are to build applications for the main task of the model, therefore, some of the needs analysis technology can play a role in the process of domain analysis, requirements description language (data flow diagram, entity - relationship diagram, object-oriented describe the mechanism of demand, etc.) can be used as the basis for a domain language. However, domain analysis must be generalized, abstract and parameterized in order after the abstract domain model elements of different software projects, said the same domain the similarity between, characterized by differences in parameters instantiated to achieve the domain model element for different software projects adaptability and flexibility. Thus, in omitting the technical details of the modeling, the domain analysis process can be broadly summarized the following steps:
(1) identify and describe reusable entity;
(2) of these questions and their relationship to abstraction, generalization and parameterization;
(3) classification of reusable entities, grouped for future reuse.
In addition to the results shown in the domain, the domain analysis can be reused to produce a super-structure to manage software projects in the follow-up to the various development stages of the possibility of software reuse, and the collection of statistical data on various types of reuse activities. These data can be fed back to the domain analysis method for continuous improvement. Super-structure in the reuse, software component library management staff to retrieve and extract the soft parts, soft parts personnel responsible for software quality control and standardization of components, reuse and reuse the administrator will collect statistical data related to coordinate all of the reuse activities.
The development of soft parts
Domain analysis of the results of the selection of the soft parts to provide the guiding principles. Once some of the software should be used as reusable components by adding parts library, developers have to actually construct them. As the soft parts of the life-cycle development projects and even across applications, therefore, the development of the soft parts are quite special, that is, how to make software components more general and easier to assemble a new software system, and in the new operating environment the next show better robustness?
Code-level reuse is the simplest and the most popular. However, the book includes not only the soft parts of the code-level components, but also cover the domain knowledge, requirements analysis documents, design documents, test plan, test cases and other software elements, because the soft parts of these levels is expected to play better reuse technology potential for code-level reuse is also a necessary complement.
1. Requirements and design-level software components
Demand level of soft parts usually include questions (and sub-problems) describes the domain knowledge and the corresponding requirements specification. Description of the problem and domain knowledge description language are indicated with a domain, if necessary, supplemented by the results of natural language.
Similarly, design-level software components, including design specifications (fragment), describe the design decisions and the corresponding design documents (such as the overall design scheme, the abstract algorithm). Thus, design-level software class software components and demand combine to make the demand-level components and design level reuse of components simultaneously, simplifying the understanding of these soft parts and assembly process.
Demand level and design level software components, development must follow the following two principles:
(1) The application of soft parts and soft parts of the context of strict separation;
(2) the use of abstraction, parameterization means of extracting public, increase the soft part of the future adaptability to different application projects.
Demand level, design level and code-level software components combined with code-level software components contribute to the extraction and understanding. With higher levels of abstraction is expected to improve the reuse efficiency of soft parts, because it can not reuse the code, and can demand models and design reuse.
2. Code-level software components
Code-level reuse is by far the most in-depth study, the most widely used Reuse. In addition to code-level software component that contains the usual code, it also must be accompanied by the appropriate interpretation and context description. The Help can be structured natural language description or other representation mechanism, but it is best to design the appropriate requirements or the form of soft parts. Traditionally, code-level software components is the main subroutine (function or procedure). Now, thanks to object-based and object-oriented programming language and development environment for the development of corresponding soft parts can also be used Ada program and C + + class implementation.
Development of code-level software components and the usual programming The main difference is that developers must use a variety of abstract tools to find commonality, separation of the soft parts of the application context, function and behavior, to improve reusability. The following three abstract methods can be used to develop software components:
(1) functional abstraction: the function of soft parts in the instructions from the interface to input - output relationship to determine the details of the soft parts of the user to achieve transparency.
(2) Data transparency: on the basis of the abstract in the functional addition to further hide all data outside interface parameters.
VOB to MP4
Jinshan Said The Domestic A-share Listed Denied Rumors False
Introduction Ad Blockers
AVI to MKV
Joint Commerce and Industry of India: India will rely heavily on computer hardware in China
"Batman Arkham asylum" after playing a little BIT of getting
Picked Flash Tools
Firewalls and h.323 protocol
Women Want To Become Famous, You Have To Install Rogue?
Selected fifth one, Peking UNIVERSITY Guanghua New Year's Forum
New Seasonal - Screen Savers
Communities of Practice: Knowledge Capital Optimization
Emasculated iPhone ye use?
YOUTUBE to WMV
Credit "to Bear The Blame," Who Back?