- 1、本文档共118页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程思想课件.ppt
软件工程思想 前 言 在60年代计算机发展初期,程序设计是少数聪明人干的事。他们的智力与技能超群,编写的程序既能控制弱智的计算机,又能让别人看不懂、不会用。那个时期编程就跟捏泥巴一样随心所欲,于是他们很过分地把程序的集合称为软件,以便自己开心或伤心时再把程序捏个面目全非。人们就在这种美滋滋的感觉下热情地编程,结果产生了一堆问题:程序质量低下,错误频出,进度延误,费用剧增……。这些问题导致了“软件危机”。 前 言 前 言 软件工程主要讲述软件开发的道理,基本上是软件实践者的成功经验和失败教训的总结。软件工程的观念、方法、策略和规范都是朴实无华的,平凡之人皆可领会,关键在于运用。我们不可以把软件工程方法看成是诸葛亮的锦囊妙计─—在出了问题后才打开看看,而应该事先掌握,预料将要出现的问题,控制每个实践环节,并防患于未然。研究软件工程永远做不到理论家那么潇洒:定理证明了,就完事。 第一章“软件工程基本观念”; 第二章“程序员”; 第三章“项目计划与质量管理”; 第四章“可行性分析与需求分析”; 第五章“系统设计”; 第六章“C++ 面向对象程序设计”; 第七章“测试与改错”; 第八章“维护与再生工程”。 第一章 “软件工程基本观念” 1.1 软件工程的目标与常用模型 软件工程的目标是提高软件的质量与生产率,最终实现软件的工业化生产。质量是软件需求方最关心的问题,用户即使不图物美价廉,也要求个货真价实。生产率是软件供应方最关心的问题,老板和员工都想用更少的时间挣更多的钱。质量与生产率之间有着内在的联系,高生产率必须以质量合格为前提。如果质量不合格,对供需双方都是坏事情。 质量与生产率之间不存在根本的对立,好的软件工程方法可以同时提高质量与生产率。 对开发人员而言,如果非得在质量与生产率之间分个主次不可,那么应该是质量第一,生产率第二。这是因为: (1)质量直接体现在软件的每段程序中,高质量自然是开发人员的技术追求,也是职业道德的要求。 (2)高质量对所有的用户都有价值,而高生产率只对开发方有意义。 (3)如果一开始就追求高生产率,容易使人急功近利,留下隐患。宁可进度慢些,也要保证每个环节的质量,以图长远利益。 软件的质量因素 正确性,性能、可靠性、容错性、易用性、灵活性、可扩充性、可理解性、可维护性等等 Orz…… 有些因素相互重叠,有些则相抵触,真要提高质量可不容易啊! 软件工程的主要环节 人员管理、项目管理、可行性与需求分析、系统设计、程序设计、测试、维护等 软件工程模型建议用一定的流程将各个环节连接起来,并可用规范的方式操作全过程,如同工厂的生产线。常见的软件工程模型有:线性模型,渐增式模型,螺旋模型,快速原型模型,形式化描述模型等等 图1.2 软件工程的线性模型 软件工程的渐增式模型 套用固定的模型不是程序员的聪明之举。比如“程序设计”与“测试”之间的关系,习惯上总以为程序设计在先,测试在后 而对于一些复杂的程序,将测试分为同步测试与总测试更有效 1.2软件开发的基本策略 人们都有自己的世界观和方法论,能自然而然地运用于生活和工作中。同样,程序员脑子里的软件工程观念会无形地支配其怎么去做事情。软件工程三十年的发展,已经积累了相当多的方法,但这些方法不是严密的理论。实践人员不应该教条地套用方法,更重要的是学会“选择合适的方法”和“产生新方法”。有谋略才会有好的战术。几千年前,我们的祖先就在打闹之际写下了很多心得体会,被现代人很好地运用于工业和商业。 1.2软件开发的基本策略 1.2.1 复用 1.2.2 分而治之 1.2.3 优化——折衷 1.2.1 复用 复用就是指“利用现成的东西”,文人称之为“拿来主义”。被复用的对象可以是有形的物体,也可以是无形的成果。复用不是人类懒惰的表现而是智慧的表现。因为人类总是在继承了前人的成果,不断加以利用、改进或创新后才会进步。 软件复用不仅要使自己拿来方便,还要让别人拿去方便,是“拿来拿去主义”。 1.2.2 分而治之 1.2.3 优化——折衷 软件的优化是指优化软件的各个质量因素,如提高运行速度,提高对内存资源的利用率,使用户界面更加友好,使三维图形的真实感更强等等。想做好优化工作,首先要让开发人员都有正确的认识:优化工作不是可有可无的事情,而是必须要做的事情。当优化工作成为一种责任时,程序员才会不断改进软件中的算法,数据结构和程序组织,从而提高软件质量。 1.2.3 优化——折衷 假设我们经过思想教育后,精神抖擞,随时准备为优化工作干上六天七夜。但愿意做并不意味着就能把事情做好。优化工作的复杂之处是很多目标存在千丝万缕的关系,可谓数不清理还乱。当不能够使所有的目标都得到优化时,就需要“折衷”策略。 软件中的折衷策略是指
您可能关注的文档
最近下载
- 中国农村居民人均收入及消费支出分析毕业论文.docx
- DBJ/T45-066-2018(J11629-2018)广西岩土工程勘察规.pdf
- 2024年春上海开放大学马克思主义基本原理计分作业1-8答案.pdf
- 国家开放大学《电子商务网站规划与设计》大作业参考答案.docx
- 基于Node和VUE3.0的景区旅游APP系统设计与实现.docx VIP
- (正式版)D-L∕T 806-2013 火力发电厂循环水用阻垢缓蚀剂.docx VIP
- 双光镜片屈光度检测修改完20201013.ppt
- 23G523-1_型钢混凝土组合结构构造 图集.docx
- 锅炉给水泵检修方案.doc
- 第16课 国家出路的探索与列强侵略的加剧说课课件 高中历史统编版(2019)必修中外历史纲要上册.pptx
文档评论(0)