软件工程概述软件可行性与需求分析软件设计与编码软件测试软件维护.pptVIP

软件工程概述软件可行性与需求分析软件设计与编码软件测试软件维护.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程概述软件可行性与需求分析软件设计与编码软件测试软件维护

1)软件特点 (1)软件是一种逻辑产品。 (2)软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,大部分产品是“定做”的。 (3)软件产品不存在磨损、消耗问题。 1)软件特点 (1)软件是一种逻辑产品。 (2)软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,大部分产品是“定做”的。 (3)软件产品不存在磨损、消耗问题。 (4)软件产品的生产主要是研制。 (5)软件费用不断增加,软件成本相当昂贵。 2)软件危机 所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 2)软件危机 对于软件开发的成本和进度的估计很不准确。 开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。 开发的软件可靠性差。 软件通常没有适当的文档。 软件的可维护性差。 软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。 3)软件工程 软件工程就是研究和应用如何以系统化的、规范的、可度量的方法去开发、运行和维护软件,即把工程化应用到软件上。 4)软件生存周期 软件生存周期是指软件产品从考虑其概念开始到该产品交付使用,直至最终退役为止的整个过程,一般包括计划、需求分析和定义、软件设计、程序编码、软件测试、运行/维护等阶段。 5)软件开发模型 (1)瀑布模型(Waterfall Model) (2) 快速原型模型(Rapid Prototype Model) (3)螺旋模型(Spiral Model) 1)可行性研究的任务 软件可行性研究的目的是在尽可能短的时间里确定该软件项目是否能够开发,是否值得开发。它是为软件开发做准备、规划的阶段。 2) 需求分析的任务 (1)确定对系统的综合需求 (2)导出系统的逻辑模型 (3)修正系统开发计划 (4)开发原型系统 3) 需求分析的步骤 (1)调查研究,获取需求 (2)分析和综合 (3)编写文档 (4)需求分析评审 4) 结构化分析(SA)与建模--数据流建模 数据流图(Data Flow Diagram,简称DFD) 4) 结构化分析(SA)与建模--数据流建模 数据字典(Data Dictionary,简称DD) 是关于数据的信息的集合,是对数据流图中包含的所有元素的定义的集合。 3.1 概要设计 1. 概要设计的任务 (1)设计软件系统结构(软件结构),把系统进一步划分为模块以及模块的层次结构。 (2)数据结构及数据库设计,确定数据结构、文件结构、数据库模式,确定测试方法与策略。 (3)编写概要设计文档,包括概要设计说明书、数据库设计说明书、用户手册和修订测试计划。 (4)评审 3.2 详细设计 详细设计是在概要设计的基础上确定每个模块的具体执行过程,是软件设计的第二步。详细设计的任务,是对概要设计阶段划分出的每个模块进行明确的算法描述。 1. 详细设计的方法 --程序流程图(Program Flowchart) · 顺序型结构 · 选择型结构 · 当(while)型循环结构 · 直到(until)型循环结构 · 多选择(case)型结构 1) 软件测试的概念和原则 测试目标是:尽可能以最少的代价找出软件潜在的错误和缺陷。 (1)应当把“尽早和不断的测试”作为开发者的座右铭。 (2)程序员应该避免检查自己的程序,测试工作应由独立的专业的软件测试机构来完成。 (3)设计测试用例时应该考虑特殊情况。 (4)对测试错误结果一定要有一个确认的过程。 (5)制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。 (6)回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。 (7)妥善保存一切测试过程文档。 2) 软件测试的步骤 (1)单元测试(Unit Testing) (2)组装测试(Integrated Testing) (3)确认测试(Validation Testing) (4)系统测试(System Testing) 3) 软件测试技术与用例设计 测试方案包括预定要测试的功能,应该输入的测试数据和预期的结果。测试的目的是以最少的测试用例集合测试出更多的程序中潜在的错误。 从是否需要执行被测软件的角度来看,可分为: 静态分析 动态测试 从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为: 白盒测试 黑盒测试 软件维护,就是在软件交付使用之后,为了改正错误或满足新的需要而修改软件的过程。而软件维护的最终目的,是满足用户对已开发产品的性能与运行环境不断提高的要求进而达到延长软件寿命。 根据要求维护的原因,维护的活动可以分为: 1.改正性维护(Corre

您可能关注的文档

文档评论(0)

zhaoxiaoj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档