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