版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程与项目管理软件工程与项目管理软件工程与项目管理软件工程与项目管理软件工程与项目管理软件工程与项目管理Software Development ManagementSoftware Development ManagementSoftware Development Management康一康一梅梅 Experience of working in a software development environment is desirable but not essential.What should be managed in software development? Product
2、RequirementDesignCodeDocument Process PeoplePlanningMonitoring and controlEstimating & MetricConfiguration managementQuality managementRisk managementTeam buildingTeam workPeople is the most important factor. Skills Experience Professionalism Team workSoftware development is an economic task. Co
3、st Feature Product spiralSoftware development should be managed as an engineering project. Software engineering Project managementIntroduction to Software EngineeringIntroduction to Software EngineeringThe statistics Chaos ReportProject completion16%31%53%On time, on budget,with all of the specified
4、features and functionsCancelled before theywere completeddelivered andoperational but over-budget, over-scheduleor with fewer featuresand functions thanspecifiedStandish Group 1995365 IT executives in US companies in diverse industry segments. 8,380 projectsaverage cost overrun = 189%average time ov
5、errun = 222%.61% of originally specified features included ?Over budgetHome Office IT project millions over budget- Lisa Kelly 12-01-2001A Home Office IT project run by Bull Information Systems is expected to blow its budget by millions of pounds and is hampered by a restrictive contract, according
6、to a leaked report. The National Audit Office report, due in the Spring, is expected to reveal damning evidence that the project to implement two systems - the National Probation Service Information Systems Strategy, and the Case Record and Management System - for the probation service will cost 118
7、m by the end of the year, 70 per cent over its original budget. http:/puting.co.uk/News/1116278Over budget / Over scheduleNew air traffic system already obsolete By Steve Ranger 24-01-2002 - Air Traffic Services (Nats) is already looking at replacing the systems at its new control centre at Swanwick
8、 in Hampshire, even though the system doesnt become operational until next week. Now running six years late and 180m over budget, the system will control 200,000 square miles of airspace over England and Wales, looking after two million flights a year. It will finally go live on 27 January. But long
9、-term planners are already looking at replacing the systems. Nats told that it plans to do things very differently next time in a bid to avoid delays. Swanwick was originally meant to be operational by 1997, but problems with the development of software by Lockheed Martin caused delays, according to
10、 Nats. Air traffic control system crashes again http:/ 10-04-2002 Data Integrity HP LabsWe have just finished a study that shows how user interface design flaws allow users on Kazaa to share their personal files without their knowledge. In a laboratory user study, only 2 out of 12 subjects were able
11、 to correctly determine that Kazaa was sharing their entire hard drive. We looked at the current Kazaa network and discovered that many users are sharing personal information such as email and data for financial programs such as Microsoft Money. To see if other users on Kazaa were aware of this and
12、taking advantage of users ignorance, we ran a Kazaa client for 24 hours with dummy personal files. During this time, files named Inbox.dbx and Credit Cards.xls where downloaded from our client by several unique users. The tech report can be accessed here: http:/ or from our lab web page at http:/ So
13、urce: Nathan Good, Information Dynamics Lab, HP Laboratories, Palo AltoData IntegrityCanadian account holders information was accessible, AP, 29 May 2002 A design flaw at a Fidelity Investments online service accessible to 300,000 people allowed Canadian account holders to view other customers accou
14、nt activity. The problem was discovered over the weekend by Ian Allen, a computer studies professor at Algonquin College in Ottawa. Fidelity said it had fixed the problem and was offering customers the option of changing account numbers. http:/ Safety - London Ambulance Dispatching SystemThe full in
15、troduction of the computer system effectively did away with the radio and telephone calls to stations, with the computer dispatching crews to answer calls. But within hours, during the morning rush, it became obvious to crews and control room staff that calls were going missing in the system; ambula
16、nces were arriving late or doubling up on calls. Distraught emergency callers were also held in a queuing system which failed to put them through for up to 30 minutes. Chris Humphreys, Nupes divisional officer, said that it was hard to verify how many people might have died because of the delays but
17、 it could be as many as 20. However, the ambulance service contradicted claims that one 14-year-old boy had died of an asthma attach after waiting 45 minutes. It said that the call was dealt with in 28 minutes - although the Patients Charter has a target of 14 minutes. A man of 83 was also said to h
18、ave died before the service reverted to the old system at 2p.m. on Tuesday. Causes: assumed location of ambulances known, memory leak, operators left outFrom 27/Risks/13.88.html#subj1.1Human ErrorEDB Fellesdata AS runs the computer services of about half of Norways banks. On Thurs
19、day 2 Aug 2001, they apparently installed about 280 disks in their Hitachi storage. Then, instead of initializing the new disks, they initalized all their disks - thereby wiping out the entire warehouse. EDB Fellesdata itself declines to make any statements in the case pending further contact with t
20、heir customers, the banks. They are considering lawsuits, but if one of their own employees made a user error, they may have a hard time of it. http:/www.digitoday.no/dtno.nsf/pub/dd20010807092448_er_28707255 (in Norwegian)Threats to Human LifeVery famous (infamous) caseIn 1986, two cancer patients
21、at the East Texas Cancer Center in Tyler received fatal radiation overdoses from the Therac-25, a computer-controlled radiation-therapy machine. There were several errors, among them the failure of the programmer to detect a race condition (i.e., miscoordination between concurrent tasks). vhttp:/ Ma
22、ny many more - See http:/catless.ncl.ac.uk/RisksProgramming/testing Error Ariane 5It took the European Space Agency 10 years and $7 billion to produce Ariane 5, a giant rocket capable of hurling a pair of three-ton satellites into orbit with each launch and intended to give Europe overwhelming supre
23、macy in the commercial space business. All it took to explode that rocket less than a minute into its maiden voyage scattering fiery rubble across the mangrove swamps of French Guiana, was a small computer program trying to stuff a 64-bit number into a 16-bit space.At 39 seconds after launch, as the
24、 rocket reached an altitude of two and a half miles, a self-destruct mechanism finished off Ariane 5, along with its payload of four expensive and uninsured scientific satellites. This disintegration had begun an instant before, when the spacecraft swerved off course under the pressure of the three
25、powerful nozzles in its boosters and main engine. The rocket was making an abrupt course correction that was not needed, compensating for a wrong turn that had not taken place.Ariane 5 continuedSteering was controlled by the on-board computer, which mistakenly thought the rocket needed a course chan
26、ge because of the numbers, which in fact were an error message, coming from the inertial guidance system. The guidance system had in fact shut down 36.7 seconds after launch, when the guidance systems own computer tried to convert one piece of data - the sideways velocity of the rocket - from a 64-b
27、it format to a 16-bit format = overflow error.When the guidance system shut down, it passed control to an identical, redundant unit, which was there to provide backup in case of just such a failure. Guess what - the second unit (having the same software) failed too.In an earlier design decision, the
28、 programmers had decided that this particular velocity figure would never be large enough to cause trouble. After all, it never had been before. BUT Ariane 5 was a faster rocket than Ariane 4. One extra absurdity: the calculation containing the bug actually served no purpose once the rocket was in t
29、he air. Its only function was to align the system before launch. So it should have been turned off. Why does software fail (Charette 1989)1. Terminated for convenience/ non-performance of contract.2. Completed but the system is not deployed as users cannot or will not use it.3. Completed but the sys
30、tem does not meet the originally promised cost.4. Completed but the system does not meet the originally promised schedule.5. Completed but the system does not meet the originally promised quality.6. Completed but the system does not meet the originally promised capability.7. Completed but the system
31、 could not be evolved in a cost-effective mannerWhat makes software special?The main differences in software engineering compared to other engineering disciplines are listed BSI, 1995.1. It is difficult for a customer to specify requirements completely.2. It is difficult for the supplier to understa
32、nd fully the customer needs.3. In defining and understanding requirements, especially changing requirements, large quantities of information need to be communicated and assimilated continuously.4. Software is seemingly easy to change.5. Software is primarily intangible; much of the process of creati
33、ng software is also intangible, involving experience, thought and imagination.6. It is difficult to test software exhaustively A Solution - Software Engineering:Greater emphasis on systematic development.Computer assistance for software development (CASE)A concentration on finding out the users requ
34、irementsFormal/Semi Formal specification of the requirements of a systemDemonstration of early version of a system (prototyping)Greater emphases on trying to ensure error free codeSoftware Engineering Definitions: Simple Definition: Designing, building and maintaining large software systemsOthers:So
35、ftware engineering is concerned with the theories, methods and tools for developing, managing and evolving software products I. SommervilleThe practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, opera
36、te and maintain them B.W.BoehmThe establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines F.L.BauerWhat is Software Engineering?Software engineering is the systematic approach to the development, operation
37、, maintenance and retirement of software.The term software engineering is an acknowledgement of the challenges associated with large-scale, high-quality software.Cooperation between developers, clients and usersSize and complexitySoftware must evolveover timeA software engineer must use the principl
38、e of computer science, engineering, design, management, psychology, sociology and other disciplies where necessary to design and manage large software systemsWHAT IS SOFTWARE ENGINEERING?The IEEE Computer Society defines software engineering as:(1) The application of a systematic, disciplined,quanti
39、fiable approach to the development, operation, andmaintenance of software; that is, the application ofengineering to software.(2) The study of approaches as in (1).Introduction to Software EngineeringIntroduction to Software EngineeringIntroduction to Software EngineeringIntroduction to Software Eng
40、ineering SWEBOK定义的软件工程知识域定义的软件工程知识域软件需求软件需求Software Requirements软件设计软件设计Software Design软件构造软件构造Software Construction软件测试软件测试Software Testing软件维护软件维护Software Maintenance软件配置管理软件配置管理Software Configuration Management软件工程管理软件工程管理Software Engineering Management软件工程过程软件工程过程Software Engineering Process软件工程
41、工具和方法软件工程工具和方法Software Engineering Tools and Methods软件质量软件质量Software QualityIntroduction to Software EngineeringIntroduction to Software Engineering 软件工程相关学科软件工程相关学科计算机工程计算机工程Computer Engineering计算机科学计算机科学Computer Science管理管理Management数学数学Mathematics项目管理项目管理Project Management质量管理质量管理Quality Manageme
42、nt软件人类工程学软件人类工程学Software Ergonomics系统工程系统工程System EngineeringIntroduction to Software EngineeringIntroduction to Software EngineeringIntroduction to Software EngineeringIntroduction to Software EngineeringIntroduction to Software EngineeringIntroduction to Software Engineering定义定义1.1.科学科学( (物理科学物理科学
43、):):是一个理性的、按照一定方法理解是一个理性的、按照一定方法理解自然的过程,其主要目标是获得一定的预测能力或自然的过程,其主要目标是获得一定的预测能力或解决问题的能力。解决问题的能力。2.2.工程:是利用自然规律创建至少能使一部分人受益工程:是利用自然规律创建至少能使一部分人受益的系统。的系统。3.3.决策:决策: Engineers use science towards practical ends Software Engineering = Computer Science + EngineeringSoftware Engineering vs Computer ScienceC
44、omputer ScienceEngineeringSoftware EngineeringSoftware Engineering = Computer Science + EngineeringComputer Science Languages Algorithms/data structures Methods of computation Formal methods Security Databases / Information Storage Software paradigmsSoftware Engineering = Computer Science + Engineer
45、ingEngineering Methodologies Processes Professionalism Economics “Doing for a dime what anyone can do for a dollar”Teamwork Working with other software engineers Working with other engineers (electrical, mechanical, civil,) Working with managers Working with clientsTraditional SE CS RivalrySoftware
46、Engineers see Computer Scientists seeSoftware Engineers asThe people who build the software on which the world runs.The people responsible for all the problems with todays software.Computer Scientists asPeople who have nice ideas about things that will never work.People whose intellect would be wast
47、ed on actually building anything.Challenges Focus on utilities Scalability Maintainability Adaptability Reusability Quality Portability Efficiency Usability Reliability Tackled with techniques such as Separation of concerns Policy/mechanism Modularisation Abstraction Patterns & reuse Tackled usi
48、ng processes such as Review Testing DocumentationDefinition of Project out of Control 软件失控项目就是由于在创建系统所需软件时遭遇软件失控项目就是由于在创建系统所需软件时遭遇到困难,从而导致大大超出可控制范围的项目到困难,从而导致大大超出可控制范围的项目。 如果所用时间是预计时间的两倍以上或费用超出预算两如果所用时间是预计时间的两倍以上或费用超出预算两倍以上的项目为失控项目。倍以上的项目为失控项目。 软件开发的滑铁卢软件开发的滑铁卢 软件失控项目是显著未能实现目标和(或)至少超出原软件失控项目是显著未能实现目
49、标和(或)至少超出原定预算定预算30%的项目。的项目。 KPMG 1995Introduction to Software Project ManagementIntroduction to Software Project ManagementProject out of Control1.“野心过大”造成失败,多数失控项目都是或曾经是大型项目。2.多数失控项目失败原因有多种。可能有、也可能没有起主导作用的原因,但总会有多个问题导致失败。3.很多失败项目在开发初期被人们赞誉为“有重大进展”,与将要替换掉的系统相比,这些项目具有极大的优势。如果该项目不是被全面展开,人们似乎都看不到有失败的可能
50、。4.进度超时(89%)比成本超额(62%)更为普遍。5.首先意识到项目失控的是项目团队(72%),只有19%的项目失控是由高层领导首先意识到的。6.55%的失控项目没有实行过任何风险管理,而在38%实行了风险管理的项目中,50%在启动之后没有使用风险发现(risk finding)。7.技术越来越成为项目失控的原因,而且势头发展迅猛。Introduction to Software Project ManagementIntroduction to Software Project ManagementIntroduction to Software Project ManagementIn
51、troduction to Software Project Management The investigation in USA and UK indicated that the failure of 50% out-of-controlled-projects are due to technical problems. Technology is fundamentality of software projects. Project management is to ensure the successful implementation of proper technical d
52、esign.Technical Problems New Technical Solutions System Structure Design PerformanceIntroduction to Software Project ManagementIntroduction to Software Project Management 坦率地说,微软所面临的挑战之一是它的很多员工还没坦率地说,微软所面临的挑战之一是它的很多员工还没有遭遇过多少次失败。很多人从未遇到过失败的项目。结果有遭遇过多少次失败。很多人从未遇到过失败的项目。结果是,人们把成功视为理所当然的事,这是很危险的是,人们把成功
53、视为理所当然的事,这是很危险的人们人们遭遇失败时,将被迫发挥出创造性,不分昼夜地深入探索并遭遇失败时,将被迫发挥出创造性,不分昼夜地深入探索并苦思冥想。每个公司都需要有过这种经历的人。苦思冥想。每个公司都需要有过这种经历的人。 比尔比尔.盖茨盖茨 “犯错的重要性犯错的重要性”,美国航空杂志美国航空杂志 项目团队必须满足项目团队必须满足“一定会完成项目一定会完成项目”的最低层次需求,接着的最低层次需求,接着再来考虑有关时间和预算目标百分之十上下的问题。再来考虑有关时间和预算目标百分之十上下的问题。 微软项目求生法则微软项目求生法则MicrosoftIntroduction to Software
54、 Project ManagementIntroduction to Software Project ManagementSuggestionIntroduction to Software Project ManagementIntroduction to Software Project Management Management is a budget item for system development. Select or design your own management pattern and financial plan according to your status
55、quo.People1.挫伤积极性2.人员素质低3.对有问题的员工失控4.英雄主义5.项目后期加入人员6.办公环境拥挤嘈杂7.开发人员与客户发生摩擦8.不现实的预期9.缺乏有效的项目支持(高层)10. 缺乏各种角色的齐心协力11. 缺乏用户介入12. 政治高于物质13. 充满想象Introduction to Software Project ManagementIntroduction to Software Project ManagementProcess14. 过于乐观的计划15. 缺乏足够的风险管理16. 承包人导致的失败17. 缺乏计划18. 在压力下放弃计划19. 在模糊的项目前
56、期浪费时间20. 前期活动不合要求21. 设计低劣22. 缺少质量保证措施23. 缺少管理控制24. 太早或过于频繁集成25. 项目估算时遗漏必要的任务26. 追赶计划27. 卤莽编码Introduction to Software Project ManagementIntroduction to Software Project ManagementProduct28. 需求镀金29. 功能蔓延30. 开发人员镀金31. 又推又拉的交易32. 研究导向的开发Introduction to Software Project ManagementIntroduction to Software
57、 Project ManagementTechnology33. 银弹综合症34. 过高估计了新技术或方法带来的节省量35. 项目中间切换工具36. 缺乏自动的源代码控制手段Introduction to Software Project ManagementIntroduction to Software Project Management软件项目管理软件项目管理是对整个软件项目生命周期实施的项目管理。项目管理的发展-1(2) 1917年亨利.甘特发明了著名的甘特图1957年杜邦公司将关键路径法(CPM)应用于设备维修,使维修停工时间由125小时锐减为7小时。1958年在北极星导弹设置中,
58、应用计划评审技术(PERT)将项目任务之间的关系模型化,将设计完成时间缩短了两年。20世纪60年代初华罗庚教授将称为“统筹方法”的技术现在通常称为网络计划技术在中国普及推广20世纪60年代项目管理的应用范围也还只局限于建筑,国防和航天等少数领域如美国的阿波罗登月项目项目管理的发展-2(2)1976年PMI在蒙特利尔会议上开始制定项目管理的标准,形成了项目管理职业雏形。1984年美国项目管理协会推出项目管理知识体系(PMBOK)和基于PMBOK的项目管理专业证书(PMP)两项创新中国项目管理的里程碑工作是华罗庚教授和钱学森教授分别倡导的统筹法和系统工程1980年项目管理作为世行项目运作的基本管理
59、模式开始被引入并应用于中国1991年6月我国正式成立中国项目管理研究委员会什么是项目-1(2) 项目就是在既定资源和要求的约束下,为了创造某一独特的产品或服务,由个人或者组织机构所作的一次性工作任务。该任务是由一组有起止时间的,相互协调的受控活动所组成的特定过程。项目具有以下基本特征:明确的目标独特性临时性制约性需要进行计划,执行和控制等不确定性特定的委托人结果的不可逆性其结果可能是一种期望的产品,也可能是一种所希望得到的服务该产品或服务与所有其他产品或服务的某些方面有显著不同,即每一个项目都是唯一的。每一个项目都有明确的开始和明确的结束。受制于有限的资源。在项目的具体实施中,外部和内部因素总
60、是会发生一些变化,因此项目也会出现不确定性。它既是项目结果的需求者,也是项目实施的资金提供者不论结果如何,项目结束了,结果也就确定了。什么是项目-2(2)各种层次的组织都可以承担项目工作。典型的项目有: 建造大楼,工厂或水库;举办各种类型的活动,如会议,晚宴,庆典等;建立新企业,开发新产品等;演出,拍摄影视剧;规划实施某些活动;解决某个研究课题,开发软件由此可知,软件项目只是项目中的一种 什么是项目管理-1(6)项目管理包括对项目各方面的策划,组织,监测和控制等连续过程的活动,以达到项目目标。美国项目管理学会在项目管理知识指南中对项目管理的定义是:“项目管理就是指把各种系统,方法和人员结合在一起,在规定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025甘肃省安全员-A证考试题库附答案
- 2025年-河北省安全员-C证考试题库
- 2025重庆市安全员知识题库
- 《手的运动》课件
- 课件:新课标《信用工具和外汇》
- 《PICC置管及其维护》课件
- 《南朝山水诗》课件
- 单位人力资源管理制度合并汇编十篇
- 【语文课件】《落花生》复习课件
- 单位管理制度展示选集【人事管理篇】十篇
- 学校安全事故报告和调查处理制度(四篇)
- 石油化工管道布置设计规范
- 阿尔茨海默病(AD)的影像学诊断
- JJF 1622-2017太阳电池校准规范:光电性能
- GB/T 31.1-2013六角头螺杆带孔螺栓
- 西交大少年班英语考试试题
- 初中生物人教七年级上册(2023年更新) 生物圈中的绿色植物18 开花和结果
- 水电解质及酸碱平衡的业务学习
- CSCEC8XN-SP-安全总监项目实操手册
- 口腔卫生保健知识讲座班会全文PPT
- 成都市产业园区物业服务等级划分二级标准整理版
评论
0/150
提交评论