欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    实用软件工程第8章(4课时)ppt课件.ppt

    • 资源ID:1745048       资源大小:370.50KB        全文页数:41页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实用软件工程第8章(4课时)ppt课件.ppt

    实用软件工程,-IT企业软件的开发与管理赵池龙,8.1 软件实现概论,软件实现的输入是详细设计说明书,输出是源程序、目标程序及用户指南。 根据“五个面向理论”,编程实现的主要方法是“面向对象实现”。 因为现在流行的编程语言,基本上都是面向对象的语言,如Delphi,Visual Basic,C+,C#,Java等。所以软件实现,主要的方法都是“面向对象实现”。,宏观上讲,“面向对象实现”的目标是:按照详细设计说明书的要求,从公司的函数库、存储过程库、类库、构件库、中间件库中挑选有关的部件,遵照软件公司的程序设计规范,按照详细设计说明书中对数据结构、算法分析和模块实现等方面的设计说明,用面向对象的语言,通过穿针引线的方法,将这些部件组装起来,分别实现各模块的功能,从而实现目标系统的功能、性能、接口、界面等要求。,微观上讲,软件实现是指通过编码、调试、单元测试、集成测试等活动创建软件产品的过程。 软件实现与软件设计、软件测试密不可分。软件设计为软件实现提供输入,软件实现的输出是软件测试的输入。尽管软件设计和软件测试是独立的过程,但软件实现本身也涉及到设计和测试工作,它们之间的界限视具体项目而定。 软件实现还会产生大量的软件配置项,例如,源文件、测试用例等,因此软件实现过程还涉及配置管理,如图8-2所示。,软件实现示意图,实现过程是不可缺少的,需求分析和软件设计是为了更有效地软件实现,软件测试是为了保证软件实现的正确性,因此,软件实现成为软件工程的核心任务之一。 软件实现在开发过程中占据很大的比例,根据项目性质的不同,大约占30%80%之间。一般而言,软件企业越大越正规,软件实现的比重就越轻。反之,软件实现的比重就越重。 只有软件实现是软件工程中唯一不可缺少的步骤。因为:有个别特殊项目可能不经过需求分析和设计就直接进入编码实现阶段,有个别特殊项目会省略掉测试,但无论如何,实现过程是不可缺少的。,设计与实现有时是迭代进行的,由于软件设计过程可能贯穿于整个开发过程,因此,有时不应将它看作一个独立的阶段。对某些小型的项目,设计过程通常在实现时完成;对某些大型的项目,会明确地划分架构设计和详细设计两个阶段,即使如此,有些详细设计工作仍会留在实现阶段完成。这就是迭代模型产生的背景之一。,软件企业需要管理好的问题,大型软件企业在软件实现工作中,还需要管理好如下问题:1. 建立公司的软件开发财富库2. 构件的实现及构件库的管理3.中间件的实现及中间件的管理4.程序设计风格与编程规范的管理,1. 建立公司的软件开发财富库,新增函数的实现及函数库的管理,新增存储过程的实现及存储过程库的管理,新增类的实现及类库的管理,新增构件的实现及构件库的管理,新增中间件的实现及中间件的管理。这些库统称为开发财富库。 如果读者所在的软件组织处在初创时期,函数库、类库、构件库都是空白,那么就只能利用面向对象语言自带的函数和基础类库,从头创业,一边对系统进行编程实现,一边在实践中积累函数、类和构件,逐步建立自己的函数库、类库和构件库,为日后的开发准备财富。,2. 构件的实现及构件库的管理,【定义8-1】所谓构件(Component),就是被标识的、且可被复用的软件制品 (Arteface)。 构件与部件、组件基本上是一个意思,有时会认为部件和组件的粒度比构件大一些或范围广一些。 上述定义有三个特点: 第一、构件要被明确标识,即有一个被调用的名字; 第二、构件应该可复用,不可复用的只能称做模块或子系统; 第三、构件是软件制品,在宏观上软件制品可以是项目计划、成本估计、体系构架、需求模型、设计模型、程序代码、窗口界面、文档、数据结构、测试用例等。,构件的实现及构件库的管理(续),微观上的构件,通常是指程序代码级的构件。这种构件在技术上的三个流派:Sun的Java平台、Microsoft的COM+平台、IBM的CORBA平台。构件具有接口标准、通信协议、同步和异步操作。 构件有两种级别: (1) 可执行文件级别上的构件,它是已通过编译的构件,因而与语言无关。 (2) 源代码级别上的构件,实际上只是构件模板,可以用多种语言实现,当然与语言有关。,构件的实现及构件库的管理(续),大型软件企业内部有构件库。构件库是组织管理构件的仓库,程序员必须知道新增构件的实现及构件库的管理,它是软件实现的重要内容。 构件库管理系统的功能:构件的分类、入库、检索、浏览与存储,对不再使用的构件进行删除,对构件使用情况的统计与评价。,3中间件的实现及中间件的管理,中间件是一个非常大的组件,一般在网络上运行,完成批量数据的传递和通信工作,调用方式是通过一组事先约定的格式与参数进行的。 常见的中间件为文件传输中间件,如IBM公司的消息队列中间件MQ(Message Queue),在网络节点之间进行点对点的数据通信和传输。又如城市医疗保险系统中的中间件,它在市医保局节点和全市各家医院节点之间,进行点对点的数据通信和传输,病号每次划价计费,节点之间就交换一次信息。 在详细设计说明书中,已对新增中间件的功能和算法进行了详述,此处只要将详细设计翻译为源程序即可。,4程序设计风格与编程规范的管理,为了提高编程实现的质量,不仅需要有良好的程序设计风格,而且需要大家一致遵守的编程规范。 程序设计风格的内容包括:规范化的程序内部文档、数据结构的详细说明、清晰的语句层次结构、遵守某一编程规范。 编程规范的内容包括:命名规范、界面规范、提示及帮助信息规范、热键定义等。,8.2 软件实现原则,(1) 尽量简单 在软件实现过程中,应创建简单、易读的代码。相同功能的代码只写一次。 (2) 易于验证。 无论是在编码、测试还是实际操作中,应该很容易地发现其中的错误。自动化的单元测试可帮助产生易于验证的代码。 (3) 适应变化。 外部环境、软件需求和软件设计,在整个开发过程中可能会随时变化,因此要求软件实现时考虑适应这些变化。 (4)遵守某一编程规范。 (5)选择项目组成员最熟悉的工具或语言。,*8.3 编程语言,编程语言可分为三类: 1语言符号 使用文本来构建软件。这些文本遵循一定的语法规则,并提供相应的语义,使用者可以直观地理解软件将完成的工作。如HTML、XML等标记语言。 2形式化符号 采用精确的、形式化定义的符号来构建软件。形式化符号和形式化方法是系统级编程的重要形式。如Pascal语言。 3可视化符号 采用可视化的部件来构建软件,通常用于界面元素的编程。如Visual Basic语言。,编程语言(续),(1) Java Java是一种面向对象的编程语言,语法结构与C+类似。Java在虚拟机上运行,通过为不同的平台提供虚拟机,实现了Java跨平台的特性。Java被广泛用于应用服务器端程序和移动设备程序中。 (2) C C既具有高级语言的特征,又具有低级语言的功能,被广泛应用于系统软件,嵌入式应用软件。 (3) C+ 在C基础上发展起来的一种面向对象的语言,C+提供了类,多态,异常处理,模板,标准类库等。,编程语言(续),(5) Visual Basic Visual Basic是一种面向对象、可视化的编程语言,用于开发Windows桌面应用程序和Web应用程序。 (7) C# C#语法与Java类似,是.Net平台上编程语言。 (10) Delphi Delphi是一种强类型的高级编译语言,支持面向过程、面向数据和面向对象的三种开发方法。Delphi源自Pascal,提供了大量的快速应用程序开发组件。主要用于数据库应用程序开发。,*8.4 编码技术,1. 编码标准 遵循规范化的源代码布局和命名规范,可以创建可读性好,易于理解的代码。 大型软件企业都有一套开发标准、编码标准、界面标准,在全企业内推广应用,形成自已的企业文化。新员工必须严格遵守,迅速适应。,编码技术(续),2代码布局 代码的布局不影响程序的执行速度、内存使用,以及对用户可见的属性。 代码布局应遵循的基本原则:代码布局能够正确地反映程序的逻辑结构。 好的代码布局能加强程序的可读性。可读性好的代码,更易于理解,易于维护,可以减少修改、调试以及审查的工作量。 通常,程序员通过缩排和空格表示程序内部的逻辑。又称锯齿形程序布局。,编码技术(续),3实体命名 代码中存在大量的实体名,如变量名、方法名、类名、接口名、包名等。好的命名可以提高代码的可读性。 在对一个实体进行命名时,最重要的一点,是名称能够准确地反映实体的本质。先使用一句话来描述实体所代表的事物,然后抽取一个或几个单词作为实体的名称。 研究表明,命名长度在10到16个字符之间,调试代码所需的工作量最少,过长或过短的命名不易于代码的理解。,3实体命名(续),实体命名可遵循的规则: (1)类名和对象:在Java和C+中,通常类名的首字母大写,对象名的首字母小写。 (2)全局变量:加上统一的前缀,例如,表示所有在线人数可以使用g_totalOnline。 (3)成员变量:在类的成员变量前添加统计的前缀,例如_或m_,这样可以很容易地区分成员变量和局部变量。 (4)常量:在Java和C+中,通常以全部大写的单词表示常量,单词间以下划线分隔。例如MAX_VALUE表示最大值。,编码技术(续),4错误处理 程序执行过程中,可能出现可预测和不可预测的错误,错误处理方式将影响到软件的正确性、稳定性以及其它的非功能属性。可以采取以下措施进行处理: (1)返回一个中性值:当错误发生时,程序继续执行,返回一个中性的值。例如,数值计算返回0;字符串操作返回空字符串。 (2)返回下一个有效值:当一次操作失败后,执行下一次操作。例如,从网络中读取数据失败后,取下一个有效值。 (3)返回前一个有效值:当一次操作失败时,返回上一次成功操作的值。例如,从网络中读取数据失败时,返回上一次读到的有效值。,4错误处理(续),(4)返回最相近的有效值:例如,一个方法计算应返回一个非负数,如果计算值小于0,则返回0。 (5)记录日志:当错误发生时,记录日志文件,并继续执行。 (6)返回错误代码:返回错误代码,指示错误发生的原因,调用者可根据错误代码进行错误处理。 (7)调用错误处理函数:用错误处理函数来统一地进行错误处理,这样做的好处是可以集中地对错误进行管理。 (8)显示错误信息:当错误发生时,向用户提示错误信息。例如,用户录入了非法数据时,向用户提示正确的输入格式。 (9)退出程序:这种方式对一些安全性要求较高的程序比较适合,防止继续操作可能带来的破坏。,编码技术(续),5代码重构 代码重构是软件进化的重要手段,需要重构的例子有: (1)重复代码:重复的代码需要你做重复的修改,即要修改一个地方,就要平行地修改其它地方。 (2)函数过长:在面向对象的编程中,很少需要超过一屏的函数。出现这种情况,暗示着你使用了过程化编程方式,来进行面向对象的编程。 (3)循环过长:过长的循环体最好变成独立的函数,可有效地降低循环的复杂度。 (4)内聚性差:如果你发现一类是一些不相关的责任的集合,这个类应该分解成多个类,每个类负责一个逻辑相关的责任集合。 (5)参数过多:好的函数通常比较简短,不应有过多的参数。过多的参数通常表示方法没有很好地抽象。,编码技术(续),6成对编程 成对编程的定义:当进行成对编程时,一个程序员输入代码,另一个在旁边观察代码中是否存在错误,并思考下一步要进行的工作。 成对编程的优点: (1) 可以提高代码的可读性和可理解性,产生高质量的代码。 (2) 提高编程效率,使编程速度更快,代码错误更少。后期测试和纠错的工作量就大大降低。 (3) 成对编程可以提高开发团队的凝聚力和协作精神。,*8.5 软件实现管理,1过程模型 这里讲的过程模型,是指软件开发模型。过程模型从其规范程度可分为两大类,重量级开发模型和轻量级的敏捷开发模型。不同的软件开发模型,对软件实现的重视程度不同。 (1)对于瀑布模型和RUP模型等重量级开发模型,实现阶段必须在前期工作(需求分析、架构设计、详细设计)的基础上才能进行。 (2)对于敏捷开发过程等轻量级开发模型,实现阶段趋向于和其它的软件开发活动(需求、设计、测试)同步执行。敏捷开发过程倾向于将编码、设计、测试混合在一起构成实现活动。,软件实现管理(续),2开发计划 影响开发计划的因素是: (1)过程模型影响开发计划。不同的开发模型,有不同的开发计划。因为:开发计划定义了系统部件创建和集成的顺序、质量管理过程和开发任务分配等。 (2)项目大小也影响开发计划。估计项目大小和所需要的工作量,是开发计划和软件项目管理中最具挑战性的问题。准确估计是保证软件项目按质、按量、按时完成的重要因素。 那么,如果开发计划出现延期,怎么办呢?,出现延期的处理方式,(1)增加开发人员。行不行?不行!因为:向一个延期的项目添加人员,无异于火上浇油。 (2)减少项目内容。行不行?行!因为:减少项目的内容可以防止项目继续延期。怎样减少呢?在项目初期,应当标识项目特征的优先级。优先级可以为“必须具有”、“最好具有”和“可选项”。这样,如果项目延期了,就可以按优先级来缩减项目内容。 (3)有什么办法使项目不延期呢?有!这就是二八定律。要将二八规律作为制定开发计划的座右铭,落实到工作量估计、进度估计和其他资源估计上去。,软件实现管理(续),3实现度量 常见的度量包括如下五个方面: (1) 程序大小 代码行数 注释行数 类或函数的数量 数据声明的数量 (2) 缺陷跟踪 缺陷情况(严重程度、位置、来源、修正方式、修正人、影响代码行数、花费工时) 发现缺陷的平均时间 修正缺陷的平均时间 修正缺陷引入新错误数量,实现度量(续),(3) 生产力 项目总工时 每个类或函数的工时 项目花费 每行代码花费 每个缺陷花费 (4) 整体质量 缺陷总数量 每个类或函数的缺陷数量 每千行代码的缺陷数量,实现度量(续),(5) 可维护性 每个类公共数据、公共方法、私有数据、私有方法、代码行、注释行的数量。 每个方法的参数、局部变量、调用其它方法、决策点、代码行、注释行的数量。 以上五个方面的度量数据,都是存入软件公司的测量数据库,作为公司软件管理的财富。,8.6 屏幕界面设计,本节以程序设计语言PowerBuilder/ Visual Basic/ Delphi为背景,以C/S两层结构为基础,来说明软件实现方法中的有关细节,所以比B/S三层结构复杂。 屏幕界面上看得见的窗口、画面、图像、按钮等对象,在设计与实现中,统称为“控件”。构件分为可视构件和非可视构件两种,控件是一种可视构件。上述控件的有机排列和组合,就构成了用户需求的各种屏幕界面。屏幕界面设计包括三个级别: (1) 控件级设计 (2) 窗口级设计 (3) 系统级设计 屏幕界面设计原则是:界面简洁朴素,控件摆放整齐,颜色风格统一,照顾客户习惯。,8.8 软件实现文档,本节以C/S两层结构为基础,来说明软件实现文档中的有关细节,所以比B/S三层结构复杂。1实现文档的组成 软件实现文档由源程序清单和用户指南组成。由于面向对象的语言与面向过程的语言有所不同,所以完整的源程序清单有时打印不出来,往往只能打印出部分源程序清单。一般的做法是:不打印出源程序清单,只保留其电子版本。 用户指南主要包括用户使用手册和用户安装手册 。 在特殊情况下,例如,数据库服务器上的存储管理、数据维护、数据备份、数据传输等问题较复杂时,在用户指南中还要增加系统管理员手册的内容。,软件实现文档(续),2用户指南的编写要求 (1)统一采用编写工具Word2003进行编写。 (2)用统一的风格和确定的方法,描述产品提供的所有功能。描述之后的功能,应该具有如下特点:对于每一项功能的描述应该完整。 (3)术语部分包括系统术语和基本概念。系统术语在整个系统的含义是统一的,放在前言部分描述。基本概念在各有关章节进行描述。 (4)语言要简洁明快,表达准确。一句话不要太长,中间可以断句几次。 (5)指南格式应统一。,软件实现文档(续),3用户指南的排版建议 (1)2人以上合作编写,一定要有一人负责统稿。 (2)交稿前一定要最后一次仔细审读。 (3)图以章为序,如图5.1或图5-1(半字线连接章号和图号),图的标题在图的下方。 (4)表以章为序,如表3.1或表3-2,表的标题在表的上方。 (5)命令格式。操作步骤中使用的命令按钮、菜单命令项、标签项等名称用【】界定。如:打开【开始】菜单选择【程序】项 (6)例题格式。例题以章为序,并用【】界定。如【例3.5】或【例3-5】。,用户指南的排版建议(续),(7)交稿前一定要最后一次仔细审读,尽量减少不应有的文字录入错误,并做到5个衔接、6个统一、7个对应: 5个衔接是:章节号、表序号、图序号、公式号、页码号要连续衔接,不重、不漏。 6个统一是:格式、层次、名词术语、符号、代号、计量单位要统一、一致。 7个对应是:目录与正文标题、标题与内容、正文与插图、正文与表格、图中代号与图注、前后内容要对应,避免重复和矛盾。 (8)严禁用Word 2003自动格式生成章节标题或序号。,软件实现文档(续),4用户指南的编写原则 (1)列出应编制文档的目录。 (2)提示编制文档应参考的标准。 (3)指定文档管理员。 (4)提供编制文档所需要的条件,落实文档编写人员、主管和所需经费以及编制工具等。 (5)明确保证文档质量的方法,为了确保文档内容的正确性、合理性,应采取一定的措施,如评审、审稿、鉴定等。 (6)绘制进度表,以图表形式列出各阶段应产生的文档、编制人员、编制主管、编制日期、完成日期、评审日期等。,软件实现文档(续),5用户指南的审核鉴定 为了保证文档的质量以及文档内容的正确性、合理性,软件工程管理部门应对用户指南进行评审和鉴定工作,提出改进意见,有利于整个文档质量的提高。6软件实现管理文档 软件实现管理文档包括用户指南评审报告,模块源程序行统计表(行/模块名),源程序工作量统计表(行/人天)。这些管理文档均较简单,作为习题,由读者自己完成。,8.9 本章小结,对于有经验的程序员来说,只要详细设计说明书设计合理、制作规范、评审通过(不符合项为零),软件实现是一件轻松愉快的事情。若IT企业十分成熟,积累的软件财富丰厚,类库、构件库强大,规范和标准齐全,软件过程管理到位,那么软件实现更加简单。 按照本章介绍的软件实现原则、实现方法、实现管理、程序设计风格、屏幕界面控件设计、窗口级定义、系统级定义、帮助信息和用户指南编写等各种规范,就可以逐步实现详细设计说明书的内容,使企业走上规范化的经营之路。,本章小结(续),程序设计是一种艺术,编程高手不但会设计、实现与管理构件,而且会设计、实现与管理构架。所谓构架,就是在“软件业务基础平台”或“行业软件基础平台”上,搭建的软件系统框架。 基础平台至少具有两个特点: (1) 屏蔽数据库服务器上具体的数据库管理系统,即与数据库管理系统无关; (2) 在客户端或浏览器端写程序省事省力。 当前,这样的平台是建立在J2EE或.Net基础之上的。在大型软件企业,一般都有自己开发的业务基础平台,以适应自己行业的业务特点,提高程序员的开发效率。 编程高手发展到一定程度,就会自然产生设计、实现、使用业务平台的想法。是否能实现这种想法,这是区分是否是软件高手的重要标志!,

    注意事项

    本文(实用软件工程第8章(4课时)ppt课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开