- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程理论与实践
目录
一. 引言 2
二. 什么是软件工程 2
1. 什么是软件 2
2. 软件开发中普遍存在的问题 3
3. 什么是软件工程 4
4. 为什么要实施软件工程 5
三. 软件工程的基本内容 6
1. 软件生存期 6
2. 软件工程过程 9
3. 软件工程方法 12
4. 软件工程管理 14
四. 怎样才能开发一个成功的项目 16
1. 开发者的困惑 17
2. 什么样的软件机构才具有质量保证的可信度 17
3. 了解您的项目所属类型 18
4. 开发过程中的关键点与人员 18
5. 如何实现工程化的软件开发 19
五. 结束语 19
引言
当人类从大规模的机械与电气化生产为特征的工业社会迈入以“3C”(即Communication通信,Control控制和Computer计算机)为特征的信息社会时,人们怎么也无法预料,信息技术会给人类社会带来如此巨大的变革。当“软件”像“硬件”一样成为人们日常生活与工作不可缺少的部件时,对软件以及开发人员的需求呈爆炸式的增长。但是,一方面是计算机技术人员的紧缺,另一方面是低层次的重复开发而对宝贵人力资源的浪费;一方面是社会对软件需求的巨增,另一方面是软件生产的低效和软件危机的爆发。人们从来也没有像现在这样认识到软件工程的重要。但是,面对浩繁的工程理论,人们感到茫然无措,IT人员的高流动性使得本就难以维护的软件更是“雪上加霜”。
能否按期、按质、按费用预算开发出一个用户满意的﹑可持久维护的软件系统,是开发者最为关心的问题。个体手工化的开发方式注定要造成项目的失败,而采用工程化的原则﹑方法与管理进行软件生产才是摆脱危机﹑使得软件开发成功的唯一出路。
本篇内容从用户需求的角度展开,围绕着什么是软件工程﹑为什么要实施软件工程﹑软件工程可以为用户开发系统提供何种帮助﹑如何应用理论指导实践以及开发一个成功的项目必须注意的关键活动。
什么是软件工程
什么是软件
不能够正确地理解软件的概念,就不可能开发出高质量的软件系统。软件不仅仅是程序,软件=程序+文档+数据+规范(规程),
规范(规程):是开发组织为某类软件开发制定的标准与规范,越是开发成熟度高的组织,其规范越具体越精确和量化,大多以模板﹑表格或规程等量化的形式表示,是软件工程理论的一种具体应用和实践。
数据:是一个软件系统正常运行所依赖的数据结构和必要的系统数据和用户数据
文档:是开发全过程中,按照组织规范(规程)填写的,与软件开发﹑维护和使用有关的图文材料或文件。它是对程序必要的补充说明,是软件重要的组成部分。
程序:是可执行的程序﹑程序的源代码﹑必要的注释以及必要的程序资源(如动态链接库,控件或API函数等),可理解和可测试性比程序技巧更为重要。
软件产品必须要有一个完整的配置,程序只是软件产品的一个组成部分。
尽管人们借助硬件的概念定义了软体为软件,实际上软件具有它自己的特点。
软件是一个逻辑实体,而不是一个具体的物理实体,看不见摸不着,只能通过观察﹑分析﹑思考与判断去了解它,因而具有抽象性。
软件生产与硬件不同,没有明显的制造过程,也不像硬件那样,一旦研制成功,可以重复制造,而且硬件质量是在制造过程中进行控制的。软件的生产实际上是高智力的开发过程,它的质量是在开发过程中进行全程控制的,更具有复杂性和难于控制,而一旦研制成功,它的生产仅仅是复制。
软件在运行与使用期间没有硬件那样的机械磨损和老化问题,硬件的维护不频繁,主要在修理和更换部件上;而软件需时时维护,且更具复杂性,软件维护具有修改的特征,本身就是一个二次开发的过程,往往使得系统的功能加强。
软件开发是一个高智力﹑创造性及高强度的脑力劳动,需各种人才协同工作,管理复杂度高,甚至软件系统开发的成败七分在管理三分在技术,人员的流动不利于开发工作,也不是一个项目组中人员与越多越好,十分强调开发组的组织结构与人员分工与投入比例。
由于软件开发至今尚未完全摆脱手工工艺的开发方式,管理技术﹑开发技术以及相应的工具支持还很欠缺,人们软件工程应用的水平还比较低,使得软件生产率低且质量难于保证。
软件在其开发过程中,错误具有积累和放大的效应
总之,软件开发应该加强管理,重视前期的计划﹑分析与设计,坚持阶段评审,充分采用实践中成型的工程开发模式和规范,利用工具提高工程开发效率和应用水平,注重开发全过程的质量控制和过程控制。
软件开发中普遍存在的问题
问题即是难点,只有认清问题,才能避免错误从而走向成功。由于人们对软件没有清楚的认识,加之软件本身固有的特点和软件技术发展的局限,使得开发一个成功的项目很难。问题主要有以下几个方面:
软件开发无计划性
由于缺乏软件开发的经验和有关开发数据的积累,使得开发工作的计划很难制定,即使制定了计划,由于凭主观盲目制定,而使计划脱离实际难于实施。
您可能关注的文档
- 绿色通道车辆检测方案.doc
- 超简单的32种拍摄技巧.doc
- 跨文化差异认规知律探的索.doc
- 绿智能室内设计实务班题库.doc
- 综合练习二必修多媒体综合卷.doc
- 跨境电子商务发展形势介绍.docx
- 超经典54部国外动画片介绍.doc
- 网上书店系统需求分析.doc
- 跨白竹河贝雷梁钢便桥施工方案.docx
- 编制计算机程序解决问题.doc
- 阳光课件宣传展板图片.pptx
- 2023年陕西省西安市蓝田县蓝桥乡招聘社区工作者真题带答案详解.docx
- 2023年陕西省西安市蓝田县蓝桥乡招聘社区工作者真题及完整答案详解1套.docx
- 2023年陕西省西安市蓝田县蓝关镇招聘社区工作者真题附答案详解.docx
- 2023年陕西省西安市蓝田县蓝桥乡招聘社区工作者真题参考答案详解.docx
- 2023年陕西省西安市蓝田县蓝关镇招聘社区工作者真题带答案详解.docx
- 2023年陕西省西安市蓝田县蓝关镇招聘社区工作者真题及完整答案详解1套.docx
- 2023年陕西省西安市蓝田县葛牌镇招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省西安市蓝田县蓝关镇招聘社区工作者真题及参考答案详解.docx
- 2022年湖北省襄阳市中考地理真题(解析版).pdf
文档评论(0)