《计算机软件开发基础》由会员分享,可在线阅读,更多相关《计算机软件开发基础(37页珍藏版)》请在金锄头文库上搜索。
1、下一页需求分析1下一页上一页停止放映软件工程七条基本原理用分阶段的生命周期计划严格管理 坚持进行阶段评审 实行严格的产品控制 采用现代程序设计技术 结果应能清楚地审查 开发小组人员少而精 承认不断改进软件工程实践的必要性2下一页上一页停止放映一、软件生命周期各个阶段 任务l需求分析、定义l系统总体设计l系统编程l系统测试l系统维护3下一页上一页停止放映瀑布模型需求分析7%系统设计6%软件编程7%软件测试13%软件维护67%用户要求分析报告系统设计报告源程序测试报告更改要求U A MA T MM PU T PU A M PA 系统分析员 M 项目管理员 P 程序员 T 高级程序员 U 用户4下一
2、页上一页停止放映瀑布模型的特点l瀑布模型具有顺序性和依赖性,即后一 阶段的工作必须在前一阶段的工作完成后 才能开始。l把逻辑设计与物理设计清楚地划分开,是 瀑布模型的重要指导思想。l瀑布模型强调的是优质,即每一步都循序 渐进,及早消除隐患,从而保证软件质量 。l它的致命缺点在于只有做出精确的需求 分析,才能取得预期的结果。由于各种客 观、主观的原因,需求分析往往不很精确 ,常常给日后的开发带来隐患。5下一页上一页停止放映原型模型样品模型l原型模型的主要思想:先借用已有系统作为原型模型,通过“样品”不断改进, 使得最后的产品就是用户所需要的。l原形模型的特点:(1)开发人员和用户在“原型”上达成
3、一致。这样一来, 可以减少设计中的错误和开发中的风险,也减少了对 用户培训的时间,而提高了系统的实用、正确性以及 用户的满意程度。 (2)缩短了开发周期,加快了工程进度。 (3)降低成本。l原型模型的缺点:当告诉用户,还必须重新生产该产品时,用户是很难 接受的。这往往给工程继续开展带来不利因素。 6下一页上一页停止放映快速原型模型分析原型 样品 模型设计编程测试使用修改 与 改进在系统分析与 设计中,采用 交互式,反复 修改与不断改 进的方式进行。还有的把原型模式嵌套在瀑布模型中运用。7下一页上一页停止放映螺旋模型l螺旋模型将工程划分为4个主要活动:制定计划 、风险分析、实现工程和用户评价。4
4、个活动螺 旋式地重复执行,直到最终得到用户认可的产 品。l制定计划:确定软件目标,选定实施方案,弄清项 目开发限制条件。l风险分析:分析可选方案,分析识别风险,研究解决 化解风险的办法。l实现工程:实施软件产品的开发。l用户评价:对当前工作结果进行评价,提出改进 产品的建议。 螺旋模型的缺点:很难让用户确信这种演化方法的 结果是可以控制的. 8下一页上一页停止放映其他模型l智能模型 也称基于知识的软件开发模型,它与 专家系统结合在一起。该模型应用基于规则的 系统,采用归纳和推理机制,帮助软件人员完 成开发工作,并使维护在系统规格说明一级进 行。l该模型在实施过程中要建立知识库,将模型本 身、软
5、件工程知识与特定领域的知识分别存人 数据库。以软件工程知识为基础的生成规则构 成的专家系统与含应用领域知识规则的其他专 家系统相结合,构成这一应用领域软件的开发 系统。l面向对象生存周期模型 其主导思想是:在 整个软件开发过程中将面向对象技术贯穿于整 个生存周期。当然,还要结合传统开发模式中 好的、已被无数成功开发活动证明是可行的经 验和技术。9下一页上一页停止放映二、软件工程管理l软件工程项目管理的任务 l软件人员组织与管理 l软件配置管理 l软件知识产权保护 10下一页上一页停止放映软件工程项目管理的任 务l软件工程项目管理所涉及的范围覆盖了整个软件 工程过程。它管理的任务是:根据项目合同
6、书的 要求,制定项目计划和工程进度安排、监督和检 查项目实施过程、保证工程满足要求的质量标准 、分析确定并排除风险、在规定的期限和预算成 本内完成项目。包括:项目计划和进度安排 项目追踪和质量保证成本估算 风险分析 11下一页上一页停止放映软件人员组织与管理l人员是软件工程项目最重要、也是 最为活跃的资源因素。如何组织得 更加合理,如何管理得更加有效, 从而最大限度地发挥这一重要的资 源潜力,对于成功地完成软件工程 项目至关重要。 l项目组的组织结构 l程序设计小组的组织形式 l软件项目的管理 12下一页上一页停止放映软件配置管理 l软件配置管理是人们在软件工程实 践过程中总结出的一套管理办法
7、和 原则。软件配置管理将伴随整个软 件生存周期。 l软件配置管理和基线 l配置管理的任务13下一页上一页停止放映三、软件需求分析l需求分析从系统需求入手,从用户观点出发建立系 统用户模型。用户模型从概念上全方位表达系统需 求及系统与用户的相互关系。系统分析在用户模型 的基础上,建立适应性强的独立于系统实现环境的 逻辑结构。l分析阶段独立于系统实现环境,可以保证建立起来 的系统结构具有相对的稳定性,便于系统维护、移 植或扩充。l在分析阶段,系统的逻辑结构应从以下三方面全面 反映系统的功能与性能:(1)信息。完整描述系统中所处理的全部信息;(2)行为。完全描述系统状态变化所需处理或功能 ;(3)表
8、示。详细描述系统的对外接口与界面。 14下一页上一页停止放映需求分析、定义l任务是:收集、分析、理解、确定用户的要求 ;然后把用户的要求精确、完整地描述表达出 来。 l目的:要回答“要解决什么问题?”,既系统”做什么?“。它要规定项目必须满足的总目标;确定 项目的可行性;拟定完成项目各个目标的策略 ,制定项目资源成本和进度。l分两步骤: 可行性研究: 制定软件开发计划 进行需求分析l阶段结果, 产生出: 可行性报告、软件计划、需求说明书15下一页上一页停止放映1、软件需求定义的任务l理解和表达用户要求,制定软件 开发计划,编写要求说明书。l收集、理解、明确用户的要求, 明确系统做什么?建立系统
9、的逻 辑模型,写出开发计划和需求分 析报告。16下一页上一页停止放映确定对系统的综合要求l系统功能要求找出系统必须完成的所有功能。l系统性能要求例如,联机系统的响应时间,系统需要的存储容 量以及后援存储,重新启动和安全性等问题。l运行要求对系统运行环境的要求。例如,什么样的硬件环 境?采用哪种DBMS?OS平台是什么?需要什么 样的外存储器和数据通信接口等。l将来可能提出的要求为系统将来可能的扩充和修改预做准备。17下一页上一页停止放映软件需求定义的工作流程系统定义用户要求软件功能范围功能说 明书 软件计划软件定义软件功能费用、资源进度18下一页上一页停止放映2、需求分析过程l基本过程示意图l
10、沿数据流回溯l用户复查l细化数据流图l修改开发计划l书写文档资料l审查和复审19下一页上一页停止放映需求分析的基本过程用户分析员程序员软件开发计划软件需求说明书分析追踪 数据流图用户复查细化数据 流图无补充 修改需要分解不要分解有补充修改交换意见作出贡献20下一页上一页停止放映书写文档资料l在软件生命周期的各个阶段,作为阶段成果 的组成部分文档资料,其作用如何强调 都不过份。本阶段应完成4份文档资料: 系统规格说明 描述目标系统的概貌、功 能要求、性能、运行及将来可能提出的要 求。 用户系统描述 从用户角度描述系统,类 似一份用户手册初稿。 数据要求 包括DD、数据结构的层次框图 等。 修改的
11、开发计划 包括成本估计、进度计 划表、资源使用计划等。21下一页上一页停止放映文档资料l文档资料是软件必不可少的重要组成部分 。l实际上,软件的文档资料是开发组织和用 户的之间权利和义务的合同书,是系统管 理者、总体设计者向开发人员下达的任务 书,是系统维护人员的技术指导手册,是 用户的操作说明书。l缺乏必要的文档资料或者文档资料不合格 ,将给软件开发和维护带来许多严重的困 难和问题。22下一页上一页停止放映说明l需求说明书主要内容: 概述 开发系统的意义、目的、背景及技术术语; 现性系统的概况 业务流程、范围、存在的问题等 ; 需求说明 功能描述 信息描述:DFD、DD、DS、IPO、接口等
12、 性能描述 运行环境 系统限制l用户系统描述 系统功能和性能的描述 使用系统的主要步骤和方法 系统用户的责任等23下一页上一页停止放映审查和复审l分析阶段最后一步是按结束标准对 该阶段的工作成果进行正式的技术 审查和管理审查。24下一页上一页停止放映3、需求分析的图形工具l图形工具在描述复杂关系时比文字叙述要 优越。在系统需求分析过程中为了准确描 述需求,常采用一些简单的描述工具,例 如数据流程图(DFD)、数据字典(DD )、结构化语言、判定表和判定树等。25下一页上一页停止放映数据流图DFDl数据流图(DFDData Flow Diagram ) 以图形的方式表达数据处理系统中信息的 变换
13、和传递过程。它有四种基本符号:SPX数据源及数据终点加工 对数据进行的加工或变换,指向加工的数据流 是输入数据;离开的是输出数据。数据流 具有名字且有流向的数据文件 存放数据的场所26下一页上一页停止放映举例宾馆管理系统客人预订登录房管客人信息库可售房库售出房库客帐库公安 预付 款财务IDD27下一页上一页停止放映数据流图的结构l一个实际问题的数据加工流程是非常 复杂的。如果绘制在一个平面图上就 显的太乱了。因此,通常采用分层次 结构。把一个复杂的问题,分解为一 些相互独立的子问题,再绘出分层 DFD。28下一页上一页停止放映结构图分层举例宾馆 管理DFD/L0顶层图第2层图DFD/L1A D
14、CE第3层图DFD/L2.2DFD/L2.1A1A2 A3E1E2B29下一页上一页停止放映结构图分层举例l采用用户容易理解的图形工具l从全局认识系统,采用自顶向下,逐级分析的方 式销售MIS销售MIS经营库存财务1)2)3)销售MIS经营库存财务市场分析统计分析客户档案盘点结存订货管理工资核算采购计划工资核算成本核算面向用户,强调逻辑而非实现(在该阶段,不考虑系统的实现问题) 以获取分离数据和加工为动机(这点很重要)。结构图分层举例30下一页上一页停止放映数据字典DD(Data Directory)lDD对数据流程图中出现的所有元素给出逻辑定义;即 给出DFD中的数据流、加工和文件、及及数据
15、项等的 详细解释。l数据字典的条目解释通常采用规范的定义形式:客帐=帐号+房租+IDD费+餐饮费+洗衣费+娱乐费+日期+经办人l内容 数据流:编号、名称、简述、别名、构成、来源、去向、流量数据项目:编号、名称、简述、别名、类型、长度、位数数据文件:编号、名称、简述、别名、构成、关键字、存取要 求l处理 编号、名称、简述、别名、处理条件、I/O内容、处理逻 辑31下一页上一页停止放映编写DD的要求l一致性、无冗余l与DFD相互引用lDD的建立和维护是件细致而又复杂的工作 。大的数据处理系统在DD上投入的工作量 是相当大的。一般采用计算机进行DD的自 动管理,包括:建立新的条目定义、修改 、查询操
16、作等。lDD中收集的信息不容许有多重定义的现象 (即最小冗余度)。32下一页上一页停止放映判定表l采用判定树能把加工逻辑表示的更加清楚 。判定树中纵向各列给出的是不同的条件 ,横向各行则表示在任何条件下相应的处 理。例如: 条件 结 帐 时 间 12点前 1218点 18点后处理不收费收半费收全费33下一页上一页停止放映判定树l判定树比判定表更家直观,它用来描述具有多个条件 的数据加工更容易被用户接受。树状的分枝表示多种 不同的条件。例如,结帐时间=?12点前 1218点间 18点后不收费 收半费 收全费下一页34下一页上一页停止放映教学课时分配表 章 次教 学 内 容总 课 时第1阶 段确定设计方向8第2阶 段可行性分析16第3阶 段概要设计16第4阶 段详细设计24第5阶 段编写代码32第6阶 段软件测试12第7阶 段编写项目文档16第8阶 段项目展示8合 计132 35下一页上一页停