This page has been automatically translate with Google from the German language.

3 configuration options of software

3.1.1 expiration of the software development process



The software development process covers after [Balz 2001] 6 phases, which are represented in illustration 1. The software development begins with the planning phase, in which an investigation is made whether the program product can be realized on the basis of technical, economic and personnel criteria. Here various studies are accomplished, in order to select the suitable product and finally roughly requirements, functions, to raise quality criteria etc. Finally it must be examined in this phase whether the project can be converted. At the end stand the work statement, a project plan and a Expenditure estimation63.
Here the definition phase follows. In this phase at the beginning of still very vague product requirements are specified, by being analyzed with the help of different participants of participants determined, whose models data and functions, and specified after simulation and execution. A goal is it to develop a consistent and complete product model. The result of this phase is product requirement specifications, a concrete summary of all requirements, functions, data and structures which can be realized, and a product model or a superficial Prototyp63
In these two phases the term of the requirement is engineering embodied64.
In the design phase become on basis of the seized requirements the software architecture, which develops user surface, interfaces, data base tying up and other goal platforms. Here edge and surrounding field conditions are considered and the fundamental decisions e.g. over interfaces to peripheral programs are met. The software architecture which can be developed describes the structure of the software system by the system components and their relations. It is to fulfill functional and not-functional product requirements and quality requirements and to interfaces supply65.
The results of this section are the Vorraussetzungen of the implementation phase. Here the sketched software architecture is transferred in programming activities, in order to implement the demanded achievements the given specification. In addition belong the program-technical development of the software as well as the documentation and cases of test.
Into the following acceptance and introduction phase the finished software to the client or market will hand over after numerous tests and with delivery minutes.
Then the introduction follows at the customer by installation, training, delivery of the user documentation and start-up of the Software.66 in the case of order work.
Maintenance and care servicing begin after the software introduction. Challenges are the error corrections, aging the software and This necessary increase in efficiency and the adaptation of changes or extensions. Here also already information and requirements know67 to a newer product collected.
Tests and validating are integrated tasks, itself by all phases the pull68.


3.1.2 concepts of the computer family development


For managing the special requirements of computer families and the re-use on the level of the code, Design and the architecture of software in the following in addition concepts and Method 69 are introduced, which require and develop one on the other in the run the software development each other.
On the basis of object orientation and their fine-granular class structure code is reused. Specialized classes over defined public interfaces can be summarized and reused in class libraries. Over transmission new classes can be derived, against which inquiries can be placed dynamically. The concrete use at run-time of classes can be steered via the Polymorphismus or Instructions70.
The production of universal classes requires thereby careful analyses and characteristic models, which hurt however the principle of the data packaging, if peripheral functions are changed such as persistence, security, remote access etc. in different classes. But aspect-oriented programming can be begun, where such critical processes in own classes are summarized, the basis classes contained only pure logic.
The maintenance and the reusability increases. These specialized classes become into the remaining code "eingewoben".
Classes are however small for a comfortable re-use often too, if they cover only one function. Therefore rougher structures worked satisfactorily such as component architectures or Plugins. Their Granularität determines itself according to data of the performance and scaling barness, their installation extent and the number of components in the system. Here becomes only in containers, This run time environments, which worry about the technical interests, and which components with the pure computation logic partitions.
Good configurableness in the components ensures the use for computer families.
The re-use takes place not only in the code, but also in architecture and the Design. This can on Design level with draft samples, which designer driving on conceptional level contain, and on architecture level with Frameworks happen. Allcomprehensively the Generative programming concerns itself with the providing of a stable "plug system" from variable components and the automatic derivative over generators, which are based e.g. on GenVoca. Persistente attitudes can be specified in the current system e.g. in XML.


 


Top| Home| << back | next >>
>> Home Page www.outsourcingintelligence.com <<