You are on page 1of 8

SOFTWARE ENGINEERING

A Component is a tested, special purpose software unit which is reusable, adaptable, portable
and interoperable. In software terms, components are also called componentware (CM).
Framework is the combination of components that can be plugged into an application.
A Software interface is the program that makes it possible for components to interact and
interoperate with each other. Eg. JAVA BEANS
DCOM is abbre!iated as "istributed #omponent $b%ect &odel. '
Software Entities are the processes, re(uirements, products and resources of a software
engineering landscape.
An Enineerin approac! to software engineering is to produce s)stem on time and within
budget.
Software "e!elopment pro"#ems are *
+' #onceptual problem.
,' -epresentation problem.
$ani##a Framework helps to bridge gap between a high le!el solution, to a problem and its
implementation in software.
Software Re%&irement Specification (SRS) * .his is a blueprint for the complete design of a
software product.
'&a#it( Factors * correctness, reliabilit), maintainabilit), testabilit), efficienc), integrit),
usabilit), portabilit), interoperabilit), reusabilit).
Re&sa"i#it( Criterion )
Se#f Descripti*e * this is with natural language.
Mo+&#arit( * means change in one component has minimal impact on other.
,orta"i#it( * means transfer of software from one s)stem to other.
,#atform In+epen+ence means it can e/ecute on an) t)pe of platform.
Incrementa# Approac! to software de!elopment has been formulated b) watts -&mp!re(.
C#ean Room Enineerin is used to control the (ualit) of incrementall) de!eloped software
product and to certif) the fitness of software products for usage at time of deli!er).
CA,A.I/IT0 MAT1RIT0 MODE/ (CMM) )
#&& describes software process management maturit) relati!e to fi!e le!els
ie., Initial, -epeatable, "efined, &anaged, $ptimi0ing
In the Initia# #e*e# there is a lack of planning and the de!elopment of a clear1cut guide
that software de!elopment teams can follow. 2ew details of a software process ha!e been defined
at this le!el. 3ood results are considered miraculous.
2,A 3333 2e( ,rocess Areas
In the Secon+ #e*e# ie45 t!e CMM Repeata"#e ,rocess is characteri0ed b) a commitment
to discipline in carr)ing out a software de!elopment pro%ect. An+ is ac!ie*e+ "( ) -e(uirements
management, software pro%ect planning, software pro%ect tracking and o!ersight, software
subcontract management, software (ualit) assurance, software configuration management.
In the T!ir+ #e*e# ie45 t!e CMM Define+ ,rocess is to guide the structuring and
e!aluation of a software pro%ect. An+ is ac!ie*e+ "( ) $rganisational process focus and
definition, training program, software product engineering, intergroup coordination, peer
re!iews.
In the Fo&rt! #e*e# ie45 t!e CMM Manae+ ,rocess is for data gathering and anal)sis
and managing software (ualit). An+ is ac!ie*e+ "( ) 4uantitati!e process management,
Software (ualit) management.
In the Fift! #e*e# ie45 t!e CMM Optimi6in ,rocess is associated with defect
pre!ention, automation of the software process where!er possible, and methods for impro!ing
software (ualit) and team producti!it) and shortening de!elopment time.
$a#i+ation occurs whene!er a s)stem component is e!aluated to ensure that it satisfies s)stem
re(uirements.
$erification consists in checking whether the product of a particular phase satisfies the
conditions imposed at that phase.
Software E*o#&tion ) .his is characteri0ed b) genot)pes and phenot)pes.
A enot(pe pro!ides information about a member of a population.
A p!enot(pe characteri0es the beha!ior of a population member.
E!olution pattern 5 where 66 wh) 66 what 66 when 66 how 66 b)1whom.
Software /ife3C(c#e ) .his is the period of time beginning with a concept for a software product
and ending whene!er the software is no longer a!ailable for use.
.he Software life1c)cle t)picall) includes the following* -e(uirements, Anal)sis, "esign,
construction, testing Validation', installation, operation, maintenance, and retirement.
Se!eral models spiral, waterfall etc.' ha!e been proposed to describe this process.
Software /ife3C(c#e Mo+e# represents the acti!ities, their inputs and outputs and their
interactions during the life1c)cle.
Software /ife3C(c#e Mo+e#s )
7hat is Software Engineering 8
.he application of a s)stematic, disciplined, (uantifiable approach to de!elopment,
operation, and maintenance of software9 that is, the application of engineering to software.
.he specification, de!elopment, management, and e!olution of software s)stems.
A discipline whose aim is the production of (ualit) software, deli!ered on time, within
budget, and satisf)ing users: needs.
"esigning and de!eloping high1(ualit) software. Application of computer science
techni(ues to a !ariet) of problems.
7hat is a #ASE tool 8
#ASE stands for #omputer Aided Software Engineering9 it can be used to mean an)
computer1based tool for software planning, de!elopment, and e!olution.
7hat is a 2unction ;oint 8
2unction points and feature points are methods of estimating the <amount of functionalit)<
re(uired for a program, and are thus used to estimate pro%ect completion time. .he basic idea
in!ol!es counting inputs, outputs, and other features of a description of functionalit).
7hat is a Spiral &odel 8
Basicall), the idea is e!olutionar) de!elopment, using the waterfall model for each step9 it:s
intended to help manage risks. "on:t define in detail the entire s)stem at first.
.he de!elopers should onl) define the highest priorit) features. "efine and implement those,
then get feedback from users=customers such feedback distinguishes <e!olutionar)< from
<incremental< de!elopment'.
7ith this knowledge, the) should then go back to define and implement more features in
smaller chunks.
7hat is a Spec &ark8
S;E# mark refers to the results of the first suite
7hat is >ungarian Notation8
A naming con!ention for # code.
7hat is SEI &aturit) &odel8
2irst step in impro!ing the e/isting situation is to get management bu)1in and
management action to clean up the software management processes.
Second step Integration' is to get e!er)one working together as a team.
.hird step &easurements' is to establish ob%ecti!e wa)s of understanding status and
predict where things are going in )our process.
#ontinuous impro!ement* ?nderstand that this is building a foundation for continuall)
getting better.
7hat is a B?38
A 2ault, 2ailure, &istake.
7hat is a #lean -oom8
:#leanroom: is a software process based on mathematical !erification of components and
statistical s)stem1le!el testing.
7hat is ;ersonal Software ;rocess8
A discipline for monitoring, testing, and impro!ing )our own Software Engineering
works.
7hat are the two ma%or t)pes of testing8
.he following are the two ma%or groups of testing
i' Black Bo/ testing ii' 3lass bo/ testing.
.#ack .o7 testin) 2unctional or black bo/ testing is an approach to testing where the tests are
diri!ed from the program or component specification..he s)stem is a black bo/ whose beha!ior
can onl) be determined b) stud)ing its inputs and the related outputs.another name for this is the
functional testing because the tester is onl) concentrated with the functionalit) and not the
implementation of the software.
Black Bo/ testing focusses on the functional re(uirements of the software i.e, Black Bo/
testing enables the software engineer to deri!e sets of input conditions that will full) e/ercise all
functiol re(uirements for a program.
.he challenge in the black bo/ testing is to cause failures in the module b) designing test
causes that,with an appropriate input and controlled e/ternall) conditions,can produce an output
that will clearl) indicate a module failure
7hich .est #ases to Automate8
.ests that need to be run for e!er) build of the application.
.ests that use multiple data !alues for the same actions data dri!en tests'.
.ests that re(uire detailed information from application internals.
If ,erforme+ Man&a# Testin)
.ime #onsuming, @ow -eliabilit), >uman -esources, Inconsistent.
If ,erforme+ A&tomate+ Testin)
Speed, -epeatabilit), -eusabilit), -eliabilit), ;rogramming #apabilities.
7hat are #heck;oints 8
#heckpoints enable )ou to compare the current beha!ior of )our application to its
e/pected beha!ior.
G1I c!eckpoints check information about 3?I ob%ects. 2or e/ample, )ou can check that
a button is enabled or see which item is selected in a list.
Data"ase c!eckpoints check the data content in a database.
Te7t c!eckpoints read te/t in 3?I ob%ects and in bitmaps, and enable )ou to check their
contents.
.itmap c!eckpoints compare a <snapshot< of a window or an area in )our application to
an image captured in an earlier !ersion.
Software ;roduction ;rocess *1
.he process of building ,deli!ering and e!ol!ing the software s)stem from the inception
of an idea all the wa) to the deli!er) and final retirement of the s)stem is called a software
production process.
.he software production process ma) follow different methods of software de!elopment .
7ater 2all &odel
;rotot)ping ;rocess
-ad &odel
Incremental &odel
Spiral &odel
#onception*1
S"@# starts with the conception phase..his phase is triggered b) a competitor ,a problem
or an opportunit)
.he problem percei!ed
.he goal to be achie!ed
.he benefits from the solution
.he scope of the pro%ect
Initiation*1
.he Software engineers work with users to carr) out a macro le!el stud) of the users
re(uirements..he software engineers define the !arious alternati!es possible and the cost1benefit
%ustification of these alternati!es.
Anal)sis *1
.he software Engineers carr) our a detailed stud) of the users re(uirement ..he) then
arri!e at the proposed s)stem to be built ..he model of this s)stem is to be used to free0e all
re(uirements before the ne/t phase begins.
"esign *1
In this phase the functional specifications are used for translating the model into a design
of the desired s)stem like data flow diagrams ,decisions tables,databases etc.
#onstruction*1
.his phases produces the actual code that will be deli!ered to the customer as the running
s)stem .Indi!idual modules de!eloped in this phase are tested before being deli!ered to the ne/t
phase
.esting *1
All the modules that ha!e been de!eloped before are integrated or put together in this
phase, and tested as a complete s)stem. A s)stem is tested for online response ,!olume of
transactions, stress, reco!er) from failure, and usabilit).
Implementation*1
Implementation means con!erting a new s)stem design into operation ..his in!ol!es
creating computer compatible files, training the operating staff, installing hardware and an) other
re(uirements.
;rotot)ping ;rocess *1
.he basic idea of protot)ping model is instead of fi/ing re(uirements before design and
coding can begin ,a protot)pe is built to understand the re(uirements .the protot)pe is built with
the know re(uirements b) this the user can be know how the s)stem works
-ad &odel *1
-apid Application de!elopment is high speed adaption of the linear se(uential model in
which rapid de!elopment is achie!ed b) using component based construction ,business model
and data modeling etc.
Incremental &odel * 1
Incremental model deli!ers software in small but usable pieces called increments .In
general each increment builds on those that ha!e alread) been deli!ered. In this anal)sis, design,
coding and testing are done for e!er) model.
>ow can u measure the (ualit) of )our pro%ect
Some sdlc models
E/plain 7aterfall model and sa) what is the output in each phase8
.)pes of testing
@e!els of testing
?nit testing *1
3enerall) the code which is generated are compiled. .he unit test is white bo/ oriented
and the steps can be conducted in parallel for multiple components.
+..he module Interface is tested to ensure that information properl) flows into and out of the
program unit under test.
,..he local data structure is e/amined to ensure that data stored temporaril) maintains its
intergrit) during all steps in an algorithmAs e/ecution.
B.Boundar) conditions are tested to ensure that the module operates properl) at boundaries
established to limit and restrict processing
C.All the statements are e/ecuted at least once and error handling paths are tested
Integration testing*1
Integration testing is a s)stematic techni(ue for constructing the program structure .In
integration test )ou ha!e like
Top +own *1
.op down integration testing with the main routine and one or two immediate subordinate
routines in the s)stem structure it is good to ha!e modules are integrated as the) are de!eloped,
top le!el interfaces are tested first
.ottom &p *1
Bottom up integration testing is the traditional strateg) used to integrate the components
of a software s)stem into a functioning whole
Reressi*e testin *1
-etesting the alread) test modules and adding new modules .-egressi!e testing is an
important strateg) for reducing side effects.
S)stem @e!el .esting
,erformance testin)3 ;erformance testing is designed to test the run time performance of
software or hardware
Reco*er( testin )3 is a s)stem test forces the software to fail in a !ariet) of wa)s and !erifies
that reco!er) is properl) performed .if reco!er) is automatic, re initiali0ation , check pointing
,data reco!er) and restart are e!aluated for correctness.
Sec&rit( Testin )3 Securit) testing attempts to !erif) that protection mechanisms built into a
s)stem will in fact ,protect it from improper penetration.
Acceptance testing*1
when customer software is built for one customer ,a series of acceptance tests are
conducted to enable the customer to !alidate all re(uirements.conducted b) the end user rather
than software engineers, an acceptance test can range from an informal test dri!e to a planned
and s)stematicall) e/ecuted series of tests.
if software is de!eloped as a product to be used b) man) customers ,it is impractical to
perform acceptance tests with each one.&ost software product builders use a process called
alpha and beta testing to unco!er errors that onl) the end user seems able to find
.est #ase "esign
A product can be tested in one of two wa)s
Dnowing the specified function that a product has been designed to perform, tests can be
conducted that demonstrate each function is full) operational. .his is know as black bo/ testing.
Dnowing the internal workings of a product , tests can be conducted to ensure that the
internal operation of the product performs according to specification and all internal components
ha!e been e/ercised. .his is know as white bo/ testing
W!ite "o7 testin)3
?sing white bo/ testing methods,the software engineer can deri!e test cases that do the
following*1
3uarantee that all independent paths with in a module ha!e been e/ecuti!e once at least.
E/ercise all logical decisions on their true and false sides
E/ercise all loops ,data flow,conditional testing are working
.#ack "o7 testin)3
Black bo/ testing methods focus on the functional re(uirements of the software. It enables the
software engineer to deri!e sets of input conditions that will full) e/ercise all functional
re(uirements for a program .Black bo/ testing is not an alternati!e to white bo/ testing
techni(ues .-ather it is a complementar) approach that is likel) to unco!er a different class of
errors than white bo/ methods.

You might also like