软件实现技术.ppt
《软件实现技术.ppt》由会员分享,可在线阅读,更多相关《软件实现技术.ppt(47页珍藏版)》请在三一办公上搜索。
1、第6章 软件实现技术,清华大学出版社,主编贾铁军 甘泉 副主编俞小怡 宋少婷,软件工程与实践,上海市教育高地暨特色专业建设配套教材,高等院校计算机与信息类规划教材,目 录,第6章 软件实现技术,第6章 软件实现技术教学目标 理解软件实现的过程、任务、准则、策略 掌握软件实现的方法、集成与发布 熟练掌握编程技术、风格、编程规范、软件生成技术 掌握相关文档的编写方法及软件工具应用,6.1 软件实现技术概述,6.1 软件实现技术概述 软件实现阶段主要任务是将详细设计的结果转换为计算机程序。解决的主要问题:软件实现的过程、任务、原则及策略,程序设计语言的特性及选择的原则和程序设计风格等。6.1.1 软
2、件实现的过程及任务 1.软件实现的过程 在宏观上,“面向对象实现”的目标是:遵照制定的程序设计规范,按照详细设计说明在宏观上,“面向对象实现”的目标是:遵照制定的程序设计规范,按照详细设计说明书中对数据结构、算法分析和模块实现等方面的要求和说明,从软件企业的函数库、存储过程库、类库、构件库、中间件库中挑选有关的部件,采用面向对象的语言,将相关部件进行组装,分别实现各模块的功能,最终实现新系统的功能、性能、接口、界面等要求。,6.1 软件实现技术概述,在微观上,软件实现是指通过编程、调试、单元与集成测试、系统集成等创建软件产品的过程。软件实现的输入是详细设计说明书,输出是源程序、目标程序和用户指
3、南。如图6-1所示。2.软件实现的任务 软件编程的任务是对“详细设计”的工作进行具体实现,形成计算机可运行的程序。软件实现工作量根据项目性质及规模不同,在整个软件开发过程中约占30%-50%。,图6-1软件实现过程,6.1 软件实现技术概述,6.1.2 软件实现的准则1面向对象实现的准则实现的准则主要包括:(1)高可重用性。(2)高可扩充性。(3)高可靠性及健壮性。2其他软件实现方法的准则对于其他软件实现方法,主要遵循5个准则:(1)精简编程。(2)便于验证。(3)适合更新扩充。(4)遵守编程规范。(5)选择熟悉的语言及工具。,6.1 软件实现技术概述,6.1.3 软件实现策略与管理1软件实现
4、的策略开发策略主要有3种:(1)OOP开发策略。(2)自顶向下策略。(3)自底向上策略。2软件实现的管理 为了确保工期提高开发效率,需要对人力资源进行有效组织。最好将程序员组成开发小组,以团队承担编程工作。小组组成具有平等协作制、组长负责制和技能互补制三种形式。开发管理人员,对项目开发的进度和工作安排都必须有详细计划,出现软件危机最主要的两个因素就是开发成本难控制和开发计划难落实。,6.1 软件实现技术概述,3编程框架 编程框架主要是软件的基础构架,为应用程序所包含的业务对象、数据访问和界面逻辑中的基类。编程框架可由建模工具根据设计模型通过正向工程直接生成。4软件实现有关问题(1)软件实现的报
5、告与审批。(2)发挥程序员的独创性。(3)功能编程、界面编程以及后台数据库的编程应分开实现。,6.1 软件实现技术概述,5版本控制软件一般具有中间版本、版本、版本、发布版本和维护版本等,以不同标号标识。课堂讨论:(1)什么是软件实现?软件实现的过程是什么?(2)通常软件实现主要遵循原则有哪几个?(3)软件实现策略有那些?举例说明。,6.2 软件程序设计,6.2.1 程序设计语言概述1.程序设计语言的概念程序设计语言是人与计算机交流的工具。编写程序的过程也被称为编程或编码,是根据软件分析和设计模型及要求,编写计算机理解的运行程序的过程。2.程序设计语言的发展(1)第一代语言。(2)第二代语言。(
6、3)第三代语言。(4)第四代语言。,6.2 软件程序设计,3.程序设计语言的分类程序设计语言种类很多,可从不同角度分类。(1)从语言层次方面,可分为面向机器的语言和面向问题的语言两大类。(2)从语言适用性方面,可分为通用语言和专用语言两类。(3)从语言面向方面,可分为面向过程语言和OOL两类。(4)从应用领域,可分为科学计算、数据处理、实时处理和人工智能等语言,6.2 软件程序设计,(5)从语言级别上,分为低级语言和高级语言。如图6-2为其分类图。,图6-2 高级语言分类图,6.2 软件程序设计,从应用特点分,高级语言又可分为基础语言、现代语言和专用语言3类。从语言的内在特点分,高级语言还可分
7、为系统实现语言、静态高级语言、块结构高级语言和动态高级语言等4类。,【案例6-1】根据2011年“TIOBE世界编程语言排行榜”统计,对其中前10种常用编程语言的使用概率进行排名,可以了解目前常用编程语言的使用情况,并展现全球范围内编程语言的应用趋势。如表6-1所示。,6.2 软件程序设计,表6-1 十种常用编程语言的使用排名,6.2 软件程序设计,常用编程语言具有其各自的特点:(1)C语言。(2)C+语言。(3)Java语言。(4)C#语言。(5)PHP语言。(6)Python。(7)VB语言。(8)Perl语言。(9)JavaScript。(10)Delphi。,6.2 软件程序设计,6.
8、2.2 程序设计语言的选择 1.选择程序设计语言的准则 选择程序语言主要考虑的因素和准则,包括6个方面:(1)适合软件应用领域。(2)利于软件运行环境。(3)软件开发人员熟悉。(4)有助于性能实现。(5)算法和计算复杂性简便。(6)数据结构的复杂性低。,6.2 软件程序设计,2优先选取高级语言 在选择与评价时,先查看问题需求,权衡其要求及其重要性,然后有针对性地根据其特性选取程序设计语言。合适的程序设计语言可使编程简便、测试量少、阅读和维护容易。通常优先选择高级语言,主要因为高级语言明显优于低级语言。,6.2 软件程序设计,3尽量选取OOL 选择OOL的关键是语言的一致表达能力、可重用性及可维
9、护性。还应着重考虑以下实际因素。(1)可重用性。(2)代码重构是软件进化的重要手段,考虑:重复代码。函数过长。循环过长/嵌套过深。类的内聚性差。方法传递过多参数。(3)类库和开发环境。将语言、开发环境和类库3个因素综合,共同决定可重用性。,6.2 软件程序设计,(4)适应发展趋势,未来仍处于主导地位,不会很快被淘汰。(5)其他因素。4选取编程语言的标准 选取程序设计语言标准,主要有两大方面:1)理想化标准主要体现在3个“有利于”:(1)有利于实现的优质高效。(2)有利于实现功能性能及可靠性。(3)有利于降低软件开发及维护成本。,6.2 软件程序设计,选取程序设计语言标准,主要有两大方面:1)理
10、想化标准主要体现在3个“有利于”:(1)有利于实现的优质高效。(2)有利于实现功能性能及可靠性。(3)有利于降低软件开发及维护成本。2)实用性标准选取程序语言不仅限于理论标准,应兼顾实用要求。(1)程序语言自身特性。(2)软件的应用领域。(3)软件开发环境。(4)软件开发方法。根据其特点,应考虑3个方面:语言的发展前景。类库的可扩展性。开发环境。(5)编程人员的熟悉情况。(6)算法和数据结构的复杂性。(7)软件可移植性要求。,6.2 软件程序设计,6.2.3 常用程序设计方法 1模块化程序设计 模块化程序设计思想是在进行程序设计时将一个大程序按照功能划分为若干小程序模块,每个小程序模块完成一个
11、确定功能,在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能。,6.2 软件程序设计,2结构化程序设计 结构化程序设计(Structured Programming,SP)是以模块功能和处理过程设计为主的详细设计过程。是软件发展的一个重要里程碑。SP方法是达到这一目标的重要手段。主要具有以下特点:(1)自顶而下,逐步求精。(2)结构化的程序由且仅由顺序、选择、循环三种基本控制结构组成,既保证了程序结构清晰,又提高了程序代码的可重用性。,6.2 软件程序设计,3.OOP设计1)OOP设计思想 是为了解决面向过程程序设计中存在的功能与数据分离而引起的程序复杂性问题而设计的。与SP相比,更
12、易于实现对现实世界的描述。通过对象机制来封装处理与数据,以控制程序的复杂度,通过继承提高程序可重用性和软件开发效率。2)OOL OOL是以对象作为基本程序结构单位的程序设计语言,用于描述的设计是以对象为核心,对象是程序运行时的基本成分。语言中提供了类、封装、继承、消息等机制。,6.2 软件程序设计,比较OOP和面向过程程序设计,还可得到OOP的其他优点:(1)数据抽象概念可在保持外部接口不变情况下改变内部实现;(2)继承性减少冗余代码,提高编码效率,减低出错概率和维护的难度;(3)结合OOA与OOD,减少软件开发过程中中间环节的转换过程;(4)利用对象的辨别与划分,在一定程度上更便于控制软件复
13、杂度;(5)以对象为中心的设计从静态(属性)和动态(方法)两个方面把握问题,从而更好地实现系统;(6)由对象的聚合联合可在保证封装与抽象的原则下,实现对象在内在结构以及外在功能上的扩充,从而实现对象由低到高的升级。,6.2 软件程序设计,6.2.4 编程规范及风格编程风格是在长期的编程实践中形成的一套独特的习惯做法和方式。优良的编程风格可以减少编程错误,提高可读性和维护效率。1.好程序的标准,【案例6-2】著名的“千年虫”问题,主要由于在过去开发程序时只使用2个存储位表示年份,省略了前面“19”2位。这种程序应用很广泛,在2000年以前没有出现问题,但是到了2000年,表示年份的数字就会变成“
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 实现 技术

链接地址:https://www.31ppt.com/p-6434175.html