- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华工软件工程重点.doc
华工电信软件工程重点——自整理
12电联班
第一章
软件危机
定义:指在计算机软件的开发和维护过程中遇到的一些列严重问题。
落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发和维护 过程中出现的一些列严重问题。
包含两个问题:
如何开发软件,以满足对软件日益增长的需求
如何维护数量不断增加的已有软件
典型表现:
对软件开发成本和进度的估计不准确
用户常对已完成的软件不满意
软件的质量不达标
软件通常难以维护
软件通常没有适当的文档资料
软件成本比例逐年上升
软件开发生产率提高的速率远远不能满足社会对软件产品日益增长的需求
产生原因:
客观:1、软件缺乏可见性,管理和控制过程很难
2、软件较难维护
3、软件规模大,复杂性随规模增加呈指数上升
主观:错误的认识和做法
忽视软件需求分析的重要性(对用户没有完整正确的认识,急于求成、仓促上阵)
认为软件开发就是写程序(其实写程序只占10~20%工作量,软件配置包括程序、文档、数据)
(最大错误)轻视软件维护(维护费用占软件总费用55%~70%)
软件工程(包括技术和管理)
定义:是指导计算机软件开发和维护的一门工程学科
采用工程的概念、原理、技术、方法来开发和维护软件,把经过实践考验而证明正确
的管理技术和当前能得到的最好的技术结合,经济地开发高质量的软件并维护之。
本质特性:
关注大型程序的构造
中心课题是控制复杂性
产品交付使用后仍需要经常修改
开发效率很重要
和谐地合作是关键
软件必须有效支持用户
软件工程领域中通常由具有一种文化背景的人替另一种文化背景的人开发产品
软件工程方法学
3要素:方法、工具、过程
2个方法学
传统方法学(生命周期方法学or结构化范型)——自顶向下顺序完成
特点:
把软件生命周期的全过程依次划分为若干阶段,然后顺序地完成每个阶段的任务。
每一个阶段的开始和结束都有严格标准。
前一个阶段完成是开发下一个阶段的前提和基础,完成后一阶段使前一段提出的解法更加具体。
每个阶段结束前要从技术和管理两方面对开发成果进行检查(技术审查和管理复审)。
优点:
各阶段独立,便于分工协作,降低了整体开发难度。
每个阶段结束前都严格审查,保证质量,提供可维护性(但仍然很困难)。
提高软件开发成功率、生产率。
面向对象方法学——主动多次反复迭代的过程
把数据和行为看成同等重要的,以数据为主线,把数据和操作紧密结合的方法。
4要点:
把对象(object)作为融合了数据及在数据上的行为的统一的软件构件。
把对象划分成类(class)。
按照父类与子类的关系,把若干个相关类组成一个层次结构的系统。(继承)
对象彼此间仅能通过发送消息互相联系。(封装性)
优点:
多数对象与实体相对应,提高软件的可理解性,降低复杂性,简化开发和维护
对象是相对独立的实体,可重复使用,故促进了软件重用
继承性和多态性,促进软件重用
软件生命周期(三时期、八阶段)
定义:软件生成直到报废的生命周期。
1、软件定义时期
任务:确定工程的总目标、可行性、实现目标应采用的策略、系统必须完成的功能、估计资源和成本、制定工程进度表。
分为3个阶段:问题定义、可行性研究、需求分析
软件开发时期
任务:具体设计和实现软件。
分为4个阶段:系统设计(总体设计、详细设计)、系统实现(编码与单元测试、综合测试)
软件维护时期
任务:使软件持久地满足用户的需要。
阶段:软件维护
各阶段任务:
问题定义:回答要解决的问题是什么
可行性研究:阶段1定义的问题有行得通的解决办法吗
用最小代价在最短时间内确定问题能否被解决
需求分析:确定为了解决这个问题,目标系统要做什么,目标系统要具备什么功能
总体设计(概要设计):概况地说。怎样实现目标系统。设计程序的体系结构。
详细设计(模块设计):把解法具体化,如何具体地实现系统。详细设计每个模块,给出
算法和数据结构。
编码和单元测试(实现):写出正确易懂易维护的程序模块。
编码要把软件设计结果翻译成某种程序设计语言书写的程序。
测试时为了找出错误以纠正它。
综合测试:通过各种类型的测试使软件达到预定要求
软件维护:通过各种维护活动使系统持久地满足用户需求。(改正性、适应性、完善性、预防性)
软件过程
定义:是为了获得高质量的软件产品所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
8种典型模型:
瀑布模型
优势:规范的、文档驱动的方法
缺点:最终开发的产品可能不是用户需要的
快速原型模型
客服瀑布模型的缺点,通过快速构建起一个可再计算机上运行的原型系统,让用户使用原型并收集反馈意见,获取真正需求
增量模型
优点:开发早期使投资获得明显回报,容易维护
缺点:要求软件具有开发的结
您可能关注的文档
- (选修课)东方文学史-答案.docx
- 1-RSLinx-Classic-通信软件-安装步骤.docx
- 100条脑筋急转弯大全及答案[一]1.doc
- 2011版2333软件工程课后习题答案.doc
- 2012重庆市公需科目继续教育考试及答案-Microsoft-Office-Word-文档.docx
- 2013年软件工程期末试卷(自己整理的-很完整的).docx
- 2015-2016学年高中政 治(练习)第7课-第1框世界是普遍联系的.doc
- 2016.10超星学习通中国古代史-课后章节测验-答案.doc
- 2016年《行政事业单位内部控制规范(试行)》讲解--限时考试试题及答案.docx
- 2017年从爱因斯坦到霍金的宇宙-超星答案.docx
文档评论(0)