Advanced Software Engineering
Advanced Software Engineering CS 430
Popular in Course
Popular in ComputerScienence
This 14 page Class Notes was uploaded by Abe Jones on Saturday September 12, 2015. The Class Notes belongs to CS 430 at West Virginia University taught by Bojan Cukic in Fall. Since its upload, it has received 27 views. For similar materials see /class/202752/cs-430-west-virginia-university in ComputerScienence at West Virginia University.
Reviews for Advanced Software Engineering
Report this Material
What is Karma?
Karma is the currency of StudySoup.
Date Created: 09/12/15
West Virginia University CS 430 Fall 2004 coDngM e lSSS ZDm ZFDS RS Pressman ampAssoclates Inc mew numnses ONLY hyrmenual animals n r n same Engmeennq A Pmnmums Alwmacn Any nlher renrndudlnn in use Is expressly nrnhlhned Software s Dual Role So ware is a product Dellyers computmg poterrtlal Produces manages acqulres modlfleS olsplays ortrarrsmlts ll39lfol39matol l So ware is a vehicle for delivering a product Supports or olrectly proyloes system furrctlonallty Controls otherpl ogl ams e g larr operatmg system Effects commurllcatlorrs e g l39letwol39klrlg software l lelps oullo other software e g software tools Wear vs Deterioration actual curve ldeallzed Curve Tlme me a mm Legacy Software Why must it change I Software must be adapted to meetthe needs ofneW computing environments ortechnology software must be enhanced to implement new I Software must be extended to make it interoperable With other more modern Systems or databases I Software must be rerarchltected to make it viable Within a network environment Software Myths I Affect managers customers and other nontechnical stakeholders and practitioners I Are believable because they o en have elements of f y but I Invariany lead to bad decisions refore I Insist on reality as you navigate your way through 9 so ware englneerln A Layered Technology Software Engineering Framework Activities Umbrella Activities The Waterfall Model Evolutionary Models Prototyping The Manifesto for Agile Software Development H vering better ways of developing software by doing it and helping others do it Through this work we have come to value Indiliduals and interactions over processes and tools Working software over comprehensive documentation customer collaboration over contract negotiation riding to change overfollowing a plan That is while there is value in the items on the right we value the items on the left more Kent Beck et aI M m Pracm An Agile Process I Is driven by customer descriptions of what is required scenarios Recognizes that plans are shortlived Develops so ware iteratively with a heavy emphasis on construction activities Delivers multiple so ware increments l Adapts as changes occur Extreme P M 2 m n W W 930 WWW W5 mm as m W W Paw Pragvam mng Release mm um leg Wummywm cammuausimegvatmn n acne m e m mm m l a g u Core Software Engineering Principles I Provide value to the customer and the user I KIS keep it simple I Maintain the product and project vision I What you produce others will consume I Be open to the future I Plan ahead for reuse I Think System Engineering I Elements of a com puter based system ru I Systems A hierarchy of macrorelements The Hierarchy System Modeling de ne the processes that serve the needs of he VteW under Constderauon f beh awor ts based exphcmy oerrne ootn exogenous and endogenous rnput tot e rno et Exugenu h d us rnputs hnk one onstrtuent or a grven vrew wrtn otner unsnments at onstrtuent at a pamcmar v new represent 5 Mnkages mdudmg output tnatwru enaote tne engmeer to better understand the WW Requirements Engineeringll Specmcauonican be any one or rnore ortne rouomng Awntten ooeurn nt set orrnooets Arorrnat rnatnernatreat AcuHectmnofuserscenartuswsercases A pro yp Vahdauonia revtew mechamsm that tooks for errors rn content orrnterpretatron areas wnere tanrreatron may oe reourreo rnrssrng rnrorrn rneonsrsteneres a major prootern wnen targe proouets or systems are engrneereo eonrtretrng urunreahstt unaenrevaote reourrernents Reqmremems management Analysis Model gt Design Model emu m A m M Nah5 we me a mm Fundamental Concepts abstramonajata procedure contro archwtectureithe overaH structure of the software attemsi bonveys the essence of a proven deswgn somuon modu antyicompanmentahzauon of data and mncuon hwdmgicontroHed nterfaces Funcuona ndependencsmgeemmded funcuon and ow couphng ef mementiemborauon of detaH for 5H abstracuons Refactonngia reorgamzauon techmque that swmph es the deswgn Testing Strategy I We begin by testinginthesmall and move toward testinginthe Iarge I For conventional so war Tne moduie component is ourinitiai focus integration ofmoduiesfoiiows I For 00 so ware our focus wnen testing in tne smaii cnanges from an indiwduai moduie tne conventionai wewto an 00 ciasstnat encompasses attributes and operations and impiies communication and coiiaboration Strategic Issues State testing obiectives expiicitiy Understand tne users of tne software and deveiop a profiie for eacn user cate Deveiop a testing pian tnat empnasizes rapid cycie testing Buiid robust software tnat is designed to test itseif Use effective formai tecnnicai reviews as a fiiter priorto testing themseives Deveiop a continuous improvement approacn fortne testing process Testability Operabiiityat operates ciea y b ni Obseiva iiityAne resuits of eacn test case are feadiiy ob Ned Contfoiiabiiityime degree to wnicn testing can be automated and o timized Decomposabiiityitesting can be targeted i p tests iii Stab tyqew cnanges are requested during testing Undefstandabiiityiofthe design Exhaustive Testing ioop lt 20 x There are 10 possible paths lfwe execute one test er miiii cond itwouldtake 3170 year t test his program Mai i quotW 25 Boundary Value Analysis t t 39 input domain 83254quot OOT Methods Partition Testing Partition Testing reduces tne number of test cases required to test a ciass in rnucn tne same Way as equivaience partitioning ior conventionai so W stateebased partitionin ateguriz Q a g e and testepeiatiens based on tneir abiiitytu enange the state ufa iass attributeoased partitioning use categoryrbased partitioning categorize and testeperatiens based on tne generic runetien eaen penenns Measures Metrics and Indicators I A measure provides a quantitative indication of the extent amount dimension capacity or size of some attr bute of a product or process The IEEE glossary de nes a metric as a quantitative measure ofthe degree to which a system component or process possesses a given attr butequot n indicatoris a metric or combination of metrics that provide insight into the so ware process a sottware project or the product itself we a Prism Measurement Principles The obrectrves or measurement snourd be estabrrsned berore data correctron be rns Eacn tecnnrcar metrrc snourd be derrned rn an unambrguous manner Metrrcs snourd be derived based on a tneory tnat rs vaird ror tne domarn or apprrcatron e g metrrcs tor desrgn shouid draw upon asrc desrgn concepts and prrncrpres and attempt to prcurde an rndrcatron or tne presence or an attrrbute tnat rs deemed destrabie Metrrcs snourd be tarrored to best accommodate specrrrc products and processes BAS84 me a Prism GoalO riented Software Measurement The GoatouestrunMetnc Paradigm testaprrsnanexprcrtmeasurementgoartnatrsspecrnctutneprocess acter or product cnaracterrstrc tnat rs in be assessed 2 de ndeasetmauestronsthat must be answe ed rn urdertu acmeewe uaan 3 merrth Weiiriuvmuiated memos tnat netp tn anwertnese duestruns Guardennrtruntemprate AnaivzetthenameuYactrv vuvamrbutetub r rur tne purpose uvttne uvevaii uptectne ortne anatvsrs wrtnrespecttuttneaspectortneactnrtvorattrrputetnatrscunsrderedr um tne viewpoint uvttne peupre wnu hare an rnterest rn tne measurement minecontextmttheemrvunmentmwhrchthemeasurementtakespiace me a Prism Software Teams How to lead How to organize How to collaborate Howto motivate Howto create good ideas we a Pracm The Project Projects get into troubie when Software pedpie ddn t understand their eustdmers needs Tne pmductscupe is pddriy derined cnanges are managed punriy The endsen technuiugy enanges Business needs enange drare iHrdEfinEd Deadiines are unrea st Users are resistant Spdnsdrsnip is inst urwas never pmpeny obtained Tne pmieeneam iacks pedpie Witn appropriate sKiHs Managers and practitioners avuid bestpractices and iessdns iearned me a Pracm A Good Manager Measures process process metrics project metrics measurement product metrics product LL Project Planning Task Setl I Establish project scope I Determine feasibility I Analyze risks Risk analysis is considered ll l detail ll l Chapter 25 Project Planning Task Setll I Develop a project schedule Scheduling is considered ll l detail ll l Chapteim Estabiish a meaningful task set Define a task network Use scheduling tools to daelop a timeline chart Define schedule tracking mechanisms me We Mei i 35 Scheduling Principles I de ned respons bilities people must be assigned I de ned outcomes each task must have an output I de ned milestones review for quality Timeline Charts Software Quality Assurance u Importance of quot R It s I In Chapter 1 software was characterized as a differentiator The function deliv ed by so w are differmtiates products systems and services and provides competitive advantage In the marketplace I But software is more that a differentiator I The programs documents and data that are so ware help to generate the most important commodity that any individual business or government can acquirckinformation Software Engineering Ethicsl quotEm Joint Task VIIPM n Engineering Code of Ethics and Professionz Practices Version 51 The code ACM98 g r n e nd mamtenance or software a benerrcrar and respected proressron m accordance wrr 1 er comrmrrnem to me hea th safety and werrare or me pubhc software engmeers shaH adhere to the foHowmg Ergm Prrncrpres Software e e 510 makm me anarysrs specrrrcauon de Software Engineering EthICSI Mm shau a mm W We We were 2 cumwe emerge Wm shau an m a mammre ea Warren and emrlruramrsaemwrrm We Ms 1 PUEch 3 PRODUCT me mgheswm a MEN quotEmeevsshaHmarmamm EmWanddependencemmew PmVessmnaHudgmem 5 MANAGEME r arr emrcar appmac a PRorEssroN rSu Wave endrrreerrrrd managevsand readerssrau subscvmem and prumme m me managemem m smiwave devempmem and marmenarrce an aveenumeevsshauadvancemeWEquandvEpmahunuHhEmuVessmn currsraemwrm m2 pubhc mteves 7 COLLEAGUESV smmare endrrreers she berarrm and summmve uHha curreadues a SELF