Vous êtes sur la page 1sur 9

INTRODUCTION TO SOFTWARE ENGINEERING

Have you ever noticed how the invention of one technology can have profound and unexpected effects on other seemingly unrelated technologies, on commercial enterprises, on people and even on culture as a whole? This phenomenon often called:THE LAW OF UNINTENDED CONSEQUENCES. Today, computer software is the single most important technology on the world stage, and software is also a prime example of the aw of !nintended "onse#uences. $o one could have foreseen that over the past %& years, software 'ecome em'edded in system of all (inds. i.e. )an(ing, *edical, Transportation, +ntertainment and so on. ,nd if we 'elieve in the aw of !nintended "onse#uences, there are many more effects that we can not yet predict,s software.s importance has grown, the software community has continually attempted to develop technologies that will ma(e it easier, faster and less expensive to 'uild and maintain high #uality computer programs. /ome of the /oftware technologies are targeted at a Specific Application Domain 0e.g. 1e' site design and implementation2. 3thers focus on a Technolo ! Domain 0e.g. 3.3 /ystem and programming2 and still these are "#oa$%&a'e$ 'oft(a#e Application' $omain 0e.g. 3perating /ystems such as inux2, However we have yet to develop a /oftware technology that targeted to all the li(elihood of one arising in the future is small. WHAT IS CO)*UTER SOFTWARE+ "omputer /oftware is the product that /oftware professionals 0/oftware +ngineers2 'uild and then support over the long term. 4t encompasses programs that execute within a computer of any si5e and architecture, content that is presented as the computer program executes and documents in 'oth hardcopy and virtual forms that encompasses all forms of electronic media. The intent of /36T1,7+ +$84$++74$8 is to provide a framewor( for 'uilding 9 ,Hi he# Q-alit! Soft(a#e./ WH0 IS SOFTWARE I)*ORTANT+ /oftware affects nearly every aspect of our lives and has 'ecome pervasive in our commerce, our culture and our everyday activities. THE E1OL1ING ROLE OF SOFTWARE2 The role of computer software has undergone significant change over a span of little more than %& years. :ramatic improvements in Hardware performance profound change in "omputing architectures, vast increases in *emory and /torage capacity and a wide variety of exotic input and output options have all precipitated more sophisticated and complex computer 'ased system. Today, a huge software industry has 'ecome a dominant factor in the economies of the industriali5ed world.

The 3$+ <7387,**+7 of the earlier /oftware era has 'een replaced 'y teams of /oftware /pecialists, each focusing on one part of the technology re#uired to deliver a complex application. ,nd yet the #uestions that were as(ed at the one programmer era are the same #uestions that are as(ed when modern "omputer-'ased /ystems are 'uilt: 1hy does it ta(e so long to get software finished? 1hy are development costs so high? 1hy can.t we find all errors 'efore we give the software to our customers? 1hy do we spend so much time and effort maintaining existing programs? 1hy do we still have difficulties in measuring progress as software is 'eing developed and maintained?

These #uestions and many others demonstrate the /oftware industry.s concern and the manner in which it is developed, a concern that has lead to the adoption of /oftware +ngineering practice. To gain and understanding software, it is important to examine the "haracteristics of /oftware that ma(es it different from other things than human 'eings 'uild. "onsidering that software is a ogical rather than <hysical system element, the /oftware has characteristics that are considera'le different than those of hardware. SOFTWARE CHARACTERISTICS2 ;2 Soft(a#e i' De3elope$ o# En inee#e$. 4t is not manufactured in the classical sense. ,lthough some similarities exist 'etween software development and hardware manufacturing, yet the two activities are fundamentally different. 45 Soft(a#e $oe' not (ea# o-t &-t $ete#io#ate' $-e to chan e'. /oftware is not suscepti'le to the environment maladies that cause hardware to wear out. /oftware undergoes changes during its life. ,s changes are made, it is li(ely that errors will 'e introduced= causing the failure and thus increased failure rate indicates the decoration of software as a result of change. ,nother aspect of /oftware and Hardware differences caused 'y wear-out is that:1hen a Hardware component wears out, 4t is replaced 'y a spare part. There are no software spare parts. E3e#! Soft(a#e fail-#e in$icate' an e##o# in $e'i n6 o# in p#o #am co$in 6 the#efo#e6 Soft(a#e maintenance in3ol3e' con'i$e#a&l! mo#e comple7it! than Ha#$(a#e maintenance. 85 )o't Soft(a#e contin-e' to &e C-'tom &-ilt. ,lthough the industry is moving towards "omponent-'ased construction, most software continues to 'e custom 'uilt. 4n hardware industry the components parts are designed to 'e reusa'le and can 'e ordered off the shelf. These are called /tandard :esign "omponents. "omponent use is a natural part of the Hardware engineering process. >

However in the /oftware world, it has only 'egun to 'e achieved on a 'road scale.. , /oftware component should 'e designed and implemented so that it can 'e 7eused in many different programs. /Re-'a&le O&9ect'/ or 9,Re-'a&le Soft(a#e Component',, ena'le the /oftware +ngineers to create new applications from reusa'le parts.

THE CHANGING NATURE OF SOFTWARE


/even categories of "omputer /oftware present continuing challenges for /oftware +ngineers. +ach of these challenges will undou'tedly o'ey the :,La( of Uninten$e$ Con'e;-ence',, and have effects that can not 'e predicted today. However /oftware +ngineers can prepare a process that is agile and adopta'le enough to accommodate dramatic changes in Technology and )usiness rules that are sure to come in the next decade. SE1EN "ROAD SOFTWARE CATAGORIES <5 45 85 >5 ?5 @5 B5 S!'tem Soft(a#e Application Soft(a#e En inee#in =Scientific Soft(a#e Em&e$$e$ Soft(a#e *#o$-ct%line Soft(a#e We& Application AWe&App'5 A#tificial Intelli ence Soft(a#e AAI Soft(a#e5

S0STE) SOFTWARE2 /ystem /oftware is a collection of <rograms written to service other <rograms.0 e.g "ompilers, +ditors, 6ile management utilities, etc2 These software are process complex 'ut determinate information structure. 3ther system software, li(e 3perating /ystems, :rivers, $etwor(ing software, Telecommunications processors, process largely intermediate data.

Caha#acte#i'tic' of S!'tem Soft(a#e


/ystem /oftware area is characteri5ed 'y heavy interaction with "omputer hardware, heavy usage 'y multiple users, concurrent operation that regain scheduling, resource sharing and sophisticated process management, complex data structure and multiple external interface. A**LICATION SOFTWARE ,pplication software consists of standalone programs that solve specific 'usiness need. ,pplication software processes 'usiness data in a way to facilitate 'usiness operation or *anagement decision ma(ing. 0Hotel *anagement /ystem, :ecision /upport /ystems etc2

ENGINEERING = SCIENTIFIC SOFTWARE 6ormerly, characteri5ed 'y $um'er crunching algorithms. +ngineering and /cientific ,pplications range from ,stronomy to @olcanology, from ,utomotive stress analysis to /pace shuttle or'ital dynamics and from *olecular )iology to ,utomated manufacturing. E)"EDDED SOFTWARE +m'edded software resides within a product or system and is used to implement and control features and functions for the end-uses and for the system itself.0e.g: Aeypad control for a microwave oven, digital function in an ,utomo'ile such as fuel control, ,nti-'ra(ing system 0,)/2 etc. *RODUCT%LINE SOFTWARE ASOFTWARE *ACCAGE *ROGRA)S5 :esigned to provide a specific capa'ility for use 'y many different customers. 4t can focus on a limited and esoteric mar(etplace.0e.g: 4nventory control products, :ata'ase *anagement /ystem, <ersonal and )usiness 6unctional ,pplications, 1ord processing, "omputer graphics etc2 WE" A**LICATIONS AWE" A**S5 1e',pps in their simplest form can 'e little more than a set of lin(ed hypertext files that present information using text and limited graphics. However as e-commerce and )>) 0'usiness to 'usiness2 applications grow in importance, we',pps are evolving into sophisticated computing environment. 1e',pps not only provide standalone features, computing functions and content to end-users, 'ut also are integrated with "orporate data'ases and )usiness applications. ARTIFICIAL INTELLIGENCE SOFTWARE AAI SOFTWARE5 0,42 software ma(es use of $3$ $!*+74", , 8374TH*/ to solve complex pro'lems that are not amena'le to computation or straight forward analysis. 0e.g 7o'otics, +xpert systems, <attern recognition, 4mage or @oice recognition2 , ,rtificial $eural networ(s, Theorem proving and 8ame playing.2 *illions of /oftware +ngineers worldwide are hard at wor( on <roBect in one or more of the a'ove mentioned C software categories. 4n some cases new "omputer /ystem are 'eing 'uilt, 'ut in others, +xisting /oftware ,pplication are 'eing corrected, adapted and enhanced. 4t is common for a young /oftware +ngineer to wor( on a program that is older than heDshe is<ast generation of /oftware +ngineers have left 'ehind a Le ac! in each of the /even /oftware categories. Hopefully the egacy left 'ehind 'y the <resent 0"urrent t2 /oftware +ngineers will ease the 'urden of 6uture /oftware +ngineers.

THE NEW SOFTWARE CHALLENGES ON THE HORIDON The following new /oftware challenges have appeared on the hori5on: U&i;-ito-' comp-tin Net 'o-#cin Open 'o-#ce The Ne( Econom! ADot.com5

U"IQUITOUS CO)*UTING The rapid growth of 9.1ireless $etwor(ing.. may soon lead to true :istri'uted "omputing. The challenge to current /oftware +ngineers is to develop /ystem and ,pplications software that will allow /mall :evice, <ersonal "omputers and +nterprise /ystem to communicate across vast networ(s. NET SOURCING 01112 is rapidly 'ecoming a "omputing +ngine as well as a "ontent <rovider. The challenge for current /oftware +ngineers is to architect simple and sophisticated application that provide 'enefit to targeted end-user mar(ets world wide 0e.g. personal financial planning applications2 O*EN SOURCE , growing trend that results in :istri'ution of /ource "ode2 for /oftware applications 0e.g. 3perating systems, :ata'ase and :evelopment environments2 so that customers can ma(e ocal modification. The challenges for current generation /oftware +ngineers is to 'uild /ource code that is /elf- descriptive, 'ut more importantly, to develop techni#ues that will ena'le 'oth customers and developers to (now what changes have 'een made and how those changes manifest themselves within the software. THE NEW ECONO)0 ADOT CO)5 The :3T "3*2 gripped 6inancial mar(ets during late ;FF&.s and the 'ust that followed have lead many )usiness people to 'elieve that the $ew +conomy is dead. The $ew +conomy is alive and well 'ut it will evolve slowly. The $ew +conomy will 'e characteri5ed 'y mass "ommunication and :istri'ution. The challenge for current /oftware +ngineers is to 'uilt ,pplication and *ass <roduct :istri'ution using concepts that are only forming now. LEGAC0 SOFTWARE Hundreds of thousands of "omputer <rograms fall into one of the /even 'road ,pplication categories as mentioned a'ove. /ome of these <rograms are /tate%of%the%a#t Soft(a#e= 'ut other programs are older programs often referred to as Le ac! Soft(a#e. Le ac! Soft(a#e have 'een developed decades ago and continually modified to meet changes in 'usiness re#uirements and computing platforms. The proliferation of such system %

is causing headaches for large organi5ations who find them costly to maintain and ris(y to evolve. /till many egacy /ystems remain supportive to core 'usiness functions and are indispensa'le to the 'usiness. Hence6 Le ac! Soft(a#e i' cha#acte#iEe$ &! :,Lon e3it! an$ "-'ine'' c#iticall!,,. !nfortunately, there is one additional characteristic that can 'e present in egacy software= that is *oo# ;-alit!. egacy software system in many cases have inextensi'le design, code, poor or nonexistent document, test cases and results that were never archived, a poorly managed change history and so on,,,,. Get these systems are expected to support "ore 'usiness functions and are indispensa'le to the 'usiness.

What can &e $one a&o-t Le ac! S!'tem'+


The #ea'ona&le an'(e# ma! &e to $o nothin a' lon a' it meet' the nee$' of it' -'e#' an$ #-n #elia&leF it i' not &#oGen an$ $oe' not nee$ to &e fi7e$ . Ho(e3e#6 a' time pa''e' Le ac! S!'tem often e3ol3e fo# one o# mo#e of the follo(in #ea'on' an$ nee$' to -n$e# o 'ome 'i nificant chan e'. The software must 'e adapted to meet the needs of new computing environments or technology. The software must 'e enhanced to implement new 'usiness re#uirement. The software must 'e extended to ma(e it inter operational with more modern system and data'ase. The software must 'e re-architectured to ma(e it via'le within a networ( environment.

When the'e mo$el' of e3ol-tion occ-#6 a Le ac! S!'tem m-'t &e Reen inee#e$. SOFTWARE E1OLUTION 7egardless of its ,pplication domain, /i5e or "omplexity, "ompute /oftware will evolve over time. Chan e Aoften #efe##e$ to a' Soft(a#e )aintenance5 $#i3e' thi' p#oce'' an$ occ-#' (hen:+rrors are corrected. /oftware is adopted to a new environment, "ustomer re#uests new feature on functions ,pplication is reengineered to provide 'enefit in a modern context.

SOFTWARE )0THS
/oftware *yths are 'eliefs a'out software and the process used to 'uild it, can 'e traced to the earliest days of computing. )!th' ha3e a n-m&e# of att#i&-te' that ha3e ma$e them in'i$io-'. Fo# in'tance6 - *yths appear to 'e reasona'le statements of fact 0sometimes containing an element of truth2= - Have an intuitive feel and are often promulgated 'y experienced /oftware <rofessional who (now the score. To$a! mo't Gno(le$ ea&le Soft(a#e En inee#in *#ofe''ional' #eco niEe )!th' fo# &ein )i'lea$in attit-$e',, that ha3e ca-'e$ 'e#io-' p#o&lem' fo# &oth mana e#' an$ technical people aliGe. $evertheless, old attitudes and ha'its are difficult to modify and remounts of software myths are still 'elieved. )ANAGE)ENTS )0THS *anagers with software responsi'ilities are often under pressures to maintain 'udgets, (eep proBect schedules from slipping and improve #uality. i(e a drawing person who grasps at a straw, a /oftware *anager often grasps at 'elief in a /oftware myth, even if that 'elief will lesson the pressure even temporarily. )ana ement )!th' E7ample'2% )!th2% 4f we get 'ehind the <roBect schedules, we can catch up 'y adding more programmers to the <roBect team. Realit!2 This is called the )on olian Ho#$e Concept. /oftware development is not a mechanistic process li(e manufacturing. ,ddition of <rogrammers to a late /oftware <roBect ma(es it later,t first this statement seems counterintuitive. However, as new people are added, people who were wor(ing must spend time to educate the new comers, there 'y reducing the amount of time spend on productive development effort. . <eople can 'e added to a <roBect 'ut only in a planned and well-coordinated manner. )!th 4f 4 decide to 3utsource the /oftware <roBect to a third party, 4 can Bust relax and let that firm 'uild itRealit! C

4f an organi5ation does not understand how to manage and control /oftware <roBects internally, it will 'e invaria'le struggle when it outsource /oftware <roBect. CUSTO)ER )0THS , "ustomer who re#uests "omputer /oftware may 'e a person within one of the department within the company 0i.e *ar(eting department, /ales department etc2 or from an outside company, re#uesting the software under a contract. 4n many cases "ustomer 'elieves myths a'out /oftware 'ecome /oftware *anagers and /oftware <rofessionals do little to correct misinformation. *yths lead to false expectations 0'y the "ustomer2 and ultimately cause "ustomer dissatisfaction with /oftware :evelopers. C-'tome# )!th' E7ample'2 )!th2 <roBect re#uirements continually change, 'ut change can 'e easily accommodated 'ecause software is flexi'le. Realit!2 4t is true that /oftware 7e#uirements change, 'ut the impact of change varies with the time at which it is introduced. 1hen 7e#uirement changes are re#uested early 0'efore :esign or "oding has 'een started2 cost impact is relatively small. However as time passes, cost impact grows rapidly I resources have 'een committed, as :esign framewor( has 'een esta'lished, and change can cause upheaval that re#uires additional resources and maBor :esign modifications. )!th , general /tatement of 3'Bectives is sufficient to 'egin writing <rograms- 1e can fill in the details later Realit! ,lthough a comprehensive and sta'le /tatement of 7e#uirements is not always possi'le, an am'iguous statement of o'Bectives is a recipe for disaster. !nam'iguous re#uirements 0usually derived iteratively2 are developed only through effective and continuous communication 'etween "ustomer and :eveloper. SOFTWARE *ROFESSIONALS )0THS *yths are still 'elieved 'y /oftware <ractitioners have 'een fostered 'y over %& years of programming culture. :uring the early days of /oftware, programming was viewed as an art form. *any /oftware <rofessionals recogni5e the fallacy of /oftware *yths. 7egretta'le, ha'itual attitudes and methods foster poor management and poor technical practices, even when reality dictates a 'etter approach.. 7ecognition of software realities is the first step toward formulation of practical solutions for /oftware +ngineering.

Soft(a#e *#actitione#,' )!th E7ample'2 Myth: Once (e (#ite the p#o #am an$ et it to (o#G6 o-# 9o& i' $oneH Realit! Someone once 'ai$ that 'oone# !o- &e in to (#itin *#o #am co$e'6 the lon e# it (ill taGe !o- to et fini'h itH 4ndustry data indicates that 'etween H& I J& K of all effort expended on /oftware will 'e expended after it is 9.:elivered.. to the customer for the first time. )!th The only delivera'le wor( product for a successful proBect is the wor(ing program Realit!2 , wor(ing <rogram is only one part of a software configuration that includes many elements. :ocumentation provides a foundation for successful engineering and more importantly, guidance for /oftware /upport. --------------------------------------------------------------------------------------------.

Vous aimerez peut-être aussi