欢迎来到天天文库
浏览记录
ID:21414659
大小:4.39 MB
页数:450页
时间:2018-10-18
《软件工程案例分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件工程案例分析陈天洲浙江大学计算机学院软件特征(1)最根本的:软件是一种逻辑元素而不是物理元素软件是开发出的,而不是用传统的方法制造出来的软件不会被用坏时间失败概率一般产品的浴盆曲线软件特征(2)时间失败概率软件失败概率实际曲线软件失败概率理想曲线软件特征(3)工业界已经走向了标准化装配时代,然而绝大多数软件还是定制出来的。科学计算函数库(60年代)重用数据结构重用组件成本结构发生了巨大的变化一次性的制造成本介质成本的可忽略性-逻辑产品不可回逆的投入维护成本的增加服务是质量要素中的重点软件危机“软件危机”是1958年在NATO会议上作为一个正式的议题被提出来软件项目不成功的例
2、子比比即是:1999年10月,耗资1.25亿美元的NASA的火星气象卫星失踪(公英制转换)软件危机一些数据:大约70%的软件开发项目超出了估算的时间,大型项目平均超出计划交付时间20%到50%,90%以上的软件项目开发费用超出预算,并且项目越大,超出项目计划的程度越高美国政府审计局:只有不到2%的合同定购软件在发布时具有可用性——98%以上的项目都失败了软件危机一种看法“两难境地(CrunchMode)”:处于两难境地的项目面临无法达到最初目标的威胁(费用、进度表、功能性等),而项目团队努力想跨越困境。“我们正处于两难境地,在半夜之前是不会回家”“死亡行军(DeathMarch
3、)”:用来描述其进度表几乎不可能完成的项目。“这是一个死亡行军项目,我希望自己不要参与进去”软件危机更准确的说法:慢性痛苦(chronicaffliction)SuggestedbyProf.DanielTiechrow,UniversityofMichigan尽管忍受痛苦,但是软件依然在我们这个世界起着越来越重要的作用,但是如果能够医治痛苦,那么软件业将发展得更加健康。软件危机的主要特征软件开发周期大大超过规定日期;软件开发成本严重超标;软件质量难于保证软件成功的标准用户在用用户可很容易做完要做的事失败的根本原因:开发人员写出的东西达不到用户要求(人的问题.技术问题)规模复杂
4、性生产率软件技术面临的问题Exchange2000Windows2000项目经理25人约250人开发人员140人约1700人测试人员350人约3200人例:•Windows95有1000万行代码•Windows2000有5000万行代码,3000多个工程师,几百个小团队。Exchange2000和Windows2000开发人员结构“软件工程案例分析”课程与其它软件专业课的区别(1)立足于系统的整体。(2)系统分析、系统设计、测试及维护的方法实践。(3)构筑一个软件系统,实践软件开发全过程。用户分析员程序员系统分析员的地位“一个好的工业,应有一套良好的标准来配套”软件工业化生产
5、过程应具备的特点明确的工作步骤详细具体的规范化文档明确的质量评价标准软件产品的标准化软件开发过程的标准化软件工程技术的两个明显特点强调规范化强调文档化新世纪软件产业的趋势网络化趋势:计算机与通信的融合趋势万维网智能网络服务化趋势:“打包式”软件“服务式”软件全球化趋势中国软件产业发展主要问题产业规模小、集中度低产业竞争力弱,缺乏核心技术市场秩序较为混乱,盗版严重制约软件产业发展的因素软件开发规范与标准知识产权环境知识结构公司体制项目与项目管理项目是什么没有例行的任务需要计划特定的目标需要满足或者特定的产品需要生成项目有一个预定义的时间范围工作不仅仅是为自己,也是为他人工作中
6、有些特性工作分为若干阶段项目完成需要资源项目是大型的或者复杂的项目管理是什么项目管理是在项目活动中应用知识,技能,工具和技术来满足项目需求的过程,它通过初始化,计划,执行,控制和结束等活动来完成。软件项目与软件项目管理软件项目的特征不可见复杂性(以每一单位货币来看)灵活性:软件去适应人或组织而不是相反一致性软件项目管理为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。软件项目的活动需求分析描述设计编码校验安装维护支持软件项目分类按软件类别信息系统:与组织接口嵌入式系统:接口是机器操作系统是一个信息系统还是嵌入式系统?有
7、些项目是为了生成某一产品,而某些项目的进行是为了达到某些目标。许多软件项目分为两个阶段,第一阶段是目标驱动,第二阶段再生成真正的软件产品。从系统的角度看软件项目一个项目关注于生成一个系统和/或将一个旧系统转换为一个新系统系统,子系统和环境开放和封闭系统项目失败的一个原因是技术人员不能够开放系统和立即接受外界的变化。部分优化例如:可能很高效,但是难于修改社会技术系统软件项目属于此类软件项目中的人员项目影响者(stakeholders)项目小组内部:项目小组外部,但是在同一组织内:项目小组和组织
此文档下载收益归作者所有