People, Process, Product, Project.ppt

上传人:文库蛋蛋多 文档编号:2331304 上传时间:2023-02-12 格式:PPT 页数:74 大小:850KB
返回 下载 相关 举报
People, Process, Product, Project.ppt_第1页
第1页 / 共74页
People, Process, Product, Project.ppt_第2页
第2页 / 共74页
People, Process, Product, Project.ppt_第3页
第3页 / 共74页
People, Process, Product, Project.ppt_第4页
第4页 / 共74页
People, Process, Product, Project.ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《People, Process, Product, Project.ppt》由会员分享,可在线阅读,更多相关《People, Process, Product, Project.ppt(74页珍藏版)》请在三一办公上搜索。

1、People,Process,Product,Project and Planning,SSW 540,Systems Software Engineers,Needs,Solutions,Domain Knowledge,Technology Knowledge,Customer Domain,Development Domain,Engineer the Software,Simplified Model,PROBLEM,Reqts Spec&Test Plan,Tech Spec,Code,System,Reqts Eng,Design,Implement,Test,Maintain,P

2、erspective,System Lifecycle:Planning,Analysis,Design,and ImplementationDevelopment methodologies:Waterfall the incremental,iterative,and agile.People are key:systems engineer,software engineer,software architect,process engineer and project manager.,Prototyping,Analysis phase answers the questions o

3、f who will use the system,what the system will do,and where and when it will be used.During this phase the system engineer investigates any current system(s),identifies improvement opportunities,and develops a concept of operation.,Analysis,Three Analysis Steps,Analysis strategy:Guides efforts and i

4、ncludes an analysis of the current system(PMO)Requirements gathering:The analysis of this information leads to the development of a concept for a new system.This concept is used to build a set of analysis models.System prospectus:The prospectus is presented to decision making the clients.,The system

5、 proposal is the initial deliverable that describes what business requirements the new system should meet.The deliverable from this phase is both an analysis and a high-level initial design for the new system.,System Prospectus,Function Points,Bell Laboratories data,Capers Jones data,Productivity(Fu

6、nction points/staff month),Productivity depends on project size,People,System nature,Customer relations,Capital investmentsProcessTechnologyTools,Productivity Parameters,Up to 20:1 difference between peopleMaster programmers are 1%of the programming population.Code ownershipApprentice permitted.Sour

7、ce module size ranges from 20 to 40 new function points.Smaller modules carry too much overhead;larger modules become too big for people to understand.Production executables size is constrained only by the execution environment.,People 20:1,Project Team Skills and Roles,Projects need people with man

8、y skills.Six skill sets the system engineer needs:TechnicalBusinessAnalyticalInterpersonalManagementEthical,The System Engineer comes up with a solution,The developers come up with the solution.,10:5:1 is the degree of difficulty or complexity which impacts productivity.Complex,high risk systems red

9、uce productivityLet application software=1,thenOn-line software=5,andCommunications or real-time software=10.,System Nature 10:5:1,Projects that team with customers are twice as productive as those that have contractsPrototypes build customer relations and increase productivity.,Customer Relations 2

10、:1,ExpansionFactor,TechnologyChange:,RegressionTesting,4GL,Small ScaleReuse,MachineInstructions,High LevelLanguages,MacroAssemblers,DatabaseManagers,On-LineDev,Prototyping,SubsecTimeSharing,ObjectOrientedProgramming,Large ScaleReuse,Order of MagnitudeEvery Twenty Years,Each date is an estimate of wi

11、despread use of a software technology,The ratio ofSource line of code to a machine level line of code,Trends in Software Effectiveness,100:1 improvement every 20 years measured by the expansion factorOpen source increase productivitySOA increases productivityWeb script languages increase productivit

12、yAgile Processes,Capital Investments 100:1,Agile software development,Because of rapidly changing business environments,businesses have to respond to new opportunities and compete faster.Businesses are willing to accept lower quality with rapid delivery of essential features.,Systems Engineering Agi

13、lity,Because changing environments,it is impossible to arrive at a stable,consistent set of system requirements before development starts.The waterfall process is impractical for rapid feature realization.Use iterative and incremental processes b,Challenge for Agile requirements,How do you capture s

14、ufficient requirements to make developers productive without burying them in documentation?How do you provide designers with requirements early enough to impact design,without delaying implementation?,Challenges,What techniques can we use to prioritize requirements so we can fulfill the right mix of

15、 strategic,tactical and operational priorities?Can light methods incorporate all the needed requirements,specification and design efforts without becoming heavy and slow?,Agile processes are,The processes of specification,design and implementation are concurrent.There is no detailed specification an

16、d design documentation is minimized.The system is developed in a series of increments.End users evaluate each increment and make proposals for later increments.System user interfaces are usually developed using an interactive development system.,System divided into a series of versions.The team cate

17、gorizes the requirements into a series of versions,then the most important and fundamental requirements are bundled into the first version of the system.Multiple versions may be developed in parallel but delivered sequentially.,Increments,Design for the entire system is performed and then partitione

18、d into incremental subprojects.,Iterative development process,Agile methods respond,Dissatisfaction with the overheads involved in design methods led to the creation of agile methods.These methods:Focus on the code rather than the design;Are based on an iterative approach to software development;Are

19、 intended to deliver working software quickly and evolve this quickly to meet changing requirements.Agile methods are probably best suited to small/medium-sized business systems,components or PC products.,Phased Increments,Upside of incremental development,Accelerated delivery of customer services.E

20、ach increment delivers the highest priority functionality to the customer.User engagement with the system.Users have to be involved in the development which means the system is more likely to meet their requirements and the users are more committed to the system.,Downside of incremental development,

21、Management problems Progress can be hard to judge and problems hard to find because there is little documentation to demonstrate what has been done.Contractual problemsThe normal contract may include a specification;without a specification,different forms of contract have to be used.Validation probl

22、emsWithout a specification,what is the system being tested against?Maintenance problemsContinual change tends to corrupt software structures making them harder to change and evolve to meet new requirements.,Project Managers and agile teams,Find the players that must be involved in the decision makin

23、g processDefine criteria that support effective decision makingDefine the organizational processes,Principles of agile processes,Problems with agile processes,Interest of customers who are involved in the process.Team members may be unsuited to the intense involvement that characterises agile method

24、s.Prioritising changes can be difficult where there are multiple stakeholders.Maintaining simplicity requires extra work.Contracts,Extreme programming(XP),Perhaps the best-known and most widely used agile method.XP takes an extreme approach to iterative development.New versions may be built several

25、times per day;Increments are delivered to customers every 2 weeks;All tests must be run for every build and the build is only accepted if tests run successfully.,The XP release cycle,Break down,stories to tasks,Select user,stories for this,release,Plan release,Release,software,Evaluate,system,Develo

26、p/integrate,test software,XP requirements evolution,User requirements are expressed as scenarios or user stories.These are written on cards and the development team break them down into implementation tasks.These tasks are the basis of schedule and cost estimates.The customer chooses the stories for

27、 inclusion in the next release based on their priorities and the schedule estimates.,XP details,I,ncr,em,en,t,a,l,p,l,ann,i,ng,R,e,qui,r,e,m,en,ts,a,r,e,r,e,cord,e,d,on,S,t,o,r,y,C,a,r,ds,and,t,he,St,or,i,e,s,t,o,be,i,nc,l,uded,i,n a,r,e,l,e,as,e,a,r,e,de,t,er,mi,ned,by,t,h,e,tim,e,a,va,il,ab,l,e,a,

28、nd,t,he,ir,r,e,l,a,ti,ve,pr,i,o,rit,y.,The,deve,l,ope,r,s,br,e,ak,t,he,s,e S,t,o,ri,es,i,n,t,o,deve,l,op,m,en,t,tasks,.,Sm,a,ll,R,e,l,eas,e,s,T,he,mi,n,im,a,l,u,s,e,f,u,l,s,e,t,o,f,f,unc,ti,ona,lit,y,t,ha,t,prov,i,de,s,bu,si,nes,s,va,l,ue,i,s,deve,l,oped,f,ir,s,t.,R,el,eas,e,s of,t,he,s,ys,t,e,m,a,r

29、,e,fr,equen,t,and,i,nc,r,e,m,en,t,a,ll,y,a,dd,f,unc,ti,ona,lit,y,t,o,t,h,e,fi,r,st r,e,l,ea,s,e.,Sim,pl,e,De,si,gn,E,nough de,si,gn,i,s,ca,rri,ed ou,t,to,m,ee,t t,he cu,rr,en,t,r,equ,ir,e,m,en,t,s,and,no,m,o,r,e.,T,es,t,f,ir,s,t,deve,l,op,m,en,t,An,au,t,o,m,a,t,ed un,it t,es,t,f,r,a,m,ewo,r,k,is,u,s

30、,ed,t,o,w,r,i,te t,e,s,t,s f,o,r,a,new,p,i,ece,o,f,f,unc,ti,ona,lit,y be,f,o,r,e,t,ha,t,fun,ct,ion,a,l,it,y,it,se,lf,is,im,p,l,e,m,en,t,ed,.,R,e,fa,c,to,ri,ng,A,ll,d,e,ve,l,ope,r,s,a,r,e,expe,c,t,e,d,t,o,re,f,ac,t,o,r,t,h,e,code con,ti,nuous,l,y,as,soon,a,s,po,s,s,i,b,l,e,code,im,p,r,ove,m,en,t,s,a,

31、r,e,f,ound,.,T,h,i,s,keeps,t,he,code,s,im,p,l,e,and,m,a,i,n,t,a,i,n,a,bl,e,.,XP processes,P,a,ir,Pr,ogra,mmi,ng,Deve,l,op,e,r,s,wo,r,k,i,n,pa,ir,s,che,c,king ea,c,h,o,t,he,r,s w,ork and,p,r,ov,i,ding,t,he,suppo,rt,t,o,a,l,w,ays do,a,good,j,ob,.,Co,ll,e,c,t,i,ve,Owne,rs,hip,T,he pa,ir,s,o,f,deve,l,op

32、,e,r,s,wo,r,k on,a,ll,a,re,a,s of,t,he,s,ys,t,e,m,s,o,t,ha,t,no,i,sl,ands,o,f,expe,rti,s,e,deve,l,op,and,al,l,t,he,deve,l,ope,r,s,own a,ll t,he,code,.,Anyon,e,c,a,n,chang,e,any,t,h,i,ng,.,Con,ti,nuou,s,I,n,t,egr,at,ion,A,s,s,oon,a,s,wo,r,k on,a,t,ask,i,s,co,m,pl,et,e,it,i,s i,n,t,eg,r,a,t,ed,i,n,t,o

33、,t,he,who,l,e,sy,st,e,m,.,Af,t,e,r,any,s,uch,i,n,t,eg,r,a,ti,on,a,ll,t,h,e,un,it,t,e,st,s,i,n,t,he,sy,st,e,m,m,u,st,pa,s,s,.,S,us,t,a,i,nab,le,pac,e,L,arg,e,a,m,oun,ts,o,f,ove,r-t,i,me,a,r,e,not,con,s,id,e,r,e,d,ac,c,ep,t,ab,l,e,a,s,t,he,ne,t,ef,f,ec,t i,s,of,t,en,t,o,r,educ,e,code qua,lit,y,a,nd,m,

34、ed,i,u,m,t,e,rm,p,r,oduc,ti,v,i,ty,On,-,s,it,e,Cu,s,to,m,e,r,A,rep,r,e,s,en,t,a,ti,ve,of,t,he end,-,u,s,er o,f,t,he,sy,s,t,em(t,he,C,us,t,o,m,e,r,),shou,l,d,be,ava,il,ab,l,e,f,u,ll,tim,e,fo,r,th,e,u,s,e,o,f,t,h,e,X,P,te,a,m,.,In,an,ex,tr,e,m,e,prog,r,a,mmi,ng p,r,oce,s,s,t,he,cus,t,o,m,e,r,is,a,m,e,

35、m,be,r,o,f,th,e,deve,l,op,m,en,t t,ea,m,a,nd,i,s,r,espon,si,b,l,e,f,or,b,ri,nging,sy,st,e,m,r,equ,i,r,e,m,e,n,t,s,to,t,he,te,a,m,f,or,im,p,l,e,m,en,t,a,ti,on.,XP schematic,XP invokes agile principles,Incremental development is supported through small,frequent system releases.Customer involvement mea

36、ns full-time customer engagement with the team.People not process through pair programming,collective ownership and a process that avoids long working hours.Change supported through regular system releases.Maintaining simplicity through constant refactoring of code.,Story card case study,Case:Downlo

37、ading and printing an article,First,you select the article that you want from a displayed list.,Y,ou,then have to tell the system how you will pay for it-this can either,be through a subscription,through a company account or by credit,card.,After this,you get a copyright form from the system to fill

38、 in and,when you have submitted this,the article you want is downloaded,onto your computer,.,Y,ou then choose a printer and a copy of the article is printed.,Y,ou,tell the system if printing has been successful.,If the article is a print-only article,you can,t keep the PDF version,so it is automatic

39、ally deleted from your computer,.,Task cards for document downloading,T,ask 1:Implement principal workflow,T,ask 2:Implement article catalog and selection,T,ask 3:Implement payment collection,Payment may be made in 3 dif,fferent ways.,The user,selects which way they wish to pay,.If the user,has a li

40、brary subscription,then they can input the,subscriber key which should be checked by the,system.,Alternatively,they can input an or,ganizational,account number,.If this is valid,a debit of the cost,of the article is posted to this account.Finally,they,may input a 16 digit credit card number and expi

41、ry,date.,This should be checked for validity and,if,valid a debit is posted to that credit card account.,Test case,T,est 4:,T,est cr,edit card validity,Input:,A,string representing the credit card number and two integers representing,the month and year when the card expires,T,ests:,Check that all by

42、tes in the string are digits,Check that the month lies between 1 and 12 and the,year is greater than or equal to the current year,.,Using the first 4 digits of the credit card number,check that the card issuer is valid by looking up the,card issuer table.Check credit card validity by submitting the

43、card,number and expiry date information to the card,issuer,Output:,OK or error message indicating that the card is invalid,As of 9 Sept.,XP embraces change,Conventional wisdom in software engineering is to design for change.It is worth spending time and effort anticipating changes as this reduces co

44、sts later in the life cycle.XP,however,maintains that this is not worthwhile as changes cannot be reliably anticipated.Rather,it proposes constant code improvement(refactoring)to make changes easier when they have to be implemented.,XP tests first,Test-first development.Incremental test development

45、from scenarios.User involvement in test development and validation.Automated test harnesses are used to run all component tests each time that a new release is built.,Test-first development,Writing tests before code clarifies the requirements to be implemented.Tests are written as programs rather th

46、an data so that they can be executed automatically.The test includes a check that it has executed correctly.All previous and new tests are automatically run when new functionality is added.Thus checking that the new functionality has not introduced errors.,Pair programming,In XP,programmers work in

47、pairs,sitting together to develop code.This helps develop common ownership of code and spreads knowledge across the team.It serves as an informal review process as each line of code is looked at by more than 1 person.It encourages refactoring as the whole team can benefit from this.Measurements sugg

48、est that development productivity with pair programming is similar to that of two people working independently.,Agile development tools,Database programming languageInterface generatorLinks to office applicationsReport generators,Agile application development,DB,prog,ramming,langua,ge,Inter,face,gen

49、er,a,tor,Office,systems,R,epor,t,gener,a,tor,Database management system,Rapid application,development environment,Rapid Application Development(RAD),Agile methods have received a lot of attention but other approaches to rapid application development have been used for many years.These are designed t

50、o develop data-intensive business applications and rely on programming and presenting information from a database.,Interface generation,Many applications are based around complex forms and developing these forms manually is a time-consuming activity.RAD environments include support for screen genera

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号