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