书签 分享 收藏 举报 版权申诉 / 183
上传文档赚钱

类型精品课程《软件工程》PPT课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2641923
  • 上传时间:2022-05-14
  • 格式:PPT
  • 页数:183
  • 大小:3.38MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《精品课程《软件工程》PPT课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    软件工程 精品课程 PPT 课件
    资源描述:

    1、软件工程整 体 概 述THE FIRST PART OF THE OVERALL OVERVIEW, P L E A S E S U M M A R I Z E T H E C O N T E N T第一部分软件工程第一章 概述使用规范说明图表应用强调背景文本和线条阴影标题文本填充强调超链接已访超链接标准配色单击此处添加标题单击添加目录内容1单击添加目录内容2单击添加目录内容3单击添加目录内容4单击添加目录内容5单击添加目录内容6单击添加目录内容7一、软件定义软件程序文档数据程序按事先设计的功能和性能要求执行的指令序列数据能使程序正常操作信息的数据结构文档与程序开发、管理、维护和使用有关的图文

    2、资料二、软件的特点和分类软件是一个逻辑实体,而不是具体的物理实体,因而具有抽象性软件生产与硬件生产不同,没有明显的制造过程软件不会用坏,但比较难维护软件本身是复杂的,使人类能够创造的最复杂的产物软件本身成本昂贵软件分类见表1.2三、软件危机1、什么是软件危机: 如何开发软件,以满足不断增长,日趋复杂的需求;如何维护数量不断膨胀的软件产品。软件开发成本和进度的估算常常不准确用户对完成的软件系统不满意现象经常发生软件产品的质量往往靠不住; Bug一大堆软件常常是不可维护的软件通常没有适当的文档资料2、软件危机的表现软件成本在计算机系统成本中所占的比例逐年上升软件开发生产率提高的速度远远跟不上硬件的

    3、发展和人们需求的增长软件本身特点:逻辑部件:管理和控制软件开发过程相当困难,较难维护规模庞大:代码长度不正比程序复杂程度软件产品的质量往往靠不住; Bug一大堆软件常常是不可维护的软件通常没有适当的文档资料软件成本在计算机系统成本中所占的比例逐年上升软件开发生产率提高的速度远远跟不上硬件的发展和人们需求的增长3、产生软件危机的原因单击此处添加标题文字内容文字内容文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容n 单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字。n 单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字。单击此处添加标题

    4、单击此处添加标题段落一单击添加内容文字单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字。单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加标题单击添加单击添加单击添加单击添加单击添加单击添加内容文字单击添加单击添加内容文字单击添加单击添加内容文字单击添加单击添加内容文字单击此处添加标题单击此处添加标题文字内容文字内容文字内容单击此处添加标题此处添加内容单击添加段落文字单击添加段落文字此处添加内容单击添加段落文字单击添加段落文字1234567此处添加内容单击添加段落文字单击添加段落文字此处添加内容单

    5、击添加段落文字单击添加段落文字此处添加内容单击添加段落文字单击添加段落文字此处添加内容单击添加段落文字单击添加段落文字此处添加内容单击添加段落文字单击添加段落文字单击此处添加标题单击添加内容文字单击此处添加标题单击添加图片标题文字单击此处添加标题单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容文字内容文字内容文字内容单击此处添加标题标题一标题二标题三 标题四内容一内容二内容三内容四内容五内容六内容七标示符号单击此处添加标题单击添加标题文字n单击添加段落

    6、文字单击添加段落文字单击添加段落文字单击添加段落文字。n单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字。单击此处添加标题此处添加标题单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字单击添加段落文字单击此处添加标题单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加标题内容标题单击此处添加段落文字内容单击此处添加段落文字内容单击此处添加段落文字内容内容内容此处添加内

    7、容单击添加段落文字单击添加段落文字此处添加内容单击添加段落文字单击添加段落文字此处添加内容单击添加段落文字单击添加段落文字The end谢谢 本次课程到此结束26软件生存周期及模型第二章27一、软件工程研究内容序号研究方面具体内容1软件开发模型如:瀑布模型、增量模型、迭代模型2软件开发方法如:面向过程方法、面向数据方法、面向对象方法3软件支持过程如:CASE工具Rose、北大青鸟系统、PowerDesigner4软件管理过程如:ISO9000、CMM、软件企业文化281、软件生存周期(Life cycle) 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。 软件生存周期通常包括可行性研究和项

    8、目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等活动(GB8567GB8567中规定)。29定义分析蓝图、图表、库存、采购单等设计实现产品302、软件生存周期模型概念n 模型是为了理解事物而对事物作出的一种抽象,它忽略了不必要的细节,是事物的一种抽象形式 。n软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。它确立了软件开发和演绎中各阶段的次序以及各阶段活动的准则,确立开发过程所必须遵守的规定和限制等。n目前有瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等。2022-5-13313、软件工程的传统途径维 护开发定义DefinitionFeasibili

    9、ty StudyRequirements AnalysisProgram DesignCoding & Module TestingIntegration & System TestingDelivery & MaintenanceSystem Design32二、瀑布模型瀑布模型1970年由W.Royce提出n瀑布模型是传统软件工程的基础。n瀑布模型的基本思想是将软件生命周期划分为若干明确定义的阶段。每一阶段活动具有严格性,要实施评审工作,以便及早发现错误,改正错误 ;n以文档形式驱动的,上一阶段的结果作为本阶段的输入 ;软件维护报告要求定义确认设计确认编码确认测试确认维护确认测试报告源程序

    10、清单设计说明书需求说明书331、软件定义时期基本任务:回答 要解决的问题是什么?该问题有行的通的解决办法吗?若有解决问题的办法,则需要多少费用、资源、时间?结束标准:提出关于问题性质、工程目标和规模的问题定义书面报告;提出可行性研究报告;若问题值得去解决,制定项目开发计划。可行性研究和项目开发计划需求分析基本任务:回答“为了解决这个问题,目标系统必须做什么”,确定目标系统的功能。结束标准:给出软件需求说明书342、软件开发时期系统设计概要设计基本任务:回答 “概括地说,应如何解决这个问题”。把确定的各项功能需求转换成需要的体系结构。设计软件的结构,确定程序由哪些模块组成及模块间的关系,同时设计

    11、该项目的应用系统的总体数据结构和数据库结构。结束标准:给出概要设计文档。详细设计基本任务:回答 “应怎样具体地实现这个系统”。为每个模块完成的功能进行具体描述,把功能描述转变为精确的、结构化的过程描述。结束标准:设计出程序的详细规格说明。352、软件开发时期系统实现编码基本任务:把每个模块的控制结构转换成计算机可接受的程序代码。写出的程序应是结构好,清晰易读,并且与设计一致。结束标准:以某种程序设计语言表示的源程序清单。测试基本任务:通过各种类型的测试使软件达到预定的要求。结束标准:软件合格,能交付用户使用。363、软件维护时期基本任务:通过各种必要的维护活动使系统持久地满足用户需要。374、

    12、技术审查和管理复审 v技术审查是从技术角度进行的审查,是保证软件质量和降低软件成本的重要措施。在每一阶段结束前进行,对于持续时间很长的开发阶段,在阶段中间还要根据需要进行多次正式的或非正式的技术审查。技术审查通常由技术专家组成的审查小组来承担审查工作。审查过程包括:准备和阅读被审文档、开审查会、返工、复查。v管理复审的主要任务是在软件生存周期的每个重要的里程碑,对工程项目的成本、实际花费的经费、投资回收的前景、项目的进度等经济因素从管理角度进行审查。从管理角度对软件开发工程进行复审,是对工程进行管理和控制的主要手段,对发现的问题可以及时采取措施加以解决,必要时甚至可以取消开发工程以避免更大的损

    13、失。38名词解释软件工作产品在CMMCMM中,它是软件开发活动中的人工制品,如需求说明书、概要设计说明书、详细设计说明书、源程序、测试报告、用户手册,也包括软件管理文档,如软件开发计划、软件质量保证计划、各种评审报告、里程碑报告、变更申请表、不符合项跟踪报告等。软件产品在CMMCMM中软件产品是最终用户使用的软件。它是软件工作产品的一部分。基线它是软件工作产品。它是要经内部和外部评审过的,并且是下一阶段工作的基础,一根基线是一个里程碑或一个检查点。检查点它是由时间、计划、事件驱动的检查工作进度和质量的一个记号,一个检查点不一定是基线或里程碑。里程碑它是一个记号,只需经过内部评审。它是一个检查点

    14、,但不一定是基线。评审是对软件工作产品质量的一次开会或汇签活动。审计是复查评审活动程序的合法性,是否按程序与规范进行。顾客 客户 用户客户是顾客的一部分,顾客包括潜在的客户。用户是软件产品的最终使用者,用户是客户的一部分。现有系统目标系统现有系统是用户当前正在使用的系统(可能是手工系统);目标系统是将要实现的系统。Capability Maturity Model forsoftware395、瀑布模型特点n 是一个理想化过程。会掩饰项目中真正的风险,当你太晚发现它们时已无济于事。n 过程逆转性很差,因为上游的错误会在下游进行发散性传播。所以逆转会造成很大损失。n 缺乏灵活性; ;特别是无法解

    15、决软件需求不明确或不准确的问题后期错误,修正代价高 。n 纯瀑布模型的缺点是在项目开始的时候,在设计工作完成前和代码写出来前,很难充分描述需求。n 瀑布模型最主要的问题是缺乏灵活性。必须在项目开始前说明全部需求。但这恰恰是非常困难的。6、瀑布模型适用场合n 当有一个稳定的产品定义和很容易被理解的技术解决方案时,纯瀑布模型特别合适n 当你对一个定义得很好的版本进行维护或将一个产品移植到一个新的平台上,瀑布模型也特别合适。n 纯瀑布模型能够降低管理费用,因为你可以预先完成所有计划。n 对于那些容易理解但很复杂的项目,采用纯瀑布模型比较合适,因为可以用顺序方法处理问题。n 在质量需求高于成本需求和进

    16、度需求的时候,它尤为出色。n 当开发队伍的技术力量比较弱或者缺乏经验时,瀑布模型更为适合。40417、瀑布模型变种:V型模型428、瀑布模型变种:生鱼片模型软件概念需求分析架构设计详细设计编码和调试系统测试438、瀑布模型变种:生鱼片模型n 传统的瀑布模型强调阶段之间最小的重叠,而生鱼片模型强调大幅度的重叠,即在需求分析完成之前就可以进行架构设计和部分详细设计n 纯瀑布模型强调在任意两个阶段交接时,文档从一个团队交给另一个完全隔离的团队,但是如果一个团队完成各个阶段任务时,可以没有那么多文档。n 生鱼片模型因为阶段重叠,因而里程碑不明确,很难有效地进行过程跟踪和控制449、瀑布模型变种:具有子

    17、项目的瀑布模型n 纯瀑布模型的一个问题是必须完成全部的架构设计后才能进行详细设计,但是,整个系统中有些部分可能有些特殊性,可以有自己的步骤,即将这些部分划分为为子项目。n 这种方法的主要风险是相关性无法预料。4510、瀑布模型变种:能够降低风险的瀑布模型n 纯瀑布模型要求在开始架构设计前,必须将用户的所有需求都搞清楚,但是实际中是很困难的。n 可降低风险的瀑布模型是在顶端,即需求分析和架构设计阶段引入螺旋以便降低风险。n 在该螺旋中,先开发一个用户界面原型,采用系统情节串联图版(system storyboarding)引导用户提出需求,记录用户与系统的交互操作方式,或者采用其它需求获取方法。

    18、46客户评价原型快速设计停止开始4748三、螺旋模型螺旋模型是一种风险驱动的模型。螺旋模型需要有相当丰富的风险评估经验和专门知识。2022-5-1349ReviewCommitmentPartitionRisk analy-sisPrototype 1Simulations, models, benchmarksRequirements plan, life-cycle planConcept of operationPrototype 2Risk analysisSoftware requirementsRequirements validationDevelop-ment planRisk

    19、 analysisPrototype 3Software product designDesign validation and verificationIntegration and test planRisk analysisOperational prototypeDetailed designUnit testCodeIntegration and testAcceptance testImplementationPlan next phasesDevelop, verify next-level productDetermine objectives, alternatives, c

    20、onstrainsEvaluate alternatives, identify, resolve risksCumulative costProgress through stepsThe spiral model50螺旋模型决定目标、方案和限制评价方案、识别风险、弱化风险开发、验证、下一级产品计划下一阶段集成测试51四、增量模型123491011125678需求分析设计编码测试第1块第1次集成第2次集成第3次集成第N次集成第4次集成第1块第1块第1块第1块第N块第4块第3块第2块第2块第2块第2块第3块第3块第4块52四、增量模型遵循递增方式进行软件开发。开发一部分,向用户展示一部分。增量

    21、模型是一种非整体开发的模型。适用条件:1 1)使用面向对象语言或第四代语言;2 2)需求可能发生变化,客户接受分阶段交付;3 3)分析设计人员对应用领域不熟悉,难以一步到位;4 4)项目风险高;53五、原型模型-概念快速原型模型:先开发一个“原型”软件,完成主要功能,展示给用户并征求意见,然后逐步完善。探索型原型:用于需求分析阶段;实验型原型:用于设计阶段;演化型原型:软件开发全过程,及早向用户提交一个原型系统。原型运用方式:抛弃策略和附加策略。54五、原型开发过程-开发步骤原型开发步骤:快速分析:分析人员与用户配合,迅速确定系统的基本要求。要根据原型所要体现的特征,描述基本需求。关键是要注意

    22、分析描述内容的选取。构造原型:在软件工具支持下尽快实现一个可运行的系统。运行原型:是发现问题、消除误解、开发者与用户充分协调的一个步骤。评价原型:评价原型的特性,纠正误解与错误,增添新要求或提出要求变动,提出全面的修改意见。修改:原型开发的循环。55五、原型模型的评价原型的优点:可及早为用户提供有用的产品。可及早发现问题,随时纠正错误。减少技术、应用风险,缩短开发时间,减少费用。促使用户主动参与开发活动,促进各类人员的协调,减少误解,适应需求的变化,能有效提高系统质量。原型存在的问题:缺乏丰富而强有力的软件工具和开发环境。缺乏有效的管理机制,还未建立起自己的开发标准。对设计人员水平和开发环境要

    23、求较高。在多次重复改变原型的过程中,程序员会感到厌烦。系统的易变性对测试有一定影响,难于做到彻底测试,更新文档较为困难。2022-5-1356五、原型模型-快速原型法PrototypeFeedbackModification57快速原型模型需求分析需求说明设计说明源程序软件产品设计编码测试维护快速分析需求说明原型修改意见修改类型构造原型运行原型评价原型停止修改修改说明修改原型58六、喷泉模型n主要用于采用面向对象技术的项目n喷泉体现迭代和无间隙的特征n软件的某些部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分n在分析、设计、实现等各项活动之间无明显边界59六、喷泉模型60需求

    24、阶段分析阶段设计阶段编程阶段集成与测试阶段维护与演进阶段61七、迭代模型(RUP模型)Rational Unified Process初始精化构建移交9个核心流程对初学者来说,使用比较困难62八、智能模型63用户要求需求分析概要设计详细设计程序编码测试维护支持需求 分析的专家系统支持软件 设计的专家系统支持测试的专家系统支持维护的专家系统6465九、软件生存周期模型的剪裁在一个成熟的ITIT企业或软件组织内部,通常要根据各种软件开发模型的特点,结合本单位的开发经验和行业特点的具体实际,还需要定制适合本单位的“生存周期模型裁剪指南”,有针对性地对选定的软件开发模型中定义的生存周期,进行适当剪裁,

    25、使它完全适合于本单位的需求。所谓裁剪,就是对原模型中定义的内容进行增、改、删,去掉对本单位不适用的内容,同时进一步细化,从而构成了完全适合本单位的“软件生存周期模型裁剪指南”。该指南在软件组织内部,专供高层经理和项目经理在软件策划中选取软件开发模型时使用。 66n在软件开发过程中必须遵循的软件工程原则有:67n软件工程的基本原理有:68案例分析整定软件采用了以原型模型为主的软件开发模型。故障分析是电力系统中非常基本的运算,算法比较成熟,软件用户对此模块的功能也较熟悉,需求变动相对较小,因而本功能模块可以采用瀑布模型。但由于我们已有故障分析程序,只需对该程序的接口、部分功能算法进行修改和调整,所

    26、以采用原型模型较为合适。软件开发阶段中重点关注需求分析阶段,弄清楚已有程序与用户需求间的差距。图形建模在建模范围方面基本明确,但在具体内容方面仍有不确定性,原因是用户对此功能模块的想法还不够清晰,通常用“待基本的出来后再讨论”来回答一些细节问题。此外,我们有以前其他项目的图形建模软件基础,所以本模块采用了演化型原型模型,采用附加策略。先在以前图形建模的软件基础上去除一些不需要的内容和添加新的内容,向用户提交初步的原型系统,然后再根据用户的意见进行修改,在反复多次中才达成需求的彻底清晰,此时本模块软件也可以基本开发完成。整定计算是专业性很强的内容,通常需要较多的整定人员工作经验,而整定经验的获得

    27、往往无法一次完成,因此开发方需要经常与用户交流沟通。此外,整定计算模块用户最关心的是软件的可用性,即计算过程是否方便、透明,计算结果是否合理。因此,整定计算也采用了原型模型,以某种原理的保护为例反复设计与修改整定的流程,直到满足用户的可用性和实用性为止,其他原理的保护整定则以此为模板进行开发。 69总结n 掌握:软件生存期各个阶段的基本任务;软件生存期模型。n 了解:软件生存期的各种模型及特点。第三讲学习内容n可行性研究n项目开发计划n软件需求分析项目来源合同:为别人做;立项:为自己做;失败:无盈利赔钱声誉影响官司失败:尽赔钱公司倒闭东山再起难!学到的远比失去的多! 可行性研究( Feasib

    28、ility Study) 可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发,最后给决策者提供做与不做的依据。 可行性研究实质上是要进行一次简化、压缩了的需求分析和设计过程,要在较高层次上以抽象的方式进行需求分析和设计过程。可行性研究的任务 首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制。 然后进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。 最后从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决办法,对每种解决方法都要从以下三方面研究它的可行性。u技术可行性u经济可行性u社会可行性技术可行性n 在现有资

    29、源条件下,项目能否实现,风险有多大(技术、资源是否成熟)。社会可行性u是否存在侵权、软件操作方式是否适合用户所在组织、现有管理制度、人员素质是否可行?经济可行性(成本效益分析) 成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡。效益分有形效益和无形效益。有形效益可以用货币的时间价值、投资回收期和纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。货币的时间价值:通常用利率表示。 F=P(1+n i) 不计复利投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间。纯收入:就是在整个生存周期之内的累计经济效益(折合成现在值)与

    30、投资之差。提示不是解决问题,而是确定是否可解值得解所以不要花过多精力,占总成本的 5 10 %例:实践性大作业 3 方面考虑: 技术上- 23 学生, 7 周, 电脑, 开发经验 ,决心,风险(影响其它课程). 社会上- 产品有没有人用 经济上 - 预算, 盈利, .可行性研究的具体步骤1、确定项目规模和目标,明确限制和约束。我们认为用户要的 用户要的? ?2、研究老系统 解决老系统问题老系统功能新增功能 注: 注意了解与其它系统的接口。 新系统效益? ? 老系统效益 可行性研究的具体步骤3、导出高层逻辑模型(conceptual design)抽象实现改进老系统模型新模型新系统应该告诉用户“

    31、What”而不是“How”系统流程图(事务图)高层逻辑模型可行性研究的具体步骤 3、逻辑模型4、复查和重新定义 1、复查定义 注:此时合同未签,应考虑成本,不宜反复太多次。5、导出和评价多种解法进度表经济上合算技术上可行操作上可行技术上不可行用户不可能操作不合算可行性研究的具体步骤6、推荐行动方针Yes or No?NoYesWhy?Which one is the best?Why? (cost / benefit)8、审查、存档7、编写可行性报告(开发计划) 任务分解,确定负责人 大致进度规划 财务预算 风险分析及对策粗略文档:可行性报告 参考GB856788中的可行性研究报告,进行适当裁

    32、剪。项目开发计划 是对开发项目的费用、时间、进度、人员组织、硬件设备的配置、软件开发环境和运行环境的配置等进行说明和规划。 是项目管理人员对项目进行管理的依据,据此对项目的费用、进度和资源进行控制和管理。工具:Project注意事项标书 :我国对软件成本认识不足人月不能互换:需求的变更、人员的流动、环境的变化;困难:就是缺乏数据估计,导致估计不科学;估算项目复杂度(熟悉程度)、规模 软件需求分析:“做什么?” 需求分析的过程是开发人员与用户共同协商,明确系统的全部功能、性能以及运行规格,并且使用软件开发人员和用户都能理解的语言准确地表达出来,即完成需求规格说明的过程。软件需求重要性例子 “喂,

    33、是JackJack吗?我是人力资源部的Tom,Tom,我们在使用你编写的职员系统时遇到一个问题,一个职员想把她的名字改成Sparkle Starlight,Sparkle Starlight,而系统不允许,你能帮帮忙吗?”“她嫁给了一个姓StarlightStarlight的人吗?”JackJack问道。 “不,她没有结婚,而仅仅是要更改她的名字,”TomTom回答,“就是这问题,好象我们只能在婚姻状况改变时才能更改姓名。”“当然这样,我从没想到谁会莫名其妙地更改姓名,我也不记得你曾告诉我系统需要处理这样的事情。”JackJack说。 TomTom说:“我想你当然知道每个人只要愿意都可以随时合

    34、法更改其姓名。但不管怎样,你在本周五之前解决这问题,否则SparkleSparkle不能支付她的帐单。”“这不是我的错!我现在正忙着做一个新的系统,还要做一些别的需求变更请求。很抱歉,只能下周才能修改。” 故事带给我们的启示 u影响:作为客户,很恼火,因为软件系统不能进行一项基本的操作。哪怕开发者给其解决了,也不会感谢他。作为开发者,也很烦人,迫使你增加了当前的工作,又要你优先处理。u原因:由于收集、编写、协商、修改需求过程的手续或方法失误带来的。这里是非正式信息的收集、未确定或不明确的功能、未发现或未经交流的假设、不完善的需求文档,以及突发的需求变更过程所造成的。u解决办法:重视需求分析,派

    35、经验丰富的人员做,最大程度的减少类似情况发生。定值整定n 原则1:按与相邻接地距离保护配合整定;n 原则2:按相邻零序电流保护配合整定;123u1与2配;u1与3配;方案1:原则相邻线方案2:相邻线原则需求分析的特点老问题: 问题的复杂性 交流障碍(讲究技巧和原则) 不完备性和不一致性 需求易变性(动态性)派经验丰富的人去干!系统分析员软件需求的任务理解、分解、表达、评审whf:划分系统所有1.问题识别:双方确定问题的综合需求。 功能需求:系统必须做什么? 性能需求:做得怎样?例:response time , memory , back-up memory , 环境需求:运行环境、软硬件配置

    36、等。 用户界面需求 可靠性、安全性、保密性、可移植性和可维护性等方面的需求。将来可能提出的要求共同理解!软件需求的任务2.分析与综合:导出软件的逻辑模型。对获取的需求进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。也对数据域进行分解,分配到各个子功能上,并用图文结合的形式,建立起新系统的逻辑模型。软件需求的任务3.编写文档: 编写需求说明书 编写初步用户使用手册 编写确认测试计划 修改完善项目开发计划需求文档用户需求报告需求规格说明书对外的,验收依据 对内的,设计依据是合同的产物是立项建议书的产物由用户需求报告可产生需求规格说明书当前系统,目标系统目标系统(数据字典,算

    37、法分析)软件需求的任务n 验证需求的一致性n 验证需求的完整性n 验证需求的现实性n 验证需求的有效性方法: 人工审查 开发原型系统探索型 使用软件工具 完整性、一致性基线4.技术审查和管理复审需求分析的方法结构化分析方法:由数据流和数据字典构成,适于数据处理领域问题。但该方法的一个难点是确定数据流之间的变换,而且数据字典的规模也是一个问题,对数据结构的强调很少。功能分解法:系统功能子功能功能接口。过程抽象观点,很难与软件设计明确分离。基点放在功能上,不稳定,难以适用需求的变化。需求分析的方法信息建模方法:从数据角度来对现实世界建模。基本工具是E-R图,数据不封闭,每个实体和它的属性的处理需求

    38、不是组合在同一实体中,没有继承性和消息传递机制来支持模型。是面向对象分析的基础。面向对象的分析:采用了实体、关系和属性等信息模型分析中的概念,同时采用了封闭、类结构和继承性等面向对象程序设计语言中的概念。ER模型(Entity-Relationship Approach)实体:客观世界中存在且可相互区分的事物。用矩形框代表。联系:事物间是有联系的。(1:1、1:N、M:N) 用连接相关实体的菱形框表示。属性:实体或联系所具有的性质。 用椭圆形或圆角矩形表示。教师学生课程教学学号职称成绩学分1NNM注意事项在需求分析时要注意用户对软件开发的了解程度。避免造成两种极端认识。 需求的变动或新增是一个

    39、极为普遍的问题,既然普遍,所以软件开发人员不仅应该在心理上接受这种变动,还应该在需求分析时积极的发掘需求。需求人员与用户广泛交流,从深度和广度挖掘可能的需求,并应形成规范的需求文档,经用户确认。如果为写文档而写文档,不进行及时更新,甚至准备在软件开发完成后再补文档,这是绝对错误的观点。 可能错误没有足够用户从参与(类型、数量)开发方与用户沟通可能处于劣势不要锦上添花,画蛇添足不要写的过于简练,过于模糊;计划需求的时间少了,导致需求不完整另外,要注意:需求在签约前要与决策者沟通好;到竞争对手那儿找不足不要被过细的不成熟的细节影响记下不明确的需求,约定期限明确,否则易遗漏总结n 熟练掌握:软件需求

    40、分析的任务及分析的方法 n 掌握:可行性研究的任务。n 了解:其余作一般了解。作业一人组:交实验三;二人组:交实验三、实验四三人组:交实验一/二、实验三、实验四四人组:交实验一/二、实验三、实验四、实验五学习内容n 结构化方法概述n 结构化分析n 数据流图n 数据字典n 加工逻辑的描述n 结构化设计一.结构化方法概述 它包括结构化分析(Structured Analysis)、结构化设计( Structured Design)和结构化程序设计( Structured Programming)三部分组成。 结构化方法的基本指导思想是自顶向下,逐步求精,它的基本原则是抽象与分解。结构化方法特点 成

    41、功率较高,发展较为成熟; 简单、易掌握,适应于瀑布模型; 特别适合于数据处理领域中的应用,对规模大的项目,特别复杂的应用不太适应。 难于解决软件重用问题,难于适应需求的变化。二、结构化分析策略:它根据软件内部数据传递、变换的关系,自顶向下逐层分解描绘出满足功能要求的软件模型。 X1231.11.21.33.13.23.32.12.2顶层:整个系统逐层添加细节结构化分析步骤 建立当前系统的物理模型(系统流程图,怎么做) 抽象出当前系统的逻辑模型。(做什么) 建立目标系统的逻辑模型。 作进一步补充和优化。描述工具数据流图 :描速系统的分解。数据词典:定义数据流图中的数据和加工。描述加工逻辑的结构化

    42、语言、判定表、判定树等工具:详细描述数据流图中不能被再分解的每一个基本加工的处理逻辑 。数据流图 数据流图(Data flow Diagram,简称DFD)是表示系统逻辑模型的一种工具,以图形的方式描绘数据在系统中的流动和处理过程。由于只反映系统必须完成的逻辑功能,所以是一种功能模型。数据流图基本图形符号数据源点和终点:系统的外部实体。一般只出现在顶层图中。为了避免在数据流图上出现数据流的线条交叉,同一个外部实体允许在一张图上出现多次。数据源/终点名称源/终点名称源/终点名称或数据流图基本图形符号加工 :对数据进行处理。加工名一般用一个动词和一个作宾语的名词所组成。编号加工名或编号加工名数据流

    43、图基本图形符号数据流: 数据及其流向,通常由一组数据项组成。有时数据流很难用简单而适当的词表达,这时可用概括性的语句来表达,一般用名词或名词短语表示。数据流名问询订货单顾客支票信息顾客顾客事务处理顾客事务处理顾客事务内容数据流图基本图形符号数据存储:信息的静态存储。它也允许在一张数据流图上重复出现相同的数据存储,以避免数据流的交叉。数据名称或编号数据名称F2 库存记录F2 库存记录数据流图的分层方法 描述一个复杂的系统,不可能一下子引进太多的细节。否则用一张数据流图画出所有的数据流和加工,则这张图将是极其庞大而复杂,因而难以绘制,也难以理解。所以必须用分层的方法将一个流程图分解成几个流程图,来

    44、分别表示。数据流图的分层方法一套分层的数据流图由顶图、0层图、中间层和底图的数据流图所组成。顶图说明了系统的边界,即系统的输入和输出的数据流,顶图只有一个加工,标识被开发的系统。画系统内部,一般将层号从0开始编号。0层图分解顶层图的系统为若干子系统。底图由一些不必再分解的加工组成,这些加工称为基本加工。在顶图和底图之间是中间层。称上层图为下层图的“父”图,下层图称为上层图的“子”图。子图P1bd子图P2cabd父图(0层图)cde子图P3eP1P3P2acP1 .3P1 .2P1 .1P2 .1P2 .2P2 .3P3 .3P3 .2P3 .1Pabe源点1终点源点2顶图绘制数据流图的几个问题

    45、合理地命名:数据流程图中对每一个元素都要命名,恰当地命名有助于数据流程图的理解与阅读。命名原则:为了避免引起错觉,为每个元素所取的名字要能反映该元素的整体性内容,而不只是它的部分内容。每个元素的名字都能有唯一地标识该元素。避免用空洞的名字,要具体的含义。如果发现难以为某个数据流或加工命名时,这往往是数据流图分解不当的征兆,可重新分解。绘制数据流图的几个问题编号的设置子图的编号是父图相应的加工的编号。子图中加工编号由子图号、小数点与局部号组成。绘制数据流图的几个问题父图与子图的平衡子图是详细地描述父图中加工,因而子图的输入、输出数据流应该同父图中加工的输入、输出数据流相一致。订货单P提货单P3P

    46、1P2提货单数量客户绘制数据流图的几个问题局部数据存储 局部数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口。在子图中出现的数据存贮,可以不出现在父图中,画父图时只需画出处理逻辑之间的联系,不必画出各个处理逻辑内部的细节,有助于实现信息隐蔽。acP1 .3P1 .2P1 .1库存记录绘制数据流图的几个问题加工的分解与分细的程度为提高数据流图的易理解性,注意合理分解。分得太细,则使得层次太多;分得太快,则达不到分层的目的。从管理的层次结构原理来看,一个领导人管理他的下属一般不超过7人,故在分解一层时不宜超过7个加工。一个加工分解到基本加工为止。基本加工:能表达系统所有的逻

    47、辑功能和必要的数据输入与输出,这些功能与数据的描述能使用户清楚地理解,并且还能使以后的系统设计人员看到每一个加工,有一个明确的概念,并据此能设计程序模块实现这些加工。注意子加工的独立性和匀称性。数据流图实例以某企业的销售管理系统为例,采用SA方法进行需求分析,建立功能模型。该企业销售管理的描述如下:(1)接受顾客的订单,检验订单。若库存有货,则进行供货处理,即修改库存,给仓库开备货单,并将订单留底;若库存量不足,则将缺货订单登入缺货记录。(2)根据缺货记录进行缺货处理,将缺货通知单发给采购部门,以便采购。(3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货

    48、处理。(4)根据留底的订单进行销售统计,打印统计表给经理。 数据流图实例顶层图统 计 表备 货 单缺 货 通 知 书进 货 通 知 书订 单1销 售 管 理 系 统+顾 客采 购 部 门仓 库经 理0层图订单可供货订单备货单统计表进货通知书缺货通知书缺货记录进货记录进货记录可供货订单已供货订单已供货订单已供货记录库存记录缺货订单顾客采购部门采购部门仓库经理1处理订单+5销售统计+4处理缺货+3处理进货+2处理供货+缺货记录库存记录订单记录1层图订 单 缺 货 订 单 库 存 记 录 可 供 货 订 单 合 格 订 单缺 货 记 录库 存 记 录处 理 供 货1.1检 验 订 单1.2确 定 能

    49、 否 供 货顾 客已 供 货 订 单 已 供 货 记 录 可 供 货 订 单 可 供 货 订 单 登 记 过 的 订 单备 货 单 仓 库库 存 记 录订 单 记 录处 理 进 货处 理 订 单2.1根 据 供 货 单 修 改库 存2.2开 备 货 单图1图2缺 货 信 息进 货 记 录 订 单 变 更 信 息可 供 货 订 单 核 对 后 进 货 单进 货 记 录 进 货 通 知 书 采 购 部 门处 理 供 货库 存 记 录缺 货 记 录3.1根 据 进 货 单 修 改库 存3.2处 理 缺 货 订 单3.3修 改 缺 货 记 录缺 货 通 知 书 缺 货 量缺 货 记 录 采 购 部 门

    50、缺 货 记 录4.1汇 总 各 项 缺 货 量4.2打 印 缺 货 通 知 单1层图图3图41层图统计表统计表统计表顾客名货物日期顾客区域统计表已供货订单经理订单记录5.1统计选择5.2按顾客所在地区统计5.3按销售日期统计5.4按销售货物名统计5.5按顾客名统计图5修改下面的经营处理系统顾客供应商订货单发货单订货单发货单顶层数据流程图经营处理系统经理统计表顾客P1销售P2采购供应商F1 配件库存P3会计付款收据应付款通知收款通知到货通知订货单订货单发货单发货单统计缺货通知第0层数据流程图经理统计表付款收据付款收据付款收据数据流图的优缺点 总体概念强,每一层都明确强调“干什么”,“需要什么”,

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:精品课程《软件工程》PPT课件.ppt
    链接地址:https://www.163wenku.com/p-2641923.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库