First type of method is mainly used for data-based systems, like
warehouse system and hyper text system. Representative usage for function
driven method is structural analysis and design, it takes a top-to-bottom
approach and breaks down a complex system into a series of subsystems
and subsystems into modules, each module accomplishes a simple function
and keeps corresponding independency, thus makes the whole system easy
to be implemented and maintained. Object oriented method combined the
first 2 types of methods, is object-driven method, where object consists of
both data and function. It starts up from analyzing the component objects in
a system, taking the bottom-to-top approach to finish analysis and design.
The main characteristics for object oriented method include: encapsulation
of data and function makes objects easy to be expanded, inherited attributes
of the son class from father class keeps software easy to be evolved, and
messages link the objects dynamically.
Currently, Object Oriented method is a hotspot of investigation, but
Structural Analysis and Design is still the well matured and widely used
method in software engineering, especially in aerospace industry, its only
shortage is the low reusability.
1.3. Standardization in Software Engineering.
The concept of Software
Engineering was firstly been brought forward in 1969, hence, the standardi-
zation efforts for it have never been ceased in international standardizing
organizations. After 30 years’ progress, the major standards for software
process, technology, methods, tools and managements have been fully
developed. The most remarkable one is the “Software Engineering Body
of Knowledge (SWEBOK)”, published in 2001 by Union of ISO and IEC
technical committee. In this document, software engineering discipline
was subdivided into ten Knowledge Areas, which included Software
Requirements, Software Design, Software Construction, Software Testing,
Software Maintenance, Software Configuration Management, Software
Engineering Management, Software Engineering Process, Software Engine-
ering Tools and Methods, Software Quality. For each knowledge area,
detailed descriptions and specifications are given in this guide.
Taking the Software Requirements as an example, it is separated into 6
sub-areas:
Requirement Engineering Process
. Objective of this sub-area is to
decompose complex system into simple components.
Requirements Elicitation
. Based on use case design and pattern design
to recognize different software requirements, including customer’s aim,
application field of knowledge, operational and organizational background
of the system etc.
Requirements Analysis
. Using a series of analysis tools to detect and
resolve conflicts between requirements, to discover the bounds of the
ISSN 0236-3941. Вестник МГТУ им. Н.Э. Баумана. Сер. “Машиностроение”. 2006. № 1 121