Sie sind auf Seite 1von 9

Chapter-1: Introduction of Software Engineering

1. How can you define software and software engineering? (03-4)


Ans: Software:
Instructions (computer programs) that when executed, provide desired
function and performance.
Data structures that enable the programs to adequately manipulate
information, and
Documents that describes the operation and use of the program.
Two types of software product as !. "eneric products,
#. $ustomi%ed products
Software Engineering: &oftware engineering is the establishment and use of sound
engineering principles in order to obtain economically software that is reliable and wor's
efficiently on real machines--Fritz Bauer.
The I((( )I((*+, has developed a more comprehensive definition when it states
&oftware engineering
The application of a systematic, disciplined, quantifiable approach to
the development, operation, and maintenance of software- that is, the
application of engineering to software.
The study of approaches as in (!).
2. Q: Wy is software considered as differentiating caracteristics in !any
co!"uter- #ased "roducts and syste!s? (03-4)
Ans: &oftware is computer programs and associated documentation. &oftware
considered as differentiating characteristics in many computer. based products and
systems, it causes the characteristics of the software
Software is developed or engineered; it is not manufactured in the classical
sense: this activity of software development and hardware manufacture, high quality
is achieved through good design, but the manufacturing phase for hardware can
introduce quality problems that are nonexistent for software. /oth activities are
dependent on people.
&oftware costs are concentrated in engineering. This means that software
pro0ects cannot be managed as if they were manufacturing products.
Software doesnt wear out: 1ardware exhibits relatively high failure rates early in
its life, defects are corrected and the failure rate drops to a steady.state level for
some period of time. 2s time passes, however, the failure rate raise again as
hardware components suffer from the cumulative effects of dusts, vibration, abuse,
temperature extremes, and many other environmental maladies. &tate simply, the
hardware begins to wear out.
&oftware rate is decreased for various effects of dusts, vibration, abuse,
temperature extremes, and many other environmental maladies. In this case,
software does not wear out, but it does deteriorate.
!lthough the industr" is moving toward component-#ased assem#l"$ most
software continues to #e custom #uild: $onsider the manner in which the control
hardware for a computer.based product is designed and built. The design engineer
1
draws a simple schematic of the digital circuitry, does some fundamental analysis to
assure that proper function will be achieved, and then goes to the shelf where
catalogs of digital components exists. (ach I$ has a part number, a defined and
validation function, a well.defined interface, and a standard set of integration
guidelines. 2fter each component is selected, it can be ordered off the shelf.
3. Q: Wat do you understand #y syste!? Write te co!"onents of
co!"uter-#ased infor!ation syste!. (03-4)
Ans: S"stem: 2 system is an ordinary grouping of interdependent components lin'ed
together according to a plan to achieve a specific goal. (xample of system is economic
system, computer system, decision support system, communication system, transport
system, solar system etc.
%omponents of computer #ased information s"stem: These are the basic
components of a computer based information system
&oftware
1ardware
3eople
Database
Documentation
3rocedures
Software: $omputer programs, data structures, and related documentations that
serve to affect the logical method, procedure or control that is required.
&ardware: (lectronic devices that provides computing capability, the
interconnectivity devices (networ' switches, telecommunication devices) that
enables the flow of data, and electromechanical devices (sensors, motors,
pumps) that provide external world function.
'eople: 4sers and operators of hardware and software.
(ata#ase: 2 large, organi%ed collection of information that is accessed via
software.
(ocumentation: Descriptive information hardcopy manuals, on.line help files
that portrays the use and5or operation of the system.
'rocedures: The steps that defines the specific use of each system element o
the procedural context in which the system resides.
4. Q: $%"&ain te generic "ase'(iew of )$ in #rief. (03-4)
*r+ ,rief&y descri#e different "ases for te de(e&o"!ent of a &arge
software syste!. (01--)
Ans: The wor' associated with &( can be categori%ed into three generic phases
!. The definition phase, #. The development phase, +. The support phase
2
)he definition phase: It focuses on what- that is during definition the software
engineering attempts to identify
6hat function and performance are desired7
6hat information is to be processed7
6hat system behavior can be expected7
6hat interfaces are to be established7
6hat design constraints exits and7
6hat validation criteria are needed for successful system7
The 'ey requirements of the system and software are identified. Three ma0or tas's will
be
&ystem or Information (ngineering
&oftware pro0ect planning
8equirement analysis
)he development phase: It focuses in how- this is during the development a software
engineer attempts to define
1ow data are to be structured7
1ow function is to be implemented within a software architecture7
1ow procedural details are to be implemented7
1ow interfaces are to be characteri%ed7
1ow designs are to be translated into a programming language7
1ow testing will be performed7
The specific tas's will occur
&oftware design
$ode generation
&oftware testing

)he support phase: The support phase focuses on the changes associated with error
correction, application required as the software9s environment evolves. :our types of
changes are encountered during the support phase
%orrection: $orrective maintenance changes software to correct defects.
!daptation: 2daptation maintenance results in modification to the software to
accommodate changes to its external environment.
Enhancement: 3erfective maintenance extends the software beyond its original
functional requirements.
'revention: 3revention maintenance, often called software reengineering must be
conducted to enable the software to serve the needs of its end users. 3revention
maintenance ma'es changes to computer programs so that they can be more
easily corrected adapted and enhanced.
.. Q: $%"&ain te !eaning of )oftware $ngineering and its ro&e in te
de(e&o"!ent of /ua&ity software. (02-4)
Ans: Software Engineering: &oftware engineering is the establishment and use of
sound engineering principles in order to obtain economically software that is reliable and
wor's efficiently on real machines--Fritz Bauer.
3
The I((( )I((*+, has developed a more comprehensive definition when it states
&oftware engineering
The application of a systematic, disciplined, quantifiable approach to
the development, operation, and maintenance of software- that is, the
application of engineering to software.
The study of approaches as in (!).
-. Q: 0i(e a &ist of "ro1ect "ases for de(e&o"!ent of a &arge syste!. (02-4)
Ans: Different phases for the development of a large software system are
Initial conception
8equirements analysis
&pecification
Initial design
;erification and test of design
8edesign
3rototype manufacturing
2ssembly and system < integration tests
2cceptance tests (validation of design)
3roduction (if several system are required)
:ield (operational) trial and debugging
:ield maintenance
Design and installation of added features
&ystems discard or complete system redesign.
2. Q: How we are dea&ing wit "ro#&e! in co!"uter syste!? (02-4)
Ans: 6e can be dealing with problem in the computer system to apply the following
condition
2pplication of the available engineering and management techniques to
the development process in a cost.effective manner.
Invention of imperfect but adequate ad hoc techniques where none
presently exists.
Implementation of a vigorous and broad research program.
!wareness of the pro#lem: The solution of any ma0or problem requires many steps
2wareness of the problem
Diagnosis of the problem
&tudy ad development of methods for training the causes or alternatives
the consequences
2pplication of the solution
;erification that the problem is being removed alleviated in the same way.
Decision about what should be done in the future.
3. Q: $%"&ain te "ro#&e! of software !odification and !aintenance. (401)
Ans: 5odification: The term modification means modify a software in a proper way.
The term maintenance cost refers to the sum needed to fix errors in software that has
been officially released and placed in operation.
6e being to study data in the area of software engineering, we find that as large
as the development costs are, the maintenance cost of the software is even large. 2
4
careful definition of maintenance cost is necessary as there is often confusion in this
area.
5aintenance: In addition, almost every large software system which has been
deployed for a number of years has been modified in one way or another. The efforts
associated with such changes, which we will call redesign, are very large and can
approach or exceed the initial cost of the software. &ome of the sources indicate that +=
to >= percent of data processing budgets are spent on redesign and software
maintenance. In many cases a careful brea'down cannot be made between redesign
and maintenance efforts because the costs are lumped together.
The problem is that development and maintenance are generally separate
budgets managed by different groups. Thus, it is difficult for the development group to
negotiate a != percent price increase even if it will represent a #= percent price
decrease later on in the maintenance budget. It is important in the initial planning of a
system to deal with total life.cycle costs. In hardware design, we commonly use
standardi%e parts.
6. Q: Wat are te i!"ortant attri#utes wic a&& we&&-engineered or good
software "roducts sou&d a(e?
Ans: The four important attributes which all software products should have are
*aintaina#ilit":
&oftware should be written in such a way that it may involve
meeting the changing needs of customers.
It is an important attributes because software change is an
unavoidable consequence of a changing business
environment.
(ependa#ilit":
&oftware should be reliable (reliability),
&oftware should be secure (security),
&oftware should be safe (safety),
&oftware should not cause physical or economical damage
in the event of system failure.
Efficienc":
&oftware should not ma'e wasteful use of system resources such
as memory and processor cycles.
(fficiency therefore includes responsiveness, processing time,
memory utili%ation etc.
+sa#ilit":
&oftware must be usable, without under effort, by the type of user
for whom it is designed.
&oftware should have an appropriate user interface, and
&oftware should have adequate documentation.
10. Q: 7s te "rogra!!er a )cientist+ an $ngineer+ or an Artist?
Ans: 2 programmer is a &cientist, an (ngineer, and an 2rtist at the same time, because
2 programmer must create new idea of science in the solution of the
problem. 2lso all the solution of the problem is related to the science. &o, a
programmer is a &cientist.
5
2 programmer is an (ngineer as he applies special techniques as well as
engineering methods.
2 programmer is also an 2rtist, as he should 'now the artistic
representation of the program9s output.
11. Q: 8&assify te /ua&ities of software (962)
Ans: The qualities of software are classified as
,ualit" of design ?uality of design refers to the characteristics that designers
specify for an item. The grade of materials, tolerances, and performance
specifications all contribute the quality of design. 2s higher graded materials are
used and higher tolerances and greater levels of performance are specified, the
design quality of a product increases, if the product is manufactured according to
specifications. In software development, quality of design encompasses
requirements, specifications and the design of the system.
,ualit" of conformance It is the degree to which the design specifications are
followed during manufacturing. 2gain the greater the degree of conformance, the
higher the level of quality of conformance. In software development it focuses
primarily on implementation. If the implementation follows the design and the
resulting system meets its requirements and performance goals, conformance
quality is high.
12. Q: Wat are te res"onsi#i&ities of a software engineering? (46-)
Ans: The main responsibilities of a software engineer are as follows
To 'now the real problem to design the accurate software.
To find out the possible solutions of the problem.
To select the best solution to implement a software.
To design the algorithm, flow.chart, pseudo.code of the solution.
To code the program in a specific language.
To test and debug the program code.
To analy%e the cost and benefit of the software
13. Q: $%"&ain te c&assic &ife-cyc&e or Water-fa&& !ode& #rief&y. (6--4)
Ans: The 6aterfall @odel is the most commonly used approach over the past several
decades. It offered a means of ma'ing the development process more visible. /ecause
of the cascade from one phase to another, this model is 'nown as the Awaterfall model9.
This ta'es the fundamental process activities of specification, development, validation
and evolution and represents them as separate process phases such as requirements
specification, software design, implementation, testing and so on. The following lists the
process step and corresponding activities for each phase
6
8equirements
Definition
&ystem and
&oftware design
Implementation and
unit testing
Integration and
&ystem testing
Bperation and
@aintenance

:ig The software life cycle
-e.uirement anal"sis and design:
The system9s services, constraints and goals are established by
consultation with system users.
Defined in detail and serve as a system specification.
S"stem and software design:
3artitions the requirements to either hardware or software systems.
(stablishes overall system architecture.
Involves identifying and describing the fundamental software system
abstraction and their relationships.
/mplementation and unit testing:
&oftware design is reali%ed as a set of program or program units.
;erifying that each unit meets its specification.
/ntegration and s"stem testing:
Individual program units or programs are integrated.
Test the integrated system to ensure that the software requirements have
been met.
2fter testing, delivered to the customer.
0peration and maintenance:
&ystem is installed and put into practical use.
@aintenance involves correcting the errors and improving the
implementation and enhancing the system9s services.
Improve the implementation of system units.
(nhancing the system9s services as new requirements are discovered.
!dvantages:
!. /y clear structure and organi%ation to follow it suggest a
systematic, sequential approach.
#. It is the oldest and the most widely used paradigm for &(.
+. Documentation at the end of each phase.
C. (ach step verified and tested that reflects engineering practice.
7
D. &oftware process based no this approach are still used for
software development particularly when this is a part of a larger
system engineering pro0ect.
(isadvantages:
!. $ustomer involved in the first phase only.
#. &equential E complete execution of phases often not
desirable.
+. 3rocess difficult to control.
C. The product becomes available very late in the process.
D. $ommitment must be made at an early stage in the process.
F. It is difficult to respond to changing customer requirements.
14. Q: :efine software re-engineering. Wy source &e(e& trans&ation is
necessary? (01-.)
Ans: Software re-engineering: &oftware re.engineering is concerned with
reimplementing legacy system to ma'e them more maintainable. 8e.engineering may
involve redocumenting the system, organi%ing and restructuring the system, translating
the system to a more modern programming language and modifying and updating the
structure and values of the system9s data. The functionality of the system is not changed
and normally, the system architecture also remains the same.
&ource level translation may be necessary for the following reasons
&ardware platform update: The organi%ation may wish to change its standard
hardware platform. $ompilers for the original language may not be available on the
new hardware.
Staff s1ill shortage: There may be a lac' of trained maintenance staff for the
original language. This is particular problem where programs were written in a non.
standard language.
0rganizational polic" change: 2n organi%ation may decide to standardi%e on a
particular language to minimi%e its support software costs. @aintaining many
versions of the old compilers can be very expensive.
2ac1 of software support: The suppliers of the language compiler may have
gone out of business or may discontinue support for their product.
1.. Q: ,rief&y e%"&ain data re-engineering. (00-.)
Ans: (ata-reengineering: In many cases, there are associated problems of data
evolution. The storage, organi%ation, and format of the data process by legacy may have
to evolve reflect changes to the software. The program of analy%ing and reorgani%ing the
data structures and sometimes, the data values in a system to ma'e it more
understandable is called data reengineering.
Data reengineering should not be necessary if the functionality of a system is
unchanged. 2s with program reengineering, there are a spectrum of approaches to the
data reengineering which reflects the reasons why data reengineering may be required.
These are shown in table.!
!pproach (escription
Data cleanup The data records and values are analy%ed to improve their quality.
Duplicates are removed, redundant information is detected and a
constant format applied to all records.
Data extension In this case, the data and associated programs are reengineered and
remove limits on the data processing.
8
Data migration In this case, data is moved into the content of a modern database
management system.




&tage ! &tage # &tage +
:ig The data reengineering process
The above figure illustrates the process of data reengineering, assuming that the
data definition are modified, literal values named, data formats reorgani%ed and the data
values converted. The change summary tables hold details of all the changes to be
made. They are therefore used at all stages of the data reengineering process.
In stage ! of this process, the data definitions in the program are modified to
improve understandability. The data itself is not affected by these modifications.
The data reengineering process may stop at this process if the goal is simply to
improve the understandability of the data structure definitions in a program. If there
are data value problems stage # of the process may then be entered.
If the organi%ation decides to continue to stage # of the process, it is then
committed to stage +, data conversion.
This is usually a very expensive process. 3rograms have to be written in which
embedded 'nowledge of the old and new organi%ation. These process the old data
and output the converted information.
9
3rograms to be reengineered Data analysis
(ntity name
modification
Giteral
replacement
data definition
reordering
Data
analysis
Data
reformatting
Default value
conversion
;alidation rule
modification
Data
conversion
$harge summary tables @odified
data

Das könnte Ihnen auch gefallen