Broadlands Area Children's Hospital Term Project
Broadlands Area Children's Hospital Term Project
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
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&
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&
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
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
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
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
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;
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!
!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&
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&
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&
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&
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&
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
$ift Information
Family
!c(edul e
)AC*
Patient 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
Ne0slette r
Ne0sletter
'e.el 1
Diagram 2.0
Nurses Request for Patient $ifts
#.#P #.1P 2-date Information !atisfied $ift Request Verify Patient 4ligibility
$ift Information
'e.el
Diagram 3.0
Volunteer Requests Volunteer Visit Request
'.'P Notify Volunteers '.#P Create list of Volunteers and Patients Requiring !er"ices
'e.el <
Diagram 4.0
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&