0% found this document useful (0 votes)
104 views

Broadlands Area Children's Hospital Term Project

This document discusses a software engineering project for Broadlands Area Children's Hospital to develop an information system for their Child-Parent Extension program. It outlines the requirements of tracking patients, volunteers, and services across multiple subcommittees within budget and privacy constraints. The software engineers must carefully consider how expanding geographic boundaries and eligibility criteria may impact existing processes, budgets, data ownership and access between systems to avoid errors or inconsistencies.

Uploaded by

Praney Kalra
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
104 views

Broadlands Area Children's Hospital Term Project

This document discusses a software engineering project for Broadlands Area Children's Hospital to develop an information system for their Child-Parent Extension program. It outlines the requirements of tracking patients, volunteers, and services across multiple subcommittees within budget and privacy constraints. The software engineers must carefully consider how expanding geographic boundaries and eligibility criteria may impact existing processes, budgets, data ownership and access between systems to avoid errors or inconsistencies.

Uploaded by

Praney Kalra
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 51

Broadlands Area Childrens Hospital Term Project

An Information Systems Proposal for the Child-Parent Extension


Info3 ! " Soft#are En$ineerin$ %r& 'ynn (& Braender

'ea Synefa)is %enis Coffaro (ar) Irons *yan %i +rancesco

ii Ta,le of Contents Broadlands Area Childrens Hospital Term Project................................................i An Information Systems Proposal for the Child-Parent Extension..........................i .......................................................................................................................... i Info !" # Soft$are En%ineerin%...........................................................................i &r. 'ynn (. Braender..........................................................................................i Broadlands Area Childrens Hospital) Child-Parent Extension...............................* Expandin% the +e,-irements............................................................................. Soft$are &e.elopment) Ed-catin% the /ser........................................................" Soft$are En%ineerin%) Choosin% the +i%ht (odel..............................................** Soft$are En%ineerin%) Choosin% the +i%ht Team...............................................*0 Soft$are En%ineerin%) Analysis and &e.elopment (ethods...............................1 &e.elopin% a +apid Prototype.......................................................................... 2 &e.elopin% the &ata 3lo$ &ia%rams................................................................. " The CPE Prototype Screen Shots........................................................................A &ata 3lo$ &ia%rams........................................................................................... 3 +eferences......................................................................................................... I

Broadlands Area Childrens Hospital: Child-Parent Extension


Case Introd-ction %e-elopin$ a soft#are prod.ct is/ and has al#ays ,een/ a tedio.s tas)& A sin$le/ standardi0ed piece of soft#are can ta)e months/ if not years/ to desi$n/ create/ and implement& The process of soft#are de-elopment ,ecomes e-en more in-ol-ed #hen the prod.ct is c.stom desi$ned for a client& Incl.sion of clients in soft#are de-elopment re1.ires strict adherence to $.idelines and proced.res& S.ch formalities exist to ens.re that #hen soft#are en$ineers deli-er the final prod.ct/ it matches the clients demands as closely as possi,le& +ail.re to f.lfill re1.irements set forth potentially lea-es the client #itho.t a correct prod.ct and the en$ineers #itho.t compensation/ as the client maintains po#er to ref.se acceptance of the final prod.ct& This report critically examines the case st.dy of a soft#are en$ineerin$ project for the Broadlands Area Childrens Hospital 2BACH3& This hospital speciali0es in healthcare for children li-in$ #ithin partic.lar $eo$raphic ,o.ndaries/ altho.$h the or$ani0ation does extend its ser-ices to patients from aro.nd the #orld& Specifically/ the Child-Parent Extension 2CPE3 of the Childrens Hospital is comprised of -ol.nteers #ho offer #hat ser-ices they can thro.$h a series of three s.,committees disc.ssed in the follo#in$ chapter& 4pon initial in-esti$ation/ the CPE re1.ested to .tili0e the c.rrent hospital comp.ter system to trac) patients in need of assistance from the extension pro$ram& In response/ the hospital administration has denied s.ch a re1.est citin$ medical confidentiality restrictions as reasons for not $rantin$ access& 5i-en this/ the Child-Parent Extension/ the client/ has contracted soft#are en$ineers to e-al.ate and de-elop an information system/ separate from that of the hospital& Conse1.ently/ the CPE has initiated a project to ac1.ire its o#n soft#are prod.ct& Briefly/ this system sho.ld record essential personal information a,o.t the patients/ their parents/ doctors/ n.rses/ and -ol.nteers of the CPE pro$ram& Beyond s.ch essentials/ the pro$ram m.st process the critical information of those patients #ho are re1.estin$

9 partic.lar ser-ices& Committee mem,ers sho.ld ,e a,le to $enerate reports ,ased .pon #hich patients re1.est #hich ser-ices/ #hen partic.lar -ol.nteers are a-aila,le/ and other critical data& +esearch (ethodolo%y 5i-en the systematic nat.re of this case analysis/ research methods #ere often limited to the information presented in the soft#are en$ineerin$ co.rse and the pace at #hich s.ch information #as presented& Specifically/ this information #as $arnered from text,oo) materials and Po#er Point presentations ,.ilt into the c.rric.l.m& (ore importantly/ this soft#are en$ineerin$ research team has .tili0ed )no#led$e o,tained from a scholastic ,ac)$ro.nd1 to f.rther enhance and .nderstand ideas and methods critical to this case analysis& (any core ,.siness co.rses pro-ided insi$ht into the position of the client/ #hile information re-ealed thro.$h the soft#are en$ineerin$ co.rse pro-ided a fo.ndation for #hich to expand the technical aspects of soft#are de-elopment& +eport 4r%ani5ation The information presented in s.,se1.ent chapters explains the f.ndamentals of soft#are de-elopment that are present in all soft#are projects& Each chapter examines a partic.lar portion of prod.ct de-elopment and attempts to explain the rele-ance of each of these sta$es to the reader in a non-technical manner& 6at.rally/ the earlier chapters constr.ct a frame#or) of ideas for #hich the remainder of the report is ,.ilt .pon& After statin$ the ,asics of the topic of each chapter/ an analysis attempts to explain ho# these sta$es relate to the BACH project& 7ith many sta$es offerin$ -ario.s co.rses of action/ recommendations are then $i-en for options ,est s.ited for each phase ,ased on the information pro-ided& %ata flo# dia$rams and charts/ as #ell as screen shots of the rapid prototypes .ser interface are pro-ided in the appendix of the report& So.rces referenced in the report are also listed at the end&

This soft#are en$ineerin$ research team consists of senior B.siness Information System (ana$ement st.dents& +ollo#ed ,y a #ell-,alanced c.rric.l.m/ most mem,ers ha-e completed f.ndamental and core ,.siness co.rses/ as #ell as ad-anced information technolo$y st.dies& (em,ers also ha-e -al.a,le ,.siness and technolo$y experience o,tained thro.$h internships #ith -ario.s or$ani0ations&

Expanding the Requirements


The Pro6lem Statement The Broadlands Area Childrens Hospital foc.ses on extendin$ its ser-ices to families #ith financial diffic.lties& Thro.$h the :oinin$ Children #ith their +amilies 2:C+3 pro$ram/ :.-enile Comforts 2:C3/ and 7ee +riends 27+3/ the Child-Parent Extension of the hospital attempts to effecti-ely pro-ide family comfort and 1.ality health care to people of all economic ,ac)$ro.nds/ tho.$h some constraints restrict the performance of this #ellintentioned pro$ram& (ost nota,ly/ a ;<<-mile radi.s limits the amo.nt of people ser-iced ,y the :C+ pro$ram/ #hile no s.ch ,o.ndary exists for the other t#o pro$rams& Additionally/ :C+s ,.d$et only pro-ides financial assistance to one -isitor of a child at a time& These limitations may ,e temporary/ ho#e-er/ as the hospital #ishes to eliminate the ;<<-mile ,order& This chan$e may precipitate a -ariety of modifications thro.$ho.t the information systems of the hospital/ possi,ly affectin$ the :C and 7+ pro$rams as #ell& Chan$es may ,e so extensi-e as to re1.ire an o-erha.l of the system/ altho.$h this necessitates extensi-e inspection of re1.irements and conse1.ences of the desired actions ,efore implementin$ any si$nificant modifications or soft#are desi$ns& Expandin% the Borders +rom an Information Technolo$y standpoint/ expansion of the hospitals ,orders seems to ,e a relati-ely strai$htfor#ard tas)& Con-ersely/ #hile it may ,e painless to modify specific pieces of a pro$ram to achie-e the direct/ desired res.lt/ soft#are en$ineers sho.ld ,e a#are of the lon$-term effects of s.ch actions& 7hen spea)in$ in terms of direct prod.ct modifications to the pro$ram/ in an effort to expand the ,orders/ locatin$ the $eo$raphic restriction attri,.tes #o.ld ,e an excellent first step& In this partic.lar case/ the attri,.te directly in 1.estion reads= >%o parents or $.ardians li-e #ithin ;<< miles of Broadlands Area Childrens Hospital?@ Here/ soft#are en$ineers are challen$ed to determine #hether the data $arnered ,y this in1.iry is still si$nificant eno.$h to ,e incl.ded in the prod.ct& 7hile cr.cial/ the o.tcome of this decision

C does not completely resol-e the iss.e& (odification of this partic.lar area may ,e responsi,le for se-eral other conse1.ences& +.rthermore/ these diffic.lties may or may not ,e soft#are related& An the soft#are side of these complexities/ it #o.ld ,e #ise for en$ineers to determine #hether modification ca.ses inconsistencies andBor malf.nctions #ithin other processes em,edded in the soft#are& This may ,e accomplished ,y re-isitin$ the soft#are process and do.,le-chec)in$ appropriate attri,.tes and actions to ascertain that this modification affects no other proced.res already esta,lished in the pro$ram& Soft#are diffic.lties are not the only potential pro,lems tho.$h& +or example/ openin$ eli$i,ility to all patients of the :C+ may ha-e an effect on coordinatin$ or$ani0ations as #ell& 7hile f.rther research may disco-er exactly #hat ,.d$etin$ needs are critical/ en$ineers are responsi,le for modifyin$ ,.d$etin$ systems to allot these f.nds& This may incl.de ,.d$ets for :C/ #hich pro-ides a $ift for each -isit/ as the rise in -isitors #ill affect this pro$ram as #ell& A#nership of data may also ,e an important factor in modification of c.rrent processes& Soft#are en$ineers may not ha-e access to other data,ase systems/ ma)in$ it diffic.lt to chec) the ramifications of their adj.stments& Additionally/ confidentiality may ,e an o,stacle/ especially in a medical settin$& En$ineers may not ,e pri-y to patient records #here chan$es they ma)e to medical soft#are can indirectly modify& An a less a,stract le-el/ o#nership can ha-e f.rther implications in terms of $eo$raphy/ for if there is no physical access to the records/ IT professionals may not ,e a,le to -erify their #or)& Expandin% .s. +eplacin% the System +ollo#in$ comprehensi-e st.dies on the impacts of a ,order expansion/ IT professionals attempt to assess the physical alterations necessary to accommodate ne# re1.irements& After appropriate appraisal of the sit.ation/ soft#are en$ineers foc.s on -aryin$ co.rses of action& (odifyin$ the existin$ data,ase presents one option/ pro-idin$ that soft#are en$ineers $ain access to c.rrent systems/ #hile discardin$ the c.rrent str.ct.re and desi$nin$ a ne# one from scratch offers its o#n ad-anta$es& %ifferent

; circ.mstances call for different responses/ and th.s re1.ire a critical analysis of factors rele-ant to the partic.lar system .nder examination& 5i-en that a complete and #or)in$ data,ase c.rrently exists/ the soft#are en$ineer sho.ld foc.s on identifyin$ the nat.re of the necessary chan$es& By doin$ so/ one can ,ecome ,etter s.ited to determine if de-elopin$ a ne# information system is a reasona,le choice& In this case/ ho#e-er/ modification of the existin$ prod.ct pro-es to ,e a more sensi,le sol.tion& *emo-in$ $eo$raphic constraints and extendin$ the :C+ pro$ram to all patients there,y eliminates the need for data related to these fields/ at the current time& This primarily refers to the field that specifies #hether parents or $.ardians li-e #ithin a ;<<-mile radi.s of the hospital& 7hen implementin$ these chan$es/ it is critical to note that #hile these ne# specifications do not presently necessitate trac)in$ $eo$raphic locations/ f.t.re sit.ations and constraints may dictate other#ise& +.rthermore/ f.t.re financial positions of the hospital may force reinstatin$ the $eo$raphic constraint/ perhaps e-en mandatin$ chan$es in the maxim.m radi.s distance& S.ch f.t.re e-ents are feasi,le and sho.ld ,e $i-en appropriate consideration& Altho.$h these specifications do not directly re1.ire maintainin$ parentB$.ardian location data/ consideration of these potentialities may pro-e in-al.a,le for f.t.re flexi,ility& 4tili0in$ s.ch foresi$ht correctly in the specification/ desi$n/ and maintenance of pro$rams may .ltimately determine the s.ccess of the soft#are& Analysis of this pro,lem re-eals that modification of c.rrent soft#are more s.ccessf.lly fills the chan$in$ re1.irements/ #hereas scrappin$ the soft#are pro-es to ,e a #astef.l endea-or& Concl-din% +emar7s This partic.lar case examines the potential ,enefits and dan$ers of either modifyin$ c.rrent information systems at the Broadlands Area Childrens Hospital/ or simply replacin$ them #ith a completely different system& C.rrent circ.mstances indicate that a complete o-erha.l of the system is too costly #hen compared a$ainst any $ains& Editin$ the system demonstrates ,enefits in ,oth short and lon$ term $oals of the hospital/ especially #ith the limited information a-aila,le& Pr.dent soft#are en$ineers reali0e that f.rther in-esti$ation

into the iss.e #o.ld ,e sensi,le/ as any modifications may ha-e far-reachin$ effects/ ,oth into the f.t.re and into other or$ani0ations&

Soft are !e"elopment: Edu#ating the $ser


Pro6lem Statement As #ith most thin$s in the en-ironment/ limitations ,ind the performance capa,ilities of hard#are and soft#are& Physical constraints of electroma$netism and miniat.ri0ation restrict the maxim.m speed of hard#are and force alternati-e sol.tions& Soft#are has limitations not present in many other medi.ms/ for these ,o.ndaries are concept.al/ and often d.e to inherent pro,lems in soft#are desi$n& Accordin$ to +red Broo)s/ a.thor of No Silver Bullet/ no sol.tion in the near f.t.re #ill alle-iate these inherent pro,lems in soft#are prod.ction and diffic.lties #ill remain .nsol-ed $i-en c.rrent prod.ction techni1.es 2C;3& Therefore/ it is essential that soft#are en$ineers ha-e a firm .nderstandin$ of the ca.ses and effects of s.ch pro,lems& Essence and accidents cate$ori0e t#o areas of soft#are prod.ction pro,lems& +oc.sin$ on essence/ Broo)s lists the components of this $ro.p as complexity/ conformity/ chan$ea,ility/ and in-isi,ility& He f.rther specifies that these are innate soft#are restrictions/ red.cin$ the feasi,ility of form.latin$ alternati-e sol.tions& The follo#in$ chapter details each of these essential pro,lems of soft#are prod.ction/ and addresses the iss.es specific to the Child-Parent Extension 2CPE3 case& Pro6lems $ith Soft$are Complexity 7hen creatin$ a pro$ram of si$nificant si0e/ complexity has a $ood chance of ,ecomin$ pro,lematic& Ta)e for example/ the ,inary str.ct.re of characters/ #herein a sin$le character can represent a n.m,er of -al.es& The pro$ram c.rrently employed ,y Broadlands/ #hich has n.mero.s 1.estions consistin$ of n.mero.s characters/ #ill ha-e a nearly immeas.ra,le amo.nt of possi,le o.tcomes& It is critical that soft#are en$ineers ac)no#led$e this intrinsic property of systems/ and ta)e steps to ens.re that de-elopin$ pro$rams do not lose their foc.s amon$st the -ast amo.nt of ,inary data& Hi$h le-els of complexity present in many lar$e pro$rams can ma)e soft#are extremely diffic.lt to follo# and de,.$& These o,stacles ma)e effecti-e comm.nication a

D necessity& Improper comm.nications a,o.t the soft#are can lead to hi$h costs in ,oth time and ,.d$et& (aintenance also pro-es a da.ntin$ tas) in pro$rams of meas.ra,le si0e/ and re1.ires expert care and .nderstandin$ to maintain them& An o,ject-oriented paradi$m can aid in resol-in$ this iss.e/ yet it is not necessarily a s.re-fire sol.tion& Pro6lems $ith Soft$are Conformity %esi$nin$ soft#are that conforms to a partic.lar process challen$es the most s)illed of soft#are en$ineers& In the case of the Child-Parent Extension 2CPE3 at the hospital/ a specific process of recordin$ and .tili0in$ data has ,een esta,lished and follo#ed for some time& This #o.ld decrease the effecti-eness of off-the-shelf data,ase soft#are/ #hile it may ,e appealin$ in terms of price/ ,.t in all li)elihood/ standardi0ed soft#are #ill not f.lfill necessary re1.irements/ nor follo# practices already esta,lished& In reference to the CPE case/ soft#are en$ineers sho.ld desi$n an information system that adheres to pre-existin$ standards/ #hile still pro-idin$ added f.nctionality for its intended p.rpose& In this hospital scenario/ doctors/ n.rses/ and other staff ha-e an esta,lished method and format for collectin$ information on patients/ therefore the ne# prod.ct re1.ires a desi$n that allo#s for the same manners and methods& In theory/ it appears that the h.man aspect of the process/ #hich incl.des collectin$ data lon$hand and electronically/ is easier to chan$e than the soft#are& 7hile in many cases this is tr.e/ people may not ta)e #ell to chan$es in esta,lished ro.tines/ especially in the fast-paced and hi$h-stress en-ironment of a hospital& In-ol-ed staff may #ant to collect the same patient information .sin$ the same proced.res and forms and #ill then expect to enter this information electronically in the same format& In addition/ it is important to desi$n a system that has ,ac)#ards-compati,le capa,ilities that can inte$rate and synchroni0e #ith older existin$ systems/ th.s red.cin$ .nnecessary man.al data entry #hen transferrin$ data& +ail.re to allo# for ,ac)#ards compati,ility can present synchroni0ation and data entry ni$htmares if s.ch actions are not a.tomated& In ,rief/ an expert soft#are en$ineer reali0es that there is more than meets eye to a new information system& In this case/ it is critical that the ne# prod.ct conforms in the

E aforementioned #ays to pro-ide efficient soft#are #hile minimi0in$ any additional trainin$ and headaches commonly associated #ith ne# systems that lac) conformity& Pro6lems $ith Soft$are Chan%ea6ility +or a -ariety of reasons/ clients often compel -endors to modify existin$ pro$rams/ ma)in$ chan$ea,ility a partic.larly important characteristic of soft#are& %espite the ad-anta$es of enhanced flexi,ility of f.nctions/ these modifications are not #itho.t their perils& +irst/ small chan$es in soft#are can precipitate other .ndesired effects thro.$ho.t the soft#are& These chan$es may also ,e implemented as part of a >1.ic)-fix@ type of soft#are sol.tion& This type of sol.tion may alter pro$rammin$ eno.$h to co-er c.rrent inade1.acies/ yet it may i$nore other pro,lems& 4pdatin$ soft#are may also $i-e clients the false impression a,o.t the performance and capa,ilities of their hard#are& All of these iss.es ha-e the a,ility to play a role in the modification of the Broadlands Area Childrens Hospital& Chan$es to the soft#ares str.ct.re can ha-e a horde of .nforeseen effects thro.$ho.t this partic.lar system& The presence of the three separate pro$rams/ 7+/ :C/ and :C+/ may indicate that some information ,et#een them is shared data& A -ariance in one pro$ram co.ld ha-e drastic conse1.ences on the remainder of the soft#are/ especially if this -ariance is a >1.ic)-fix@ type of sol.tion to a pro,lem& A rather poi$nant example presented itself in the last chapter/ as a modification to the $eo$raphic ,o.ndaries may inad-ertently chan$e ,.d$ets and data to .nintended recipients& In addition/ this type of sol.tion r.ns the ris) of alterin$ data that may ,e -al.a,le for f.t.re consideration& En$ineers may ,e press.red to eliminate portions of pro$rammin$ to free .p reso.rces& In t.rn/ this may $i-e the client the notion that their hard#are is ade1.ate/ #hile in reality they are in need of more reso.rces& Pro6lems $ith Soft$are In.isi6ility A soft#are en$ineers $oal is not only to prod.ce a technically so.nd pac)a$e/ ,.t also to present the prod.ct for non-technically orientated mana$ement in an easily .nderstood fashion& The process of -is.ali0in$ #hat some ,elie-e as >in-isi,le and

8< .n-is.ali0a,le@ 2Broo)s/ CE3 can ,e a challen$in$ tas)& +ail.re to complete this tas) may hinder comm.nication amon$ soft#are professionals and client mana$ement& The Child-Parent Extension is c.rrently contemplatin$ modifyin$ their c.rrent system to process ne# re1.irements s.rro.ndin$ the ;<<-mile radi.s for the :oinin$ Children #ith their +amilies& Information th.s far seems to indicate that the capital and trainin$ re1.ired for replacin$ the c.rrent system is far too reso.rce intensi-e& +or example/ architects .tili0e 9- and 3-dimensional models/ plastic s.r$eons can .tili0e speciali0ed comp.ter pro$rams to forecast a potential res.lt/ and Broadlands can .tili0e flo# charts/ data flo# dia$rams/ and mod.le interconnection dia$rams/ amon$ a ,e-y of other options& The Broadlands system may ,e so complex that any tool .sed for representation may ,e either too conf.sin$ ,eca.se of details/ or too -a$.e to maximi0e comprehension& 6e-ertheless/ CPE en$ineers sho.ld elicit one form of representation as proper .nderstandin$ and .se of the tool #ill ,e ad-anta$eo.s& Ta)in$ into consideration the pros and cons a,o-e/ Broadlands ,est approach may ,e the data flo# dia$ram& The inte$ral part of this dia$ram/ the modification of the existin$ code/ #ill ,e the foc.s& Broadlands does not need to foc.s on #hat is already present and appro-ed& Fis.ali0in$ the ne# se$ment of edited code #ill not conf.se mana$ement #ith details that are irrele-ant #ith the criteria chan$e/ the ;<<-mile radi.s& +.rthermore/ this foc.s .pon the details #ill not o-er#helm the a.dience and ill.strate the main iss.e clearly and coherently& Concl-din% +emar7s 7hen a company .pdates any portion of its operations/ many diffic.lties tend to emer$e in the process& Soft#are in partic.lar presents complexity/ conformity/ chan$ea,ility/ and in-isi,ility as its distinct o,stacles& There may ,e no certain sol.tions to pro,lems that arise/ ,.t soft#are en$ineers at the Broadlands Area Childrens Hospital #o.ld ,e #ise to ,e a#are of these dan$ers& Anticipation and pro-acti-e approaches to modification of code can red.ce c.rrent pro,lems/ and possi,ly a-ert crises in the f.t.re&

88

Soft are Engineering: Choosing the Right %odel


Pro6lem Statement Soft#are en$ineers ha-e a -ariety of choices to ma)e #hen ,e$innin$ a project for a client& B.ildin$ the soft#are re1.ires en$ineers to choose a life-cycle model= a series of desi$n steps thro.$h #hich the project .nder$oes& The steps in each life-cycle model are tailored to the specific needs of the client& Some models re1.ire short periods of desi$n/ ,.t in t.rn/ re1.ire extensi-e periods of maintenance #hile others foc.s intensely on desi$n phases and necessitate little/ if any/ maintenance& The en$ineers desi$nin$ the soft#are for the Child-Parent Extension need a model that #ill handle the extensi-e data re1.irements #hile pro-idin$ for clear desi$ns/ simplified implementation and inte$rations/ and easy maintenance& Comparin% (odels) The 7aterfall (odel The #aterfall model is perhaps the most r.dimentary of the models a-aila,le/ ,.t it is still in-al.a,le to the soft#are en$ineer& At the ,e$innin$ of each phase/ the project is inspected for any c.rrent fa.lts/ and after thoro.$h doc.mentation/ it pro$resses thro.$h the de-elopmental steps of the soft#are life cycle& In this process/ major desi$n fla#s are .s.ally apparent in the implementation phase& +ort.nately/ the caref.l doc.mentation/ as noted a,o-e/ allo#s the en$ineers to refer to pre-io.s points and retrace the path if pro,lems arise& This model has some distinct ad-anta$es o-er other models/ as each phase recei-es appro-al from the SGA team/ there,y )eepin$ the project on trac)& In addition/ there is extensi-e testin$ in-ol-ed/ ena,lin$ Broadlands to recei-e a prod.ct that is dependa,ly f.nctional& Ho#e-er/ the extensi-e doc.mentation presents a pro,lem= the client rarely has the proper )no#led$e to decipher specification doc.ments& There is a si$nificant chance that Broadlands #ill recei-e a #or)in$ prod.ct/ ,.t one that does not meet its needs& Conse1.ently/ the hospital may hastily appro-e specification doc.ments for a prod.ct that

89 does not tr.ly meet the intended re1.irements& Therefore/ extensi-e comm.nication ,et#een the desi$ners and the client is essential to a-oid this characteristic pro,lem of the #aterfall model& The Incremental (odel The incremental de-elopment model pro-ides a delicate ,alance ,et#een the #aterfall and rapid prototypin$ models and the ,.ild-and-fix approach& This model exploits the fact that soft#are is en$ineered in parts/ or mod.les/ and is .ltimately ,.ilt piece ,y piece& The inte$ration of -ario.s mod.les of code prod.ces a series of ,.ilds/ each pro-idin$ distinct and independent f.nctions& Precisely/ the independence of these ,.ilds ma)es this model attracti-e& 5enerally/ #hen soft#are en$ineers compose a prod.ct in its entirety/ de-elopment time spans se-eral months and often se-eral years/ )eepin$ the client #aitin$ .ntil its completion& %esi$nin$ soft#are in #or)in$ ,.ilds allo#s en$ineers to deli-er them as they are completed/ re$ardless of the sta$es of other increments& This means the client ,e$ins .sin$ f.nctional parts of the prod.ct as they ,ecome a-aila,le/ ena,lin$ $rad.al introd.ctions of .pdated soft#are and easier trainin$ adj.stments& Af partic.lar ad-anta$e is the clients a,ility to exercise $reater control o-er the prod.cts specifications& At any point/ if the c.rrent ,.ild satisfies all re1.ests/ the client may cancel f.rther increments and ,e$in .sin$ the soft#are in its c.rrent form& Considerin$ the CPE case/ an incremental model may ,enefit the or$ani0ation ,y allo#in$ a desi$n s.ch that each ser-ice offered ,y the hospital is represented #ithin a separate and distinct mod.le& This ena,les a timely esta,lishment of a #or)in$ information system that maintains data on the -ario.s pro$rams offered ,y the childrens hospital& The attracti-e feat.re is that any chan$es necessary to any assistance pro$rams/ s.ch as eliminatin$ the ;<<-mile radi.s ,o.ndary/ are made independently #ithin its indi-id.al mod.le& +inali0ed chan$es are then introd.ced in an .pdated ,.ild #here the client is already familiar #ith the soft#are and its feat.res/ th.s eliminatin$ any trainin$ re1.ired ,y implementin$ an entirely ne# system&

83 Extreme Pro$rammin$ B.ilt .pon ideas ,ehind the incremental model/ extreme pro$rammin$ offers a radical ne# approach to soft#are en$ineerin$& Similar to the specification phase of the incremental model/ the soft#are de-elopment team collects all feat.res the client re1.ests& After the de-elopment team plans ,.d$et and time estimates/ the client selects the ,est feat.res to appear in the final desi$n& At this point/ extreme pro$rammin$ ta)es effect& The proposed soft#are desi$n is ,ro)en do#n into smaller and more mana$ea,le tas)s& These tas)s are assi$ned to n.mero.s pro$rammin$ $ro.ps/ #here each $ro.p is typically composed of t#o pro$rammers #or)in$ side ,y side at a sin$le comp.ter& A distinct feat.re of this model is the lac) of jo, speciali0ation& (em,ers of pro$rammin$ $ro.ps #or)in$ on a sin$le tas) are responsi,le for all aspects/ incl.din$ specifications/ desi$n/ codin$/ and testin$& 4pon completion of all s.ch phases/ the team inte$rates the finali0ed tas)s into the most c.rrent prod.ct -ersion& An approach s.ch as this can ,e effecti-e in some sit.ations& E-en tho.$h extreme pro$rammin$ is relati-ely ne# and has not ,een #idely .sed/ the model has ,een s.ccessf.l in some small- and medi.m-si0e projects& A major ad-anta$e to .tili0in$ this approach is that a client representati-e is present at all times #ith the pro$rammers& This is critical #hen re1.irements are .nclear andBor )eep chan$in$& Ho#e-er/ in terms of the Broadlands case/ extreme pro$rammin$ may ,e ,eyond the scope of the jo,& C.rrently/ the re1.irements are defined clearly and se$mentin$ the #or) into n.mero.s smaller tas)s may not ,e j.stified/ $i-en the modifications necessary& Sho.ld specifications and re1.irements chan$e in the f.t.re to s.ch extents that o,jecti-es ,ecome ,l.rred and diffic.lt to handle as a lar$e $ro.p/ then extreme pro$rammin$ may present a -ia,le sol.tion& The Synchroni0e and Sta,ili0e (odel The synchroni0e and sta,ili0e model for soft#are de-elopment is most #idely .tili0ed ,y (icrosoft& The soft#are $iant meets #ith n.mero.s potential c.stomers on e-ery le-el from no-ice to administrators and attempts to $rasp #hich feat.res/ settin$s/ and preferences are priorities for the client& This process typically applies to soft#are pac)a$es that are de-eloped are as part of lar$e-scale/ enterprise pac)a$es&

8C +o.r ,.ilds comprise the synchroni0e and sta,ili0e model& Each ,.ild contains n.mero.s teams #or)in$ in parallel fashion to carry o.t a small proced.re inside the entire ,.ild& >At the end of each day all the teams synchroni0ation/ that is/ they p.t to$ether the partially completed components and test and de,.$ the res.ltin$ prod.ct& Sta,ili0ation is performed at the end of each ,.ild& Any remainin$ fa.lts that ha-e ,een detected are fixed and the ,.ild is fro0enH that is/ no f.rther chan$es #ill ,e made to the specifications@ 2Schach/ !!3& This model of soft#are en$ineerin$ is in its infancy and is c.rrently .tili0ed only ,y (icrosoft& %espite the limited .se/ the model does exhi,it some mar)ed ad-anta$es& The model meets the needs of f.t.re .sers/ #hile maintainin$ inte$ration of ne#er components as a precedence& Ho#e-er/ #ea)nesses of this model are often hidden and not clearly apparent d.e to its inacti-ity o.tside of extremely lar$e corporations& The Spiral (odel *is) is al#ays a critical factor in soft#are de-elopment& G.estions pertainin$ to the lon$e-ity of employment for pro$rammers/ project costs/ and competition are all -alid points of interest& These concerns and others are the f.ndamental ,asis for the spiral model of soft#are de-elopment/ ,riefly o.tlined ,elo#& Initially/ prototypes are formed #ith the .nderlyin$ intent of #ei$hin$ ris)s& The spiral model is essentially the #aterfall model #ith a fe# modifications/ as each phase is preceded ,y a ris) analysis& Alternati-es and constraints s.pport re.se of the c.rrent soft#are/ all #hile )eepin$ in mind the 1.ality of the prod.ct after co.ntless edits& A common pro,lem #ith spiralin$ the process is determinin$ the ade1.acy of testin$ in each phase& If certain phases are tested too thoro.$hly/ the project co.ld ,e delayed and s.ffer le$al diffic.lties& Con-ersely/ if a phase has not ,een s.,jected to eno.$h testin$/ the o-erall 1.ality and sta,ility of the project can ,e compromised/ and .ltimately deemed inefficient d.e to lac) of 1.ality in any $i-en proced.re& %e-elopers m.st ,e competent in ris) analysis and ris) resol.tion in order to f.lfill their capa,ilities& Hence/ a methodolo$y s.ch as this is ,est .tili0ed in a lar$e corporation #here reso.rces and trainin$ are more readily a-aila,le&

8; Spiralin$ the soft#are process allo#s the c.stomer constant inp.t on the direction of the project& The client has the a,ility to play a si$nificant role in the interface and de-elopment of the prod.ct/ th.s increasin$ the pro,a,ility of hi$her ret.rns on .sa,ility for the c.stomer& This process also allo#s ne#er components to ,e more easily inte$rated into the system/ and doc.mentation is the ,asis for this ad-anta$e& 7ith the necessary doc.ments and specifications cited/ f.t.re $ro#th #ithin the soft#are andBor hard#are is more easily achie-a,le& The A,ject-Ariented (odel The o,ject-orientated methodolo$ies that ha-e ,een proposed explicitly reflect the need for iteration& Circ.lar patterns often represent the o-erlappin$ of -ario.s phases/ reflectin$ the intersectin$ characteristics ,et#een acti-ities& The arro#s present in a phase represent iteration #ithin that phase& (aintenance circles are smaller/ sym,oli0in$ red.ced maintenance efforts #hen the o,ject-orientated paradi$m is .sed& Colla,oration #ith fello# pro$rammers ena,les all in-ol-ed to o,ser-e the prod.cts pro$ression/ #hile sim.ltaneo.sly ena,lin$ the pro$rammers to -oice their opinion on said pro$ression& This pro-es ,eneficial d.rin$ prod.ct de-elopment/ s.ch that #hen dilemmas occ.r/ reso.rces and inp.t may ,e elicited from the entire project team/ made possi,le thro.$h prior )no#led$e and in-ol-ement in all phases& A potential do#nfall of this model is re-ersion to a predated model/ CABTAB& A process of codin$ a ,it/ then testin$ a ,it #as initially .sed #ith positi-e implications in the soft#are ind.stry& Ho#e-er/ this methodolo$y spent an inordinate amo.nt of time de,.$$in$ code that #as often extracted in the fine-t.nin$ and enhancement of the prod.ct& This partic.lar process #as later deemed inefficient d.e to this nat.re& Additional Approaches Synchroni0e and sta,ili0e teams ha-e pro-en s.ccessf.l at the (icrosoft Corporation& This approach lends itself to#ards lar$e projects& +or example/ 7indo#s 9<<< consists of more than 3< million lines of code ,.ilt ,y o-er 3<<< pro$rammers and testers& +or this method to ,ecome s.ccessf.l/ team or$ani0ation is essential&

8 Three or fo.r of the se1.ential ,.ilds of the synchroni0e and sta,ili0e model are constr.cted ,y a n.m,er of parallel teams lead ,y a pro$ram mana$er and consistin$ of ,et#een three and ei$ht de-elopers to$ether #ith three to ei$ht testers #ho #or) in conj.nction& The team is ,riefed #ith the o-erall $oal/ and then the $ro.ps are assi$ned specific parts of the project& Here/ mem,ers are free to code .sin$ their specific styles and techni1.es& At the concl.sion of the day/ the partially completed proced.res are tested and de,.$$ed& This facilitates indi-id.al creati-ity and a.tonomy/ #hile still )eepin$ short and lon$-term $oals in si$ht and team#or) a priority& The stren$th of this techni1.e lies in the a,ility to allo# the pro$rammers to inte$rate personal creati-ity& Pro$rammers are capa,le of codin$ in any means feasi,le as lon$ as the final code is compliant #ith all the other parts& Ho#e-er/ if a ,.$ does occ.r this error m.st ,e corrected #ithin a one-day period& This p.ts a tremendo.s amo.nt of press.re on pro$rammers #ith code pro,lems and often in-ol-es 8 - to 8D-ho.r #or)days& +ail.re to correct the pro,lem #o.ld delay f.rther de-elopment/ $i-en the ideolo$y that if one mo-es for#ard/ all mo-e for#ard& This method/ altho.$h prod.cti-e for (icrosoft/ is often coined as the hac)ers methodolo$y& 7ith a loose-r.le philosophy/ short- and lon$-term $oals are met/ ho#e-er/ m.ch slac) is left in the middle& This methodolo$y is often prod.cti-e for a lar$e prod.ct de-eloped ,y a company #ith many reso.rces& Aften/ it pro-es to time cons.min$ and financially drainin$ for small and medi.m si0e projects and de-elopers& +ecommendation for BACH 7hile each model presents a .ni1.e set of ,enefits and dra#,ac)s/ the incremental model appears to ,e ,est s.ited for the Broadlands Area Childrens Hospital& This model is partic.larly fittin$ for the hospital for se-eral reasons& +irst/ ,.d$et constraints seem to ,e a limitin$ factor for the hospital/ as the capa,ilities of the pro$rams 2:C/ :C+/ and 7+3 all ha-e some sort of monetary restriction& The incremental model re1.ires no lar$e capital o.tlay and/ in fact/ allo#s the hospital to $et the hi$hest possi,le ret.rn for the reso.rces they spend& Timeliness and $rad.al introd.ction of technolo$y also present themsel-es as important aspects of the incremental model/ and ones that are exceptionally applica,le to a

8! hospital settin$& As soon as portions of code are ,.ilt/ the hospital staff can .tili0e them& Hospitals m.st ,e on the c.ttin$ ed$e of technolo$y if they #ish to sa-e as many patients as possi,le/ and the immediate introd.ction of small pieces of soft#are helps them achie-e this $oal& An the other hand/ since the chan$es are small and $rad.al/ the hospital staff sho.ld not ,e .ncomforta,le #ith the modifications to their daily ro.tine& A,-io.sly/ this is a tremendo.s ,oon to a medical staff/ as the ease at #hich they complete their tas)s can ma)e a life-alterin$ difference& +.rthermore/ the Childrens Hospital m.st ,e a,le to maintain the soft#are/ as medical records are of the .tmost importance to the patients .sin$ the medical facilities& The incremental model enco.ra$es maintaina,ility/ and is therefore an excellent candidate for ,.ildin$ soft#are for the CPE& There are some minor shortcomin$s of the incremental model/ ho#e-er& %espite the promotion of maintaina,ility/ this model re1.ires open architect.re for any major chan$es to the soft#are& If the architect.re of the soft#are is not ade1.ately planned/ the project r.ns the ris) of t.rnin$ into a ,.ild-and-fix type of endea-or& In a lar$e firm/ s.ch as a hospital/ a ,.ild-and-fix model is .n,efittin$/ ,.t #ith the proper plannin$ this ris) can ,e minimi0ed& Concl-din% +emar7s 6o sin$le soft#are desi$n model is s.ited ,est for e-ery project that arises& (.ltit.des of factors determine #hich template appropriately fits the c.rrent tas)& A $ood soft#are en$ineer reali0es s.ch -ariations of re1.irements and adj.sts hisBher approach accordin$ly& A solid .nderstandin$ of all c.rrent soft#are life-cycle models is a necessity if the en$ineer desires s.ccess from inception to concl.sion& (erely selectin$ the most appropriate desi$n model ,y no means this $.arantees s.ccess& 4tili0in$ the feat.res and characteristics of each model correctly thro.$ho.t the entire life-cycle process leads the en$ineer #ell on the #ay to .ltimately desi$nin$ a s.ccessf.l prod.ct&

8D

Soft are Engineering: Choosing the Right &eam


Pro6lem Statement Appropriate team str.ct.re is an imperati-e factor for ens.rin$ s.ccessf.l soft#are projects& The direction of a projects o.tcome is hea-ily infl.enced ,y the 1.ality of soft#are en$ineers/ proper or$ani0ation/ and leadership s)ills present #ithin the team& At times f.nctionin$ in teams may ,e tedio.s/ diffic.lt/ and e-en .ndesira,le/ ,.t the a,ility to dra# from a collecti-e pool of reso.rces o.t#ei$hs any ne$ati-e aspect of team f.nctions& Firt.ally e-ery aspect of ,.siness today incorporates team#or) into its philosophy/ and soft#are en$ineerin$ is no exception to this trend& The challen$e of performin$ in a team lies in a-oidin$ the inherent pitfalls of $ro.p #or)& +or instance/ $ro.pthin) is a fre1.ent trap/ #here the inp.t/ ideas/ and opinions of mem,ers s#ay in a partic.lar direction simply for the sa)e of maintainin$ harmony #ith the rest of the $ro.p& In addition/ mana$ement may ha-e the misconception that addin$ mem,ers to a $ro.p for late projects alle-iates the strain and allo#s for timely completion of the #or)& Ho#e-er/ time-cons.min$ tas)s accompany ne# mem,ership/ s.ch as expandin$ the lines of comm.nication and trainin$ that ma)e this a co.nter-prod.cti-e acti-ity& That ,ein$ said/ a s.ccessf.l $ro.p necessitates close examination of $ro.p dynamics and project re1.irements specific to each team& The follo#in$ chapter explores pla.si,le team approaches and in-esti$ates an or$ani0ation s.ita,le for the Broadlands project& Assem6lin% the Team The %emocratic Approach The democratic approach is one example of $ro.p dynamics& This foc.ses on the concept of e$o-less pro$rammin$/ as first descri,ed ,y 7ein,er$& E$o-less pro$rammin$ adheres to the idea that team o#nership of the so.rce code is a critical component of $ro.p accordance& It is ,ased on the idea that pro$rammers sometimes ha-e a tendency to feel possessi-e a,o.t their o#n codeH so/ a fello# en$ineer findin$ a fa.lt may ,e $reeted #ith defensi-eness instead of $ratit.de 27ein,er$/ E93& This directly contradicts the point of a

8E team/ as the teammates sho.ld #or) to$ether to#ard the same $oal of a fa.lt free pro$ram& E$o-less pro$rammin$ o-ercomes this h.rdle ,y enco.ra$in$ criti1.e amon$ team mem,ers& This fosters a positi-e attit.de to#ard de,.$$in$/ th.s fa.lts are often fo.nd 1.ic)ly& Ho#e-er/ this approach is not cond.ci-e to mana$erial am,ition& It is also diffic.lt to earn promotions #or)in$ #ith a type of team that does not stim.late personal ad-ancement& (oreo-er/ it may ,e pro,lematical to act.ally implement e$o-less pro$rammin$ if dominatin$ attit.des are pre-alent amon$ en$ineers& The Chief Pro$rammer Approach The next approach/ a more tried-and-tr.e method/ is the chief pro$rammer approach& This team is comprised of se-eral pro$rammersH a chief pro$rammer/ a ,ac)-.p pro$rammer and a pro$rammin$ secretary& In this process/ each pro$rammer speciali0es in a certain tas) and reports all #or) directly to the chief pro$rammer& The pro$rammers do not comm.nicate #ith each other/ nor do they disc.ss their pro$ress/ as the chief pro$rammer recei-es all comm.nications& The ,ac)-.p pro$rammer sho.ld ha-e all the same )no#led$e and mana$erial s)ills as the chief in case the chief ta)es lea-e or ,ecomes ill& The pro$rammin$ secretary doc.ments all the ne# so.rce code and maintains the project li,rary& The chief pro$rammer en-isions the project in its entirety and p.ts the pieces 2coded ,y the pro$rammers3 to$ether& E-idence sho#n ,y the 6e# Ior) Times case 9 s.$$ests that this approach is an excellent team method& Ho#e-er/ this e-idence is sin$.larH and f.rthermore/ this partic.lar project had special circ.mstances& This approach does in fact present a fe# dra#,ac)s& +indin$ a candidate #ith ,oth the technical s)ills and the mana$erial expertise necessary for the position of chief pro$rammer is a diffic.lt tas)& E1.ally as diffic.lt are the chances of findin$ someone #ith e1.i-alent )no#led$e to act as a safety net for the project& 'astly/ fillin$ positions of pro$rammin$ secretaries is an added challen$e/ as the position re1.ires enormo.s amo.nts of paper#or)/ a tas) not hi$hly fa-ored& The Project (ana$ement Approach The democratic/ chief pro$rammer/ and project mana$ement approaches to#ards
9

Employed for the first time ,y IB( in 8E!8/ the chief pro$rammer concept lead the 6e# Ior) Times project to a.tomate the clippin$ file containin$ a,stracts and articles .sed as a reference ,an) for reporters and other 6I Times staff&

9< soft#are en$ineerin$ all ,oast ad-anta$es& Altho.$h each of these approaches may ,e extremely prod.cti-e in their o#n ri$ht/ none are fla#less& +or example/ the chief pro$rammer approach may dele$ate too m.ch responsi,ility to the chief& HeBshe is expected to control all technical and mana$erial iss.es/ a tas) too o-er#helmin$ for one person to handle& Conflicts of interest may arise ,et#een team mem,ers and dampen inte$rity thro.$ho.t the project& %i-idin$ the d.ties of the chief pro$rammer to separate indi-id.als alle-iates the concerns in the aforementioned sit.ation& In this manner/ a team leader has sole responsi,ility for technical iss.es& In conj.nction/ a team mana$er handles ,.d$etary/ le$al iss.es/ and performance re-ie#s& Af importance is that this str.ct.re still adheres to the f.ndamental mana$erial principle that employees report to only one mana$er& +or s.ccess in this approach/ solid relationships ,et#een team mem,ers and hi$her mana$ement are -ital& +or instance/ an employee re1.estin$ a personal lea-e of a,sence may ,e more li)ely to ha-e the re1.est $ranted if solid ties #ith mana$ement exist& Altho.$h/ if the project is close to completion and this employee is an inte$ral part of the project/ team mana$ers may ,e less li)ely to a$ree& Here/ .pper le-el mana$ement needs esta,lished policies for dealin$ #ith decisions #hen m.lti-le-el mana$ers exist& The aforementioned approach is not #itho.t potential fa.lts& The s.ccess of team or$ani0ation depends on the re1.irements for the c.rrent project/ pre-io.s experience #ith -ario.s team str.ct.res/ and the -ision of the heads of the or$ani0ation& Each project -aries from ones in the past& Therefore/ the most important asset a leader can ha-e is the a,ility to adj.st and impro-ise #ith e-ery step& 6o one can predict ho# a project #ill r.n most efficientlyH the only thin$ one can safely predict is that ad-ersity #ill rise alon$ the #ay and m.st ,e o-ercome& A mana$er or $ro.p of mana$ers #or)in$ to$ether #ith the entire soft#are en$ineerin$ team to o-ercome o,stacles they face is the most optimal characteristic of mana$ers capa,le of leadin$ teams to project s.ccess& Additional Approaches Synchroni0e and sta,ili0e teams ha-e pro-en s.ccessf.l at the (icrosoft Corporation& This approach lends itself to#ards lar$e projects& +or example/ 7indo#s 9<<< consists of 3<

98 million lines of code ,.ilt ,y o-er 3<<< pro$rammers and testers& +or this method to ,ecome s.ccessf.l/ team or$ani0ation is essential& Three or fo.r of the se1.ential ,.ilds of the synchroni0e and sta,ili0e model are constr.cted ,y a n.m,er of parallel teams/ led ,y a pro$ram mana$er and consistin$ of ,et#een three and ei$ht de-elopers as #ell as three to ei$ht testers all #or)in$ in conj.nction& The team is ,riefed #ith the o-erall $oal/ and then the $ro.ps are assi$ned specific parts of the project& Here/ mem,ers are free to code .sin$ their specific styles and techni1.es& At the concl.sion of the day/ the partially completed proced.res are tested and de,.$$ed/ #hile facilitatin$ indi-id.al creati-ity and a.tonomy #ith short and lon$-term $oals al#ays in mind& The stren$th of this techni1.e lies in the a,ility to allo# the pro$rammers to inte$rate personal creati-ity& Pro$rammers are capa,le of codin$ in any means feasi,le pro-ided the final code is compliant #ith all the other parts& Ho#e-er/ if a ,.$ does occ.r this error m.st ,e corrected #ithin a one-day period& This p.ts tremendo.s press.re on pro$rammers #ith code pro,lems and often in-ol-es 8 - to 8D-ho.r #or)days& 7itho.t correctin$ the pro,lem/ the entire approach and f.rther de-elopment #o.ld ,e delayed/ $i-en the ideolo$y that if one mo-es for#ard/ all mo-e for#ard& This method/ altho.$h -ery effecti-e for (icrosoft/ is often coined as the hac)ers methodolo$y& 7ith a loose-r.le philosophy set in place/ pro-idin$ short and lon$-term $oals are met/ m.ch slac) is left in the middle& This methodolo$y is prod.cti-e for a lar$e prod.ct de-eloped ,y a company #ith many reso.rces& Aften/ it pro-es to time cons.min$ and financially drainin$ for small and medi.m si0e projects and de-elopers& +ecommendation for BACH The 1.ality of the soft#are de-elopment teams or$ani0ation is directly related to the 1.ality of the finished prod.ct& +or this reason/ the potential dra#,ac)s of the democratic and chief pro$rammer approaches o.t#ei$h the possi,le ,enefits& Ho#e-er/ ,y employin$ a some#hat ,lended style/ consistin$ of the ,est 1.alities from ,oth styles/ the Broadlands Area Childrens Hospital can help ascertain a $ood de$ree of #or)a,ility #ithin the final -ersion of the prod.ct& Separatin$ the mana$erial and technical aspects of the project/ and

99 assi$nin$ them to different mem,ers/ s.ch as a team mana$er and team leader respecti-ely/ can accomplish this& By dele$atin$ these d.ties to separate team mem,ers/ the BACH can sol-e many diffic.lties .ni1.e to their sit.ation& B.d$et iss.es are an o,-io.s concern of the BACH/ as each departments finances are comp.ted independently of one another/ yet all dra# from the same pool of reso.rces& The intricacies of this sit.ation #o.ld $reatly ,enefit if one team mem,er #ere a,le to concentrate hisBher s)ills solely on mana$erial matters& +inancial iss.es are not the only non-technical topics on-hand/ ho#e-er& %ata o#nership and access are )ey s.,jects as #ell& (edical records are notorio.sly hard to $ain access to/ d.e to the nat.re of the information/ and it #o.ld ,e a $reat ,oon to ha-e someone free to research these details& Additionally/ this person #o.ld ,e a,le to determine #here exactly records are stored/ if not at the main medical facilities& Technical details/ on the other hand/ co.ld ,e handled more easily/ as the leader #o.ld not ,e ,o$$ed do#n ,y secondary project elements& Some dra#,ac)s remain/ e-en #ith this form of team or$ani0ation& +oremost/ this method of team formation is .ntested in nat.re& (any of the ,enefits disc.ssed are theoretical/ and may not come to fr.ition& (oreo-er/ this method may ,e expensi-e/ as it re1.ires hirin$ t#o experts in their respecti-e fields& Therefore/ teams may de$rade into an o-erly expensi-e -ersion of a more simple form of team or$ani0ation& Concl-din% +emar7s %emonstration of these -ario.s methods of team or$ani0ation helps to re-eal the applica,ility of each approach& Explanations of the democratic team approach/ the chief pro$rammer approach/ and others $i-e #ay to examples of respecti-e ad-anta$es and disad-anta$es& As al#ays/ the decision to apply any method hin$es on the details characteristic of that partic.lar project& 4nderstandin$ $ro.p dynamics plays a critical role in determinin$ an appropriate team approach& Ho#e-er/ #hen $ro.p dynamics are not )no#n/ as is the case #ithin ne#ly formed teams/ findin$ a s.ita,le team approach may ,e a trial-and-error process/ re1.irin$ open and honest inp.t from all mem,ers in effort to stri)e the ,est techni1.e&

93

Soft are Engineering: Anal'sis and !e"elopment %ethods


Pro6lem Statement Similar to other en$ineerin$ disciplines/ soft#are en$ineers re1.ire methods and tools for assistance in projects& Fario.s types of tools #ith special p.rposes transcend these many di-isions of en$ineerin$& Analytical tools and soft#are tools are t#o $ro.ps specific to soft#are en$ineerin$& Analytical tools s.pport soft#are de-elopment processes/ s.ch as determinin$ the cost effecti-eness of partic.lar projects& These tools deal #ith the theoretical aspects of projects& Soft#are tools/ on the contrary/ assist the en$ineerin$ teams #ith the act.al de-elopment/ inte$ration/ and maintenance of soft#are systems& These comp.ter-aided soft#are en$ineerin$ tools/ CASE for short/ ser-e a -ariety of p.rposes incl.din$ mana$in$ specifications and so.rce code& 4tili0ation of these tools is not mandatory/ ho#e-er/ .sa$e is ,eneficial and hi$hly recommended& 4pon initial examination of the project/ it is .p to the en$ineerin$ team to decide #hich tools/ if any/ are s.ita,le for the present sit.ation& The follo#in$ chapter examines a n.m,er of theoretical and CASE tools/ .ses and potential ,enefits/ and concl.des #ith recommendations of tools applica,le to the Child-Parent Extension case& Con.entional En%ineerin% (ethods Step#ise *efinement Step#ise refinement offers the first analytical tool for soft#are en$ineers to .tili0e& As the name re-eals/ this is a pro,lem sol-in$ process aimed at ma)in$ refinements to a soft#are project thro.$h a series of steps or le-els& A ,asic ad-anta$e of this tool is that de-elopers can apply it to -ario.s sta$es thro.$ho.t the life cycle model/ from specification to inte$ration& Iet/ the real si$nificance of this techni1.e is its fo.ndation in (illers la#& In his #or) entitled The Magical Number Seven, Plus or Minus Two: Some Limits on Our Capacit !or Processing "n!ormation/ 5& A& (iller proposes that/ at most/ h.mans can foc.s on se-en ch.n)s of data/ pl.s or min.s t#o ch.n)s 28< 3& Any ch.n)s of information in excess of these constraints in all li)elihood #ill not ,e processed andBor retained correctly&

9C A,-io.sly/ de-elopin$ soft#are re1.ires foc.sin$ attention on many more than se-en ch.n)s of information& This is #here the repetiti-e steps and refinements play inte$ral parts& This theoretical tool ,rea)s soft#are de-elopment into se-eral smaller and more mana$ea,le $ro.ps of information/ each of #hich allo#s soft#are en$ineers to concentrate on the se-en most critical ch.n)s of data pertainin$ to that partic.lar process& 4pon completion of each tas)/ en$ineers thoro.$hly chec) each refinement ,efore en$a$in$ in the next step& By follo#in$ this method if team mem,ers disco-er any fa.lts/ it re1.ires en$ineers only to re-ert to the pre-io.s refinement to correct pro,lem areas/ instead of ret.rnin$ to the ,e$innin$ of the process& As stated/ step#ise refinement is applica,le to any phase of soft#are de-elopment& This is an important feat.re ,eca.se it ena,les a soft#are team to employ this partic.lar tool thro.$ho.t the entire life cycle/ not j.st to limited areas& 6at.rally/ the more de-elopers .se the techni1.e d.rin$ the life cycle/ the more s)illed they #ill ,ecome .sin$ it/ precipitatin$ ,enefits thro.$ho.t the process& In relation to the CPE case/ the contin.al refinement nat.re of this tool #ill ena,le the soft#are team to detect and correct fa.lts 1.ic)ly/ th.s pre-entin$ defects from sno#,allin$ thro.$h the entire pro$ram and dama$in$ the res.lts& +.rthermore/ a $ood soft#are en$ineer reali0es that time e1.als money and the farther into a project that a mista)e penetrates/ the more costly it ,ecomes to fix& Therefore/ any tool that can sa-e time/ s.ch as assistin$ in detectin$ and correctin$ errors early/ #ill .ndo.,tedly sa-e money& Cost Benefit Analysis Comparin$ estimated f.t.re ,enefits a$ainst projected f.t.re costs is one method of determinin$ the profita,ility of partic.lar decisions/ and s.ch a process is termed cost ,enefit analysis& Ho#e-er/ not e-erythin$ can ,e 1.antified in n.meric -al.es& A mana$erial cons.ltant can estimate salary sa-in$s/ an acco.ntant can project cash flo# impro-ements/ and a soft#are en$ineerin$ cons.ltant can estimate the costs of hard#are/ soft#are and associated con-ersion costs& Iet/ ho# can mana$ement acc.rately predict the interactions ,et#een employees dealin$ #ith technolo$ical chan$es? Ho# does mana$ement portray o-erall company attit.des to#ard ne# technolo$y in n.m,ers?

9; +rom this sit.ation/ man$ers no# ha-e to ma)e ass.mptions& These ass.mptions m.st al#ays ,e stated in conj.nction #ith the res.ltin$ estimates of the ,enefits& If no data is readily a-aila,le/ ma)in$ ass.mptions from #hich s.ch data can ,e determined is recommended& Cost ,enefit analysis is a po#erf.l analysis tool to initiate if a company #ished to ma)e a strate$ic chan$e re$ardin$ c.rrent technolo$y& These -al.es are $enerally non-,iased and are concrete representations of the o-erall sit.ation& Soft#are (etrics G.antifyin$ information #ithin the realm of soft#are en$ineerin$ is critical& Altho.$h not e-erythin$ can translate directly to n.meric -al.es/ the information that can pro-es .sef.l in many #ays& (ana$ement can meas.re the efficiency of employees and compare ho.rs #or)ed per employee to their respected o.tp.t& Technical ad-isories .tili0e percenta$e le-els of ,.$s or defects and perhaps staff more personnel on a partic.lar part of the soft#are en$ineerin$ process& 'ines of code/ 'AC/ meas.re the si0e of a prod.ct #ith meas.rements at re$.lar inter-als/ allo#in$ mana$ers to analy0e ho# fast the project is pro$ressin$& Ho#e-er/ if a pro$rammer codes C<<< lines/ and 8;<< lines are erroneo.s/ the 'AC model alone is not s.ccessf.l& This model and all that follo# are ,est .tili0ed in conj.nction #ith one another& Prod.ct metrics meas.re some aspect relatin$ directly to the prod.ct/ s.ch as a-era$e time ,et#een soft#are fail.res& Con-ersely/ process metrics analy0e information relatin$ to the soft#are process& A common process metric may compare the n.m,er of fa.lts detected d.rin$ de-elopment to the total n.m,er of fa.lts detected o-er the co.rse of the prod.cts life cycle& Selectin$ an appropriate mix of prod.ct and process metrics ,enefits soft#are en$ineers/ allo#in$ teams to contin.ally monitor the process of projects and $reatly enhance the o-erall 1.ality of prod.cts& It is important to note that metrics are often limited to a $i-en phase thro.$ho.t the soft#are de-elopment process& +or example/ a metric that calc.lates lines of code simply cannot ,e .tili0ed in a desi$n or specification phase& Therefore/ information m.st ,e analy0ed immediately ,efore mo-in$ on to the next step& This process in-ol-es employeesBcontractors o.tside of the de-elopment process to prod.ce s.ch .sef.l statistics&

9 Ho#e-er/ to complete this at the end of e-ery phase d.rin$ the ,irth of soft#are pac)a$e pro-es to ,e expensi-e and time cons.min$& Bearin$ this in mind/ there are fi-e f.ndamental metrics recommended for a soft#are or$ani0ation= 8& 9& 3& C& ;& Si0e 2in 'AC3 Cost 2in dollars3 %.ration 2in months3 Effort 2in person-months3 G.ality 2n.m,er of ,.$s detected3

As mentioned/ each of these metrics are meas.red and analy0ed in their respecti-e phases and #ill hopef.lly identify any pro,lems in the life cycle& If a pro,lem is detected/ en$ineers may not ha-e not pro$ressed any farther into soft#are life cycle/ pre-entin$ errors from precipitatin$ thro.$h the entire process/ and th.s ena,lin$ timely repairs& The recommended metrics a,o-e are f.ndamental and non-specific& Therefore/ to capitali0e on .sin$ s.ch tools/ proper selection and c.stomi0ation of specific tools is necessary/ $i-en that e-ery soft#are process has its o#n .ni1.e characteristics& Comp.ter-Aided Soft#are En$ineerin$ CASE 2comp.ter aided soft#are en$ineerin$3 tools are commonly .sed to aid modern en$ineers in the de-elopment of soft#are pac)a$es/ #hile ha-in$ the characteristics of soft#are themsel-es& These tools often ta)e the form of a.tomated/ comp.ter-,ased soft#are/ and are separated into t#o distinct cate$ories= 4pper and 'o#er CASE tools& 4pper/ or front-end/ CASE pac)a$es normally deal #ith desi$n and analysis& 'o#er CASE tools/ sometimes referred to as ,ac)-end CASE/ are primarily concerned #ith the composition of comp.ter lan$.a$e& These tools can encompass the #hole of the soft#are lifecycle/ impartin$ data/ and freein$ -al.a,le time to those #or)in$ on the project& Besides the assistance CASE tools pro-ide/ they also $i-e pro$rammers a simple en-ironment in #hich to pro$ram& These str.ct.re editors perform -ario.s f.nctions/ from de,.$$in$ to doc.mentation/ li$htenin$ the #or)load of soft#are en$ineers drastically/ ma)in$ it easier to implement ideas& In theory/ this sho.ld res.lt in fe#er codin$ mista)es/ and completion of the project in a shorter amo.nt of time/ there,y impro-in$ morale amon$ team mem,ers&

9! Soft#are Fersions As technolo$y pro$resses/ soft#are often .nder$oes modifications/ ,oth in desi$n and capa,ilities& Soft#are En$ineers refer to these amendments as soft#are -ersions/ and may .se the term synonymo.sly #ith the term >,.ild&@ Soft#are -ersions/ li)e CASE tools/ are separated into t#o cate$ories= re-isions and -ariations& *e-isions are $enerally smaller chan$es/ .s.ally made a-aila,le to those #ho p.rchase soft#are #itho.t char$e& These alterations are employed to correct ,asic pro,lems in soft#are/ pro,lems that sho.ld not exist& The perfecti-e and adapti-e lifecycle sta$es are .s.ally responsi,le for re-isions/ as the soft#are pac)a$es may not ha-e reached f.ll mat.rity ,y this point& Con-ersely/ -ariations are completely ne# editions of soft#are& Altho.$h they may ,e ,ased on the same desi$n/ technolo$y/ code/ or en$ines/ these lar$er chan$es are .s.ally implemented to compensate for -ario.s hard#are or operatin$ system capa,ilities& Confi$.ration (ana$ement To increase efficiency/ CPE #ill ha-e to assi$n more than one en$ineer to the tas) of re-isin$ and .pdatin$ the pro$ram& This presents a pro,lemH #ith de-elopers sim.ltaneo.sly chan$in$ the code/ inconsistencies in the -ersions #ill arise& They #ill need to .se a -ersion control tool to pre-ent this& Ane possi,ility is to assi$n t#o names to each file/ the file name and the re-ision n.m,er& After implementin$ the -ersion control tool/ a deri-ation of e-ery -ersion created m.st ,e made& This tool can mana$e m.ltiple -ersion of the prod.ct as lon$ as there is more than one in placeH fa.lts fo.nd in different mod.les may ,e common to each other& Baselines are a necessary component of -ersion control/ as they are a set of -ersions of all c.rrent soft#are mod.les& They do not allo# sim.ltaneo.sly re-isin$ of the soft#are& A pro$rammer #ho #ishes to fix a fa.lt free0es the c.rrent -ersion of the prod.ct so that heBshe has sole access& Ance finished/ the soft#are is .pdated/ ,ecomin$ the next ,aseline -ersion& Pre-io.s -ersions are still fro0en/ as they may ,e needed at a later time& Confi$.ration control is needed in se-eral phases incl.din$ implementation and inte$ration/ th.s helpin$ CPE ens.re a controlla,le fa.lt correction process&

9D Ather Applica,le En$ineerin$ Tools In the case that CPE does not ha-e the ,.d$et for an expensi-e confi$.ration control tool/ they m.st employ a ,.ild tool/ #hich helps choose the correct -ersion of each mod.le to ,e lin)ed to the c.rrent -ersion of the prod.ct& In the interest of time/ #hich can ,e #asted if the soft#are is compiled ni$htly/ they may .se the ma#e tool& It assi$ns a time stamp to e-ery file in e-ery mod.le& This stamp is then compared #ith the time stamp on the exec.ta,le load ima$eH if any files stamp is later than that of the load ima$e/ the ima$e is .pdated to acco.nt for the recent chan$es& 5i-en the si0e of the soft#are needed ,y CPE/ there #ill ,e a n.m,er of en$ineers on the project& Ma#e tools allo# for correct and efficient assem,ly of a pro$ram/ irrespecti-e of .pdates performed& Concl-din% +emar7s Altho.$h the aforementioned analytical and soft#are tools are not re1.ired in the soft#are de-elopment lifecycle/ )no#led$ea,le soft#are en$ineers .nderstand the ,enefits s.ch tools pro-ide #hen correctly applied& %eterminin$ an appropriate mix of tools depends on the specifics of the project at hand/ and re1.ires solid .nderstandin$ on the part of en$ineers to )no# #hen and ho# to in-o)e the chosen tools& Specific to the CPE case/ performin$ a cost-,enefit analysis is a necessity& In fact/ it sho.ld ,e a re1.irement for all projects ,eca.se it $i-es clear ans#ers re$ardin$ #hich projects and decisions sho.ld ,e p.rs.ed& Its ease of .se and pop.larity in the ,.siness #orld are attracti-e for any soft#are team& Step#ise refinement is another important tool CPE sho.ld incorporate& This method pro-ides systematic and controlled means of dealin$ #ith separate/ more mana$ea,le tas)s and allo#s en$ineers to deal #ith details most important to that partic.lar tas) at that partic.lar time& (etrics are also -ital for prod.cin$ the ,est prod.ct possi,le& A$ain/ -arieties of prod.ct and process metrics exist so de-elopment teams sho.ld tailor their selection to the re1.irements of the pro$ram& Comp.ter-aided tools sho.ld also ,e considered as they help mana$e tedio.s tas)s li)e specifications and doc.mentation& Ho#e-er/ en$ineers sho.ld not ass.me that CASE tools #o.ld necessarily aid in the de-elopment life cycle/ as the act.al applica,ility and effecti-eness of s.ch tools depends on the scope and indi-id.al re1.irements of projects&

9E

Soft are Engineering: &esting


Pro6lem Statement Ane of the most important/ if not the most important/ aspects of soft#are en$ineerin$ is testin$& Stressed hea-ily thro.$ho.t the entire discipline/ testin$ is a -ital component of soft#are en$ineerin$ that ma)es or ,rea)s projects& *ecallin$ the soft#are de-elopment life cycle models/ none of the methods allocates a specific phase to#ards testin$& Instead/ pr.dent soft#are de-elopers contin.o.sly implement testin$ d.rin$ e-ery phase/ from re1.irements to maintenance/ re$ardless of #hich model is chosen& 7hile s.ch contin.o.s testin$ appears red.ndant and costly at first/ the ,enefits 1.ic)ly j.stify the necessity and o.t#ei$h any additional expenses& Soft#are desi$ners f.ndamentally .nderstand that the lon$er errors $o .ndetected/ the more diffic.lt and costly they ,ecome to fix& 4nco-erin$ a fa.lt in the inte$ration phase may ,e catastrophic and force a project re-#rite entirely from scratch& Ho#e-er/ ,y esta,lishin$ thoro.$h testin$ methods in e-ery aspect of de-elopment en$ineers ha-e ,etter chances of locatin$ and correctin$ errors in earlier sta$es& In effort to de-elop the hi$hest 1.ality information system for the Child-Parent Extension/ the soft#are team needs to implement strict testin$ standards that #ill carry thro.$h the entire life cycle& As #ith se-eral other areas of soft#are de-elopment/ -ario.s methods of testin$ exist #ith characteristics s.ita,le for differin$ circ.mstances& 6onexec.tin$-,ased testin$ and exec.tin$-,ased testin$ are primary processes for soft#are 1.ality ass.rance testin$/ each ha-in$ respecti-e methods of re-ie#s and examinations& A$ain/ en$ineers sho.ld e-al.ate #hich methods to .tili0e ,ased on the specific re1.irements of the or$ani0ation& The s.,se1.ent chapter offers insi$ht into the -ario.s forms of testin$ a-aila,le to the Broadlands case& 8-ality Ass-rance 6onexec.tion-Based Testin$ %e-elopers for CPE ha-e t#o options #hen choosin$ a non-exec.tion ,ased testin$ proced.re for the data,ase= #al)thro.$hs and inspections& The first option of #al)thro.$hs

3< consists of teams of fo.r to six people/ #here ideally each mem,er represents a specific part of the process& This partic.lar acti-ity in-ol-es t#o steps/ a preparation and the doc.ment analysis& The Soft#are G.ality Ass.rance representati-e leads the team thro.$h the doc.ment and fosters disc.ssion& +a.lts that appear are merely doc.mented at this sta$e and are not fixed& The sole p.rpose of the #al)thro.$h is detection/ not correction& +ixin$ fa.lts in this sta$e co.ld ,e detrimental to the projectH the fix co.ld ,e inferior andBor m.ch more expensi-e& In addition/ there is .s.ally not eno.$h time to detect fa.lts and correct them acc.rately& The #al)thro.$h can ,e participant-dri-en or doc.ment-dri-en/ the latter recommended ,y the IEEE& The second nonexec.tion-,ased testin$ option is an inspection& In this case/ teams of fi-e people are recommended/ #ith a sin$le mem,er appointed as the leader or moderator& There are fi-e specific steps in this proced.re= an o-er-ie#/ preparation/ the act.al inspection/ re#or)/ and the follo#-.p/ #ith each step formally doc.mented& The person responsi,le for prod.cin$ the doc.ment in 1.estion $i-es an overview of the doc.ment to the inspection team& The team then tries to .nderstand the doc.ment f.lly in the preparation sta$e& Then the inspection ,e$insH after re-ie#in$ the doc.ment once a$ain/ the team attempts to detect any fa.lts& The $oal of the inspection is similar to that of the #al)thro.$h/ #ith the emphasis on fa.lt detection as opposed to fa.lt correction& The moderator then prepares a report of satisfactory and thoro.$h #or)& 6ext/ the doc.ment creator resol-es all the pro,lems fo.nd in the rewor# sta$e& 'astly/ the moderator performs a !ollow$up/ -erifyin$ that e-ery fa.lt pre-io.sly detected has ,een resol-ed& This pro-es m.ch more thoro.$h than a #al)thro.$h partly ,eca.se of an important chec)list of potential fa.lts& The errors are also cate$ori0ed and doc.mented& Tho.$h inspections are more time-cons.min$/ they pro-e more effecti-e and efficient& +or ,oth proced.res/ there is a ca-eatH the SGA team m.st ,e extremely caref.l not to .se the testin$ as a personnel e-al.ation& Any information andBor statistics $athered from the fa.lts detected and the rapidity and s.ccessf.lness of #hich detection occ.rs can potentially ,e mis.sed to assess the competency of the de-elopers& This is ,y no means an

38 intended res.lt of the process and care sho.ld ,e ta)en to a-oid s.ch circ.mstances from occ.rrin$& Exec.tion-Based Testin$ The follo#in$ definition of testin$ refers to >,eha-ioral properties&@ Ho#e-er/ determinin$ #hat properties are most rele-ant depends .pon each indi-id.al sit.ation& A-er simplification #o.ld ,e to test o-erall correctness& Iet/ simply testin$ pro$ram correctness may often ,e decei-in$& Altho.$h a pro$ram technically may f.nction correctly/ this does not necessarily imply it also operates #ith complete efficiency and effecti-eness& Therefore/ in effort to ma)e exec.tion testin$ more rep.ta,le and relia,le/ the process is ,ro)en do#n into the fo.r follo#in$ cate$ories of .tility/ relia,ility/ ro,.stness and performance& 4tility is the extent to #hich .sers needs are met #hen a correct prod.ct operates .nder conditions permitted ,y its specifications& +or example/ .sers may test the prod.cts ease of .se/ #hether the prod.ct performs .sef.l f.nctions/ and #hether the prod.ct is cost effecti-e compared to competin$ prod.cts& *e$ardless of a prod.cts correctness/ s.ch a ran$e of aspects m.st ,e tested& If a prod.ct is hard to na-i$ate/ it #ill pro-ide little ,enefit/ if any at all& Therefore/ the .tility of a prod.ct sho.ld ,e tested first& If the prod.ct fails on that initial testin$ aspect/ testin$ sho.ld cease& *elia,ility is a meas.re of the fre1.ency and criticality of prod.ct fail.re/ an .naccepta,le effect or ,eha-ior/ .nder permissi,le operatin$ conditions/ that occ.rs as a conse1.ence of a fa.lt& Statistical analysis of ho# often the prod.ct fails/ a-era$e time ,et#een fail.res/ and ho# it affects the system are critical comp.tations to ,e examined& In addition/ a-era$e time to repair a fail.re is sometimes re$arded as a more cr.cial statistic& If the prod.ct fails monthly #hen r.nnin$ patient reports for the state/ it is not an operation haltin$ error& Ho#e-er/ if correctin$ the error ta)es a si$nificant amo.nt of time/ ro.tine ,.siness operations may ,e se-erely affected& The scope of a prod.cts ro,.stness encompasses a ,roader ran$e& +actors incl.de the ran$e of operatin$ conditions/ the possi,ility of .naccepta,le res.lts #ith -alid inp.t and the accepta,ility of effects #hen the prod.ct is $i-en in-alid inp.t& 5reater le-els of

39 compati,le and accepta,le operatin$ conditions ma)e the prod.ct more ro,.st& 7hen inp.t satisfies specifications/ it sho.ld not yield .naccepta,le res.lts& A ro,.st prod.ct sho.ld not crash #hen .sed .nder non-compliant conditions& Instead/ the pro$ram sho.ld prompt the .ser for corrections #hen in-alid inp.t is initially detected& %etailed messa$es and specific actions necessary to correct erroneo.s data add to the ro,.stness of prod.cts& Performance meas.res the extent to #hich pro$rams meet specific constraints re$ardin$ response time or space re1.irements& This testin$ proced.re is extremely critical #ith certain soft#are pac)a$es& A mainframe that periodically times o.t d.e to ins.fficient amo.nts of memory #hen processin$ end of #ee) reports ine-ita,ly affect the performance of employees& 7ith real time systems/ performance metrics m.st meet e-ery time constraint listed in the specifications or all processin$ #ill ,e interr.pted/ possi,ly leadin$ to drastic conse1.ences dependin$ on #hat type of system has failed& After explanation of the aforementioned characteristics of testin$/ the correctness of a prod.ct may no# ,e explained in clearer terms& A prod.ct is correct if it satisfies its o.tp.t specifications/ independent of its .se of comp.tin$ reso.rces/ #hen operated .nder permitted conditions& Ho#e-er/ it is extremely important to .nderstand that this definition/ and th.s the correctness of a prod.ct/ ass.mes that all specifications listed are .nderstood and acc.rate to the specific project& +ecommendations for BACH G.ality Ass.rance plays a -ital role in ens.rin$ s.ccess of soft#are en$ineerin$ projects thro.$ho.t the ind.stry& Therefore/ proper testin$ of the soft#are at the Broadlands Area Childrens Hospital is a )ey component to ,e disc.ssed& Analysis of the information systems for the Child-Parent Extension at the Hospital sho.ld consist of fi-e separate testin$ areas= .tility/ relia,ility/ ro,.stness/ performance/ and correctness& These 1.alities are more commonly referred to as ,eha-ioral properties and examination of the f.ll spectr.m of these properties helps to ascertain the 1.ality of the prod.ct& 4tility/ the meas.re of the de$ree to #hich .sers needs are ,ein$ met/ can ,e tested thro.$h the .se of a #al)thro.$h& By .tili0in$ the #al)thro.$h method/ a team 2consistin$ of .sers and en$ineers3 can r.n thro.$h feat.res and potential a,sences of needed

33 feat.res& This is an extremely important characteristic since sometimes en$ineers and pro$rammers misinterpret the re1.irements they are $i-en& +.rthermore/ the de-elopers #ill ,e in a ,etter position to explain any extra feat.res that they ha-e implemented/ #itho.t direction from the .sers or clients& 7al)thro.$hs are preferred o-er inspections at this point/ as the .sers #ill not ha-e a concrete idea of #hat to expect from the pro$ram at this point& *elia,ility meas.res fa.lts/ ,.t .nli)e the other feat.res/ it meas.res the re$.larity and se-erity of soft#are $litches& The special nat.re of this testin$ area re1.ires an experienced team to acc.rately doc.ment fail.res and the nat.re of said fail.res& Since the team in-ol-ed #ith the GA of this section sho.ld ,e experienced/ it may ,e a ,etter idea to employ an inspection rather than a #al)thro.$h& Inspections are ideal for detectin$ fa.lts/ and therefore ideal for this sta$e of testin$& Inspection processes can also ,e effecti-ely applied for meas.rement of ro,.stness& 7hereas .tility appraises .ser needs/ and relia,ility e-al.ates fre1.ency of fa.lts/ ro,.stness is responsi,le for meas.rin$ an assortment of feat.res& Aperatin$ conditions/ incorrect o.tp.ts/ and effect accepta,ility are all examples that fall .nder the .m,rella of ro,.stness& The sheer n.m,ers of different .tilities that are in this cate$ory ma)e a lon$er testin$ process a #ise choice/ as these pro,lems co.ld mat.re into lar$er diffic.lties if not ca.$ht and resol-ed early& The constraints of reality on pro$rammin$ ma)e performance testin$ a necessity& *e$ardless of the 1.ality of the soft#are code/ if pro$rams cannot fit in the technolo$ical re1.irements/ the project #ill ,e for na.$ht& %espite the ran$e of re1.irements on home comp.ters/ the limitations for the CPE sho.ld ,e standard and #ell )no#n& Therefore/ a less thoro.$h #al)thro.$h #o.ld ,e appropriate& 'ast/ a meas.re of correctness is needed for the project& Correctness see)s to 1.antify ho# #ell the soft#are prod.ces o.tp.t re1.irements& It does not/ ho#e-er/ criti1.e or impro-e .pon the specifications themsel-es/ meanin$ the meas.res of correctness do not ha-e to ,e o-erly intricate/ as they sho.ld only see) to chec) -alidity of res.lts& Therefore/ the #al)thro.$h sho.ld s.ffice for this portion of the prod.ct&

3C Concl-din% +emar7s This chapter has explored the concept of testin$ and se-eral aspects that comprise the process& The most important detail to .nderstand is that testin$ is not a specific and separate phase that occ.rs se1.entially d.rin$ the soft#are de-elopment life cycle& *ather/ testin$ is somethin$ that occ.rs thro.$ho.t the entire life cycle d.rin$ each sta$e& Explanations #ere then $i-en re$ardin$ differin$ methods of testin$/ namely nonexec.tionand exec.tion-,ased testin$& Each method offers respecti-e ,enefits and sho.ld ,e considered and .tili0ed #hene-er possi,le& Based .pon the c.rrent circ.mstances/ recommendations #ere made for testin$ methods that may appropriately s.it the ChildParent Extension project& In ,rief/ altho.$h specific recommendations ha-e ,een made/ testin$ sho.ld not ,e limited a fe# s.$$estions and sho.ld ,e contin.ally refined and impro-ed .pon thro.$ho.t soft#are de-elopment&

3;

!e"eloping a Rapid Protot'pe


Pro6lem Statement *apid prototypin$ is a near-essential step in creatin$ a s.ccessf.l piece of soft#are& A prototype of this nat.re is $enerated as 1.ic)ly as possi,le/ and is desi$ned to hi$hli$ht the ,asic feat.res of the pro$ram to clients& 7hile this may excl.de the more ad-anced elements of the soft#are/ it permits patrons to o,ser-e the pro$ress of the en$ineerin$ team& It also presents the client #ith the opport.nity to offer inp.t and/ if necessary/ alter the co.rse of the project& This may ,e especially important to the Broadlands Area Childrens Hospital/ d.e to the nat.re of the en-ironment& Hospital employees operate in a .ni1.e ind.stry/ and may possess )no#led$e that #o.ld not other#ise ,e readily a-aila,le to the en$ineerin$ staff& The thr.st of this partic.lar prototype sho.ld ,e to flesh o.t the relationships ,et#een the employees/ -isitors/ patients/ and their respecti-e pro$rams& +.rthermore/ the soft#are en$ineers sho.ld do their ,est to ens.re that data inte$rity is maintained& Ane relati-ely simple method of ascertainin$ this inte$rity is to -erify that each ta,le in the data,ase has a .ni1.e identifier/ )no#n as a )ey& These )eys sho.ld correctly refer to the correspondin$ ta,les in the data,ase/ thro.$h one-to-one or one-to-many relationships& In doin$ so/ ,oth clients and en$ineers sho.ld $ain insi$hts a,o.t the processes inherent in each of their fields/ there,y helpin$ to achie-e the ,est res.lts& CPEs +apid Prototype See Appendix& Concl-din% +emar7s The rapid prototype of the Broadlands Area Childrens Hospital esta,lishes clear relationships ,et#een the -ario.s components of the three pro$rams r.n ,y the staff& It pro-ides .sers #ith -ario.s forms ,y #hich they can add or modify data a,o.t patients/ parents/ staff/ -isits 2,oth parental and -ol.nteer3/ and $ifts& Additionally/ the data,ase also s.pplies the .ser #ith an easy-to-.se method to retrie-e data reports& These reports are a-aila,le for 7+/ :C/ and :C+ information/ in addition to -isitor information/ allo#in$ .sers to

3 ha-e 1.ic) and easy access to all accessi,le data& S.pplementin$ the ,asic feat.res are fail-safes em,edded into the pro$ram& *elationships are specifically defined/ .sin$ one-tomany relationships/ #hen re1.ired& This feat.re/ alon$ #ith the .se of m.ltiple )eys/ help ens.re that data remains .ncorr.pted& The res.lt is a some#hat r.dimentary/ yet -ery f.nctional/ architect.re desi$ned to emphasi0e the pro$ress and needs of the project&

3!

!e"eloping the !ata (lo


Pro6lem Statement

!iagrams

A data flo# dia$ram 2%+%3 is closely related to the rapid prototype/ for it is a $raphic portrayal of ho# data sho.ld mo-e thro.$ho.t the prototype& %.e to the potentially lar$e si0e of the %+%/ step#ise refinement is the primary approach to creatin$ the dia$ram& To identify the flo#s/ the dia$ram m.st consist of so.rces/ destinations/ processes/ and stores& So.rces and destinations are/ for the most part/ self-explanatory/ as this is #here data flo#s either ori$inate or arri-e& They are denoted ,y do.,le s1.are sym,ols& Processes are contained in ro.nded rectan$les/ and indicate a piece of the soft#are that transforms data& %ata stores/ represented ,y an open-ended rectan$le/ sto# data for f.t.re .se& These -ario.s points are connected #ith arro#s that specify the direction that data #ill tra-el& +rom this pictorial of the data flo#s/ soft#are en$ineers can more easily determine ho# modifications to the project #ill ta)e place& In this case/ the Broadlands Area Childrens Hospital may ha-e to employ se-eral different dia$rams to ade1.ately chart the data,ase that they see) to implement& Hopef.lly/ the time in-ested in creatin$ the charts #ill ,e offset ,y the ease at #hich f.t.re modifications #ill ,e made& This is especially important in a hospital settin$/ #here expansion is al#ays a potentiality& The &ata 3lo$ &ia%rams See Appendix& Concl-din% +emar7s The data flo# dia$rams of the Broadlands Area Childrens Hospital act as a do.,leed$ed s#ord/ as they sim.ltaneo.sly pro-ide t#o ser-ices& +irst/ they map o.t exactly #hat pro$ress has ,een made concernin$ the prototype& In ma)in$ the dia$ram/ en$ineers can $ain a ,etter idea of exactly #hat re1.irements ha-e ,een f.lfilled/ and #hat constraints are present #ithin their desi$ns& Second/ the %+% can act as a form of doc.mentation for f.t.re parties #ho #ish to modify the data,ase& These t#o characteristics im,.e the %+% #ith properties that may pro-e in-al.a,le to the soft#are en$ineerin$ team&

&he CPE Protot'pe S#reen Shots


The (ain S$itch6oard

4pon initial start.p of the CPE data,ase/ .sers are a.tomatically presented #ith the (ain S#itch,oard form& +rom this #indo#/ .sers may select -ario.s #ays in #hich they #ish to #or) #ith the data,ase pro$ram& This (ain S#itch,oard lin)s to se-eral other s#itch,oards/ ena,lin$ .sers to easily enter data .sin$ forms/ r.n pre-defined reports/ and sh.t do#n the data,ase& S#itch,oards may ,e easily modified/ allo#in$ for $reater flexi,ility and choice of options as the pro$ram contin.ally de-elops&

B &ata Entry 3orms

Pro$ram data may ,e entered into the system thro.$h either of t#o methods& The first method allo#s for data entry in #hat is called the %atasheet Fie#/ similar in format to that of a spreadsheet& The second/ more .ser-friendly method allo#s for data inp.t forms desi$ned thro.$h a series of steps and lin)ed directly to the appropriate data,ase ta,les& Sho#n a,o-e/ cloc)#ise from the lo#er left/ are the Patient/ Parent/ Staff/ and Fol.nteer forms& These forms allo# for simplified data entry .sin$ drop-do#n lists/ inp.t mas)s for streamlined formattin$/ and data -alidation r.les/ #hile also ena,lin$ 1.ic) -ie#in$ of records already entered&

C Parent Ta6le &atasheet 9ie$

As stated a,o-e/ data may ,e entered into the pro$ram .sin$ the %atasheet Fie# as depicted in this screen ima$e& This example sho#s the Parent ta,le in a datasheet -ie#& Altho.$h not as .ser-friendly as forms/ this method allo#s for -ie#in$ of se-eral records at once/ as #ell as any information in lin)ed ta,les/ depicted ,y the t#o records offset from the rest of the data&

% :ee 3riends +eport

The data,ase is capa,le of prod.cin$ infinite n.m,ers of reports ,ased on any information already recorded& *eports may ,e desi$ned a.tomatically or c.stom-desi$ned to incl.de data from se-eral ta,les& All pre-defined reports are $enerated ,ased on 1.eries/ #hich in t.rn r.n a$ainst selected ta,les& This ena,les reports to chan$e dynamically each time they are r.n/ .pdatin$ data that is added or modified in the pro$ram&

E 8-eries in &esi%n 9ie$ and S8' mode

This CPE pro$ram has a series of 1.eries already desi$ned/ mainly .sed to $enerate the reports explained in the pre-io.s screen shot& G.eries may ,e constr.cted a.tomatically/ in a desi$n -ie#/ or .sin$ the Str.ct.red G.ery 'an$.a$e 2SG'3 mode& The ima$e a,o-e sho#s a 1.ery desi$ned .sin$ SG' in the top #indo# and a 1.ery de-eloped in the desi$n -ie# sho#n in the ,ottom #indo#& %e-elopin$ 1.eries in the SG' mode re1.ires a solid .nderstandin$ of the SG' syntax& Con-ersely/ de-elopin$ 1.eries in the desi$n mode allo#s .sers to $raphically select the ta,les necessary/ specific fields to ,e 1.eried/ and allo#s for incl.sion of constraints to fields and #hether or not all fields selected necessitate appearin$ in the act.al res.lts&

!ata (lo

!iagrams

Context 'e.el

Context Diagram

Family

Allocated Resource s

Nurses

Information Request

Information Processed

Central Database
Information Request

Volunteer

Information Processed

Patient Informatio n

Administration

'e.el ;

Diagram +ero
Nurses Request for Patient $ifts #. Pro"ide Patient $ifts '. Create Volunteer !c(edule

Request for Patient !er"ices

$ift Information

1. Allocate Patient !er"ices

Financial Assistance Information

Family

Patients Requiring $ifts

!c(edul e

Patients Requiring Financial Assistance

Personal Volunteer Information

)AC*

Patient Information

%. &aintain !ystem Records Personal Information

Volunteers

'e.el *

Diagram 1.0

1.1P ,btain Patient Request Re-ort Patient Information !ystems Patient Request

Request Re-ort 1.#P Verify Patient Information 1..P !er"ices Allocate d Notify Families )udgetary Informatio n

Family

1.'P )udget Resources

Ne0slette r

1.%P Identify /ualified Candidates

Patient Financial !tatus

Ne0sletter

'e.el 1

Diagram 2.0
Nurses Request for Patient $ifts

#.1P ,btain $ift Request Form Patient Information

#.#P #.1P 2-date Information !atisfied $ift Request Verify Patient 4ligibility

Patient Information !ystems

$ift Information

#..P Notify Family Patient Financial !tatus

#.'P Collect $ift Information

#.%P $ift Family Information C(ec3 )udgetary Constraints $ift Descri-tion

$ift Ne0letter Information

'e.el

Diagram 3.0
Volunteer Requests Volunteer Visit Request

'.1P ,btain Volunteer Information Volunteer Informatio n

'.'P Notify Volunteers '.#P Create list of Volunteers and Patients Requiring !er"ices

!c(edul e !c(edul e !c(edul e Volunteers

'.%P 2-date Records

'e.el <

Diagram 4.0

Central Database !ystem

Patient Information Patient !er"ice Iinformation $ift Record Nurses

%.6P Record $ift Information

%.1P Collect Patient Information

Patient Requests for !er"ices

%.5P Pro"ide Patient !er"ices Requests !er"ice Requests

%.#P Collect !er"ice Requests

%.1P Pro"ide Volunteer Information Personal Volunteer Information

%.'P Volunteer Information Personal Volunteer Informatio n Volunteer Information

Volunteer Information Volunteer Visitor Request

Referen#es
Broo)s/ +red& No Silver Bullet% A,ject-Ariented and Classical Soft#are En$ineerin$& Ed& Stephen *& Schach& 6e# Ior)= (c5ra# Hill/ 9<<9& C;/ CE& (iller/ 5&A& The (a$ical 6.m,er Se-en/ Pl.s or (in.s T#o= Some 'imits on A.r Capacity for Processing "n!ormation% A,ject-Ariented and Classical Soft#are En$ineerin$& Ed& Stephen *& Schach& 6e# Ior)= (c5ra# Hill/ 9<<9& 8< & Schach/ Stephen *& A,ject-Ariented and Classical Soft#are En$ineerin$& 6e# Ior)= (c5ra# Hill/ 9<<9& 7ein,er$/ 5&(& The Ps cholog o! Computer Programming% A,ject-Ariented and Classical Soft#are En$ineerin$& Ed& Stephen *& Schach& 6e# Ior)= (c5ra# Hill/ 9<<9& E9&

You might also like