ImageVerifierCode 换一换
格式:PPTX , 页数:65 ,大小:255.73KB ,
资源ID:12674567      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/12674567.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(软件工程教案复习李梁名师优质课赛课一等奖市公开课获奖课件.pptx)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

软件工程教案复习李梁名师优质课赛课一等奖市公开课获奖课件.pptx

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,软件工程,复习,重庆理工大学,计算机科学与工程学院,李梁,65263075,liliang,第1页,课程关键点,第,1-3,章 软件工程概、软件过程及软件开发模型,软件、程序、数据、文档含义,软件危机及其表现、处理方法,软件工程定义与关键思想,软件工程基本原理与标准,软件工程基本范型,软件过程及软件过程模型,软件工程生命周期概念以及它各个阶段内容,各阶段主要任务,软件工程主要开发模型:,瀑布模式、,增量模型,、螺旋模型、面向对象过程模型,第2页,课程关键点,第,5,章 软件需求分析,软件需求,分析概念、主要

2、过程与步骤、软件需求类型,软件处理方案:目标、性能指标评价、处理方式、可行性分析。,开启分析过程:,确认利益相关者,、,识别视点,、,协同工作,、,首次提问,主要需求获取技术:,会谈、调查表、场景描述、,主要需求描述技术:,流程图和用例图,第3页,课程关键点,第,6,章,结构化分析建模,分析模型概述,结构化分析模型概念,SA,概念和,SA,法主要模型(功效、数据、行为),掌握数据流程图基本画法,会画数据流程图,掌握数据字典书写格式,会编写数据字典,对已明确需求软件,会设计其主要数据流程图,编写主要数据字典,掌握决议树、决议表绘制,熟悉结构式语言表示法;,掌握,IPO,图画法,第4页,课程关键点

3、第,8-9,章 结构化软件设计,系统设计(概要设计、过程设计)任务和步骤(过程),设计标准:抽象、自顶向下逐步求精、模块化、信息隐藏、重构概念,常见模块独立性度量标准:耦合(,7,种)和内聚(,7,种),软件模块结构中基本术语和启发式设计策略:,深度、宽度、扇出、扇入、调用、判断调用、数据信息、控制信息,掌握概要设计(总体设计)绘制工具:层次图和,HIPO,图、软件结构图,掌握,SD,法设计过程与步骤,会区分变换型、事务型数据流图,并掌握对应映射方法,会使用,SD,法将,DFD,转映射成模块结构图,了解对模块结构图启发式设计策略,第5页,课程关键点,第,8-9,章 结构化软件设计,知道详细设

4、计(过程设计)内容、过程及步骤,界面设计步骤与基本准则,会使用常见过程设计工具:程序流程图、,NS,表、判定表、过程设计语言,了解编码语言分类,选择设计语言要考虑原因,知道常见编程语言和工具(,C/S,和,B/S,),知道常见数据库产品,知道常见软件,CASE,工具,知道开发规范及编码格调主要内容,知道结构化程序设计三种基本控制结构,第6页,课程关键点,第,7,、,10-11,章 面向对象分析与设计,面向对象方法学概念、特点,与面向过程开发方法区分;,面向对象分析设计步骤、过程,清楚对象、类、实例、消息、属性、方法(服务)、继承、消息、主题概念,知道,OMT,对象建模技术对象、动态与功效三大模

5、型,知道,UML,主要模型(用户、结构、行为、实现、环境)及组成主要图形(对象类图、次序图、状态图)画法和事务(类、属性、服务、主要关联、多重性、角色、包、泛化、聚集、关联类、用例、事件、状态、消息),对已明确需求描述,会设计其面向对象模型(用例图、活动图、对象类图、行为脚本、次序图、状态图),第7页,课程关键点,面向对象分析设计技术,知道对象、类、实例、属性、行为、继承、消息、包概念,知道面向对象需求分析过程,知道,UML,概念和,UML,基本模型,对已明确需求系统,会设计其面向对象模型及动态模型(用例图、活动图、类图、次序图、状态图),第8页,课程关键点,第,11-12,章 软件实现,知道

6、软件测试目标、标准、标准和测试步骤,知道黑盒法与白盒法测试技术,知道单元、集成、确认、系统测试主要内容,在开发过程中位置和使用主要技术(注意驱动、桩模块概念),会设计黑合测试中等价类划分、边值测试测试实例,知道一些主要专题测试(如,测试、,测试、可靠性测试、性能测试、恢复测试),测试用例设计目标,及编制方法,了解软件维护概念、任务及软件维护分类,第9页,重点技术,需求调查:业务流程图、用例图、活动图,SA,法:分层,DFD,图、数据字典编制(描述)、判断表、判断树,SD,法:软件结构图、,HIPO,图、,DFD,映射方法:变换分析与事务分析,OO,:对象模型(对象类图)、动态模型(行为脚本、状

7、态图、次序图)、功效模型(,DFD,),测试:等价类划分、边值分析设计测试用例,注意:案例方案文档(图书、,ATM,、,POS,、短信、出卷),第10页,软件,是计算机系统中与硬件相互依存另一部分,,它是包含程序,数据及其相关文档完整集合。,程序,是按事先设计功效和性能要求执行指令序列,数据,是使程序能正常操纵信息数据结构,文档,是与程序开发,维护和使用相关图文材料,软件,=,程序,+,文档,软件危机概念:,软件危机是指在计算机软件开发和维护过程中所碰到一系列严重问题。即包含两方面问题:,怎样开发软件、怎样维护软件,软件及软件危机,18:37:55,第11页,软件工程基本概念,软件工程,:,是

8、以工程化思想进行软件开发,以生产高质量和高效率软件。,教材定义,关键观点:把软件看作是一个工程产品。,Fritz Bauer,定义:,软件工程是为了经济地取得能够在实际机器上有效运行可靠软件而建立和使用一系列完善,工程化标准。,软件工程基本原理:推迟实现观点、逐步求精观点、分解与抽象观点、信息隐蔽观点、质量确保观点,软件过程,是为了开发出软件产品,或者是为了完成软件工程项目而需要完成相关,软件工程活动。,通常使用,生命周期模型,简练地描述软件过程,软件过程模型:,就是把软件生命周期中各项开发活动流程用一个合理框架,(,开发模型,),来规范描述。,18:37:55,第12页,阶段,关键问题,结束

9、标准(任务),问题定义,问题是什么?,关于规模和目标汇报书,可行性研究,是否可行?,系统高层逻辑模型;,数据流图;成本/效益分析,需求分析,系统必须做什么?,系统逻辑模型;数据流图;,数据字典,算法描述,概要设计,任何处理问题?,系统流程图;成本,/,效益分析,层次图和结构图,详细设计,怎样详细实现,HIPO,或,PDL,编码和单元测试,正确程序模块,源程序清单;单元测试方案和结果,测试,符合要求软件,综合测试方案和结果;,完整一致软件配置,运行、维护,持久地满足用户需要,完整准确维护统计,18:37:55,第13页,CMM,(Capability Maturity Model),:,是用于评

10、价软件机构软件过程能力成熟度模型。,是指对过程计划或定义水平、过程实施水平、过程管理和控制水平、过程改进潜力等指标综合评价,思想,:管理软件过程方法不妥引发问题,造成新软件技术利用并不会自动提升软件生产率和质量。,关键,:,CMM,为软件企业过程能力提供一个,阶梯式改进框架,,它基于过去全部软件工程过程改进结果,吸收以往软件工程经验教训,提供一个基于过程改进框架。,CMM,I,(Capability Maturity Model,Integration,),:即能力成熟度模型,集成,,是,CMM,模型最新版本。,能力成熟度模型,-CMM,18:37:55,第14页,为企业发展要求过程成熟级别,

11、分为,5,级:,初始级,(,Initial,):普通企业皆含有,可重复级,(,Repeatable,):成功经验能够重复,已定义级,(,Defined,):一套完整企业过程,人员自觉恪守(培训),已管理级(,Managed,、已控制):过程,&,产品可度量和控制,优化级(,Optimizing,):过程连续改进,作用:,从无序到有序、从特殊到普通、从定性管理到定量管理、最终到达动态优化。,能力成熟度模型,-CMM,18:37:55,第15页,瀑布模型提供了软件开发基本框架。,瀑布模型将软件生命周期划分为软件计划、需求分析和定义、软件设计、软件实现、软件测试、软件运行和维护这,6,个阶段,,要求

12、了它们自上而下、相互衔接固定次序,如同瀑布流水逐层下落而得名,它是一个软件开发架构,开发过程是经过一系列阶段次序展开。,每个阶段都会产生循环反馈,各个阶段产生文档是维护软件产品时必不可少,没有文档软件几乎是不可能维护。,瀑布模型特点:次序性和依赖性、推迟实现、质量确保观点、是一个线性模型、强调文档作用。,瀑布模型,18:37:55,第16页,阶段目标,关键问题,主要活动,阶段结果,问题定义,发觉事实,并描述问题是什么?,事实问题:发觉和研究系统面临问题,项目提议书,可行性分析,明确问题是否值得做?回答是否能够做?,问题提议:系统初步调查与分析,可行性分析汇报,项目立项,处理项目标立项问题,提议

13、项目:编制初步需求和立项审批表;立项评审,项目立项书,项目计划,处理项目标控制问题,项目计划:编制项目计划;评审与修订项目计划,项目计划书,需求分析,回答系统做什么?明确系统不能做什么?,问题需求:需求详细调查;问题转化与需求描述;需求评审;需求分析,系统分析汇报,总体设计,处理框架性怎样做问题?,需求软件架构:需求转化与设计;设计评审与修改;补充调研,概要设计汇报,详细设计,回答详细细节怎么做问题,软件架构软件结构:需求分析与研究;设计评审与修改;补充调研,详细设计汇报,编码,回答详细做问题,软件结构程序代码:编码、单元测试,硬件安装与测试,系统集成,源程序清单,测试与公布,评价做怎样,代码

14、软件:系统测试;系统安装与测试;系统公布;系统培训;系统切换,系统测试汇报,用户手册,运行与维护,持久地满足用户需要,尽可能延长系统生命力,软件答案:结构系统之前发觉问题答案,处理问题,系统运行日志,项目验收汇报,系统总结汇报,瀑布模型,软件开发各阶段任务表,第17页,面向对象是一个程序设计方法,或者说它是一个程序设计范型。,基本思想是使用对象,类,继承,封装,消息等基本概念来进行程序设计。,面向对象要素:,抽象:强调实体本质、内在属性,忽略一些无关紧要属性。类实现了对象数据(即状态)和行为抽象,是对象共性抽象。,封装性:指全部软件部件内部都有明确范围以及清楚外部边界。,共享性:,面向对象特征

15、对象惟一性;分类性;继承性;多态性(多形性)。,面向对象过程模型,18:37:55,第18页,自行开发方式,是一个完全依靠,用户本身开发,力量,由用户单,位本身员工组,成项目组,依据,用户单位特点,来开发软件系统,软件系统开发方式,联合开发方式,是由用户单位与,用户单位外单,位共同组成系统,开发小组,针对,企业详细情况,和要求,共同完,成系统开发任务,外包开发方式是一个“交钥匙”工程开发方式,即承包方依据用户单位提出开发要求,提出软件系统大致框架和开发所需费用等,当双方签署协议后,将系统开发任务全部外包给专业软件开发单位。,含有不一样功效,信息系统作为,一个商品越来越,多,用户单位可,以象购

16、置其它物,品一样,到市场,购置所需要软件系统,这就是,采取购置方式,自行开发,联合开发,外包,购置,第19页,自行开发,联合开发,外包,购置,系统分析与设计能力要求,非常需要,非常需要,不太需要,不需要,编程能力要求,非常需要,不太需要,不太需要,不需要,系统可维护性,轻易,轻易,比较困难,困难,程序可维护性,轻易,相当困难,相当困难,困难,开发费用,用于单位外部,小,大,大,小,用于单位内部,大,中等,小,小,开发风险,大,比较大,比较大,小,几个开发方式比较,第20页,可行性研究,可行性研究任务:,用最小代价在尽可能短时间内确定问题是否能够处理。可行性研究目标,不是处理问题,,,而是,确定

17、问题是否值得处理,。,经济可行性、技术可行性、操作可行性研究系统是否可行,可行性研究输入是系统一个框架描述和高层逻辑模型,输出是一份需求开发评价汇报,对需求工程和系统开发是否值得做详细提议和意见。,三个问题:,系统是否符合机构总体要求?,系统是否可在现有技术条件、预算和时间限制内完成?,系统能否把已存在其它系统集成?,18:37:55,第21页,设定优先级,设定基本标准,:时间投入、成本投入和取得效益,(,包含无形社会性效益,),是最主要三个考评指标。,设定优先级原因,目标系统能降低成本?何时、何地、怎样降低?花费代价怎么样,目标系统能增加收入?何时、何地、怎样增加?花费代价怎么样,目标系统能

18、产生更多信息或更多结果吗?,目标系统能为客户和企业自己提供更加好服务?,目标系统能在合理时间内完成吗?目标系统能为企业提供多长服务期限?,具备必要人力、财力、技术、管理和资金资源吗?,注意事项,系统分析员尽可能采取有形方式评价系统,无形成本,/,效益是影响设定级别主要原因,设定优先级是一个综合权衡过程,,没有绝正确、只有相正确,。,仁者见刃,智者见智,可行性研究,18:37:55,第22页,软件需求,:,就是指用户对自己目标系统在功效、行为、性能和约束等方面,期望,。在实际操作过程中,软件需求会跨越多阶段,同时含有重复性,。,基础性,:,需求分析是在可行性研究阶段基础上进行,需要仔细研究可行性

19、阶段提出,甲乙双方需求,并深入详细化。,主要性,:,软件项目中,40%,60%,问题都是在需求分析阶段埋下“,祸根,”。因为采取一些不合规,范方法,造成开发者开发与用户所想得到软件存在着巨大期望差异。软件需求分析基本任务是,准确,地回答“,做什么,?”。需求分析是系统分析与软件设计之间,主要桥梁,。,软件需求,18:37:55,第23页,功效需求:,描述系统预期提供功效或服务。,对系统应提供服务,怎样对输入做出反应,系统在特定条件下行为,非功效需求:,指那些不直接与系统详细功效相关一类需求。通常划分为:,产品需求:产,品行为需求。,机构需求:,客户、开发者所在机构政策和要求需求。,外部需求:,

20、系统外部原因和开发过程总和。,领域需求:,源于系统应用领域需求。比如,信用卡安全登陆,密码隐藏需求,等。,领域需求经常影响到系统可用性,是基本应用问题。,基于功效软件需求分类,完整,一致,准确,要 求,软件需求类型,18:37:55,第24页,业务需求,反应组织机构或客户对系统、产品概括性要求,包含所要到达业务目标,由项目视图与范围文档说明。,用户需求,描述用户使用系统而要完成各种任务,由用例,(use case),文档或方案脚本说明。,功效需求,定义开发人员必须实现软件功效,源于用户需求,是软件需求说明书中主要组成部分,。,基于层次软件需求分类,18:37:55,第25页,需求分析主要是了解

21、客户,需要什么,、,做什么,,分析要求、评价可行性、协商合理方案、无歧义地详细说明方案、确认规格说明、管理需求,并将这些需求转化为可行系统。,需求分析过程包含,初步沟通,导出需求,分析和精化,可行性研究,协商与沟通,规格说明,需求验证,变更管理,需求分析过程,18:37:55,第26页,确定利益相关者,利益相关者是指直接或间接从正在开发系统中获益人,或者与正开发系统有利益关系人,所以也称关联人员,按照利益大致分为,6,类:全部者、用户、系统设计师、系统结构师、系统分析师、软硬件供给商和咨询顾问,软件开发团体人员组成:作为商品化软件开发团体,其人员组成是以上述前,5,类人员为主;作为非商品化软件

22、开发团体,以第,2,5,种人员为主,此时,用户经常就代表了全部者利益。对于第,6,类人员,通常不会纳入开发团体。,开启分析过程,18:37:55,第27页,软件关联人员关注点,因为利益不一样,关联人员出发点和关注点也就不一样,全部者:关注软件范围,如用途、目标、任务、远景、成本和收益等;,用户:关注软件需求,如软件是干什么,怎么干,效果会怎么样?,系统设计员:关注软件详细设计内容,怎样使用信息技术实现软件?经常,系统设计人员也是系统结构人员;,系统结构员:关注软件结构,软件实际技术实现?怎样测试软件?怎样公布软件?,系统分析员:关注软件开发工作顺利进行,沟通团体中技术人员与非技术人员,推进团体

23、开发工作;,软硬件供给商和咨询顾问:关注信息技术选型、价格、技术要求、交货时间、售后服务和系统架构等。,开启分析过程,18:37:55,第28页,识别视点,视点:指软件关联人员从不一样视角对待该系统。比如,超市,POS,机收银员关心准确、快速生成一次销售,且没有支付错误;超市售货员关注销售业绩和分成;大学生关注课程作用、学分、成绩和收费等等。,问题:软件关联人员视点、信息都可能存在不一致、甚至矛盾地方,软件开发技术人员工作重点就是识别、分析视点中包括信息类型、需求属性等。比如,超市,POS,机系统就需要制订严格操作流程,如款清帐明、人清日结、高层管理退货退款等,开启分析过程,18:37:55,

24、第29页,实例分析:出卷系统,利益相关者:,教师:关注怎样出一份合理试卷,并能依据样式打印与输出。,学生:关注怎样经过生成一些模拟试题,并在线学习和检验学习结果。,题库维护人员:关注试题添加、更新和删除等工作。,视点:,教师关注自动出卷、手工出卷、试卷编辑和试卷输出。,学生关注随时抽卷、联络试卷和评价分析。,题库维护人员关注试题管理。,非形式化需求分析技术,18:37:55,第30页,非形式化需求分析技术,图书馆系统共利益者与视点有:,图书流通管理:负责图书借还工作。,用户:希望快速得到借书,还书服务,能够续借、预约图书,以及查询个人和图书信息。,编目管理员:负责图书管理、用户管理和处理罚金等

25、18:37:55,第31页,会谈,正式会谈:提出一些可自由回答问题。,非正式会谈:提出一些事先准备好议题。,情景分析:需求分析从对场景评论中得到信息,然后再将其以形式化方式表示出来。,调查表,制订调查表,分析,建立原型,界面,执行过程,非形式化需求分析技术,18:37:55,第32页,场景分析,分析员与项目相关人员共同识别出情景,并捕捉这些情景细节。,把细节加入到一个纲要需求描述中时,情景尤其有用。,情景是对交互实例片断描述,每个情景可能包含一个或多个交互,它们能在不一样细节层次上提供不一样类型情景信息。,情景开始于一个框架,在导出过程中,细节被逐步增加,直到产生交互一个完整描述。,非形式

26、化需求分析技术,18:37:55,第33页,一个情景可能包含以下内容:,在情景开始部分有一个系统状态描述;,一个关于标准事件流描述;,一个关于哪儿会犯错,以及怎样处理错误描述;,相关其它可能在同一时间进行活动信息;,在情景完成后系统状态描述。,非形式化需求分析技术,18:37:55,第34页,结构化分析,(,SA,,,Structured Analysis,)方法是,20,世纪,70,年代,由,E.Yourdon,等人提倡一个适合用于大型数据处理系统、,面向数据流需求分析方法,。,结构化分析方法是一个,传统系统建模技术,,其过程是创建描述信息内容和,数据流模型,,依据,功效,和,行为,对系统进

27、行划分,并描述必须建立系统要素。,结构化分析将系统,自顶向下逐层分解,,到达表示系统目标,它采取,一组,过程模型,图形化地描述一个系统,逻辑模型,。,结构化需求分析指导性标准,:,了解问题,、,开发模型,、,描述需求,、,建立系统模型,、,确定需求优先级,、,验证需求,结构化分析方法是一个建模技术,基于计算机系统是数据流和一系列转换组成,在模型关键是,数据词典,,它描述了全部在目标系统中使用和生成数据对象。围绕着这个关键有三种图:,ERD,、,DFD,、,STD,结构化分析概述,18:37:55,第35页,结构化分析模型,分析模型,目标,是为基于计算机系统提供必须信息、功效和行为域说明。,模型

28、是对系统某个方面抽象,抛弃了,详细细节,,对系统中最突出,特征作简化,。,分析模型全部元素都能够直接映射到,设计模型,结构化分析模型组成,数据建模和对象描述,功效建模和数据流图,基本加工逻辑说明,行为建模(时序图),数据词典,18:37:55,第36页,面向数据流建模,面向数据流建模是结构化需求分析方法之一,采取自顶向下逐层分解,描绘满足用户要求软件模型(数据模型、功效模型、行为模型),表示:,数据流图:描述系统处理过程,数据字典:模型中数据信息集合,状态转换图:描述系统对内部或外部事件响应行为模型,18:37:55,第37页,软件设计阶段基本目标是结构系统“,怎么做,”模型描述。,“设计先

29、于编码”是软件工程“推迟实现”,基本标准,。,软件系统设计是把软件需求“变换”为用于结构软件蓝图。,“,输入,”是需求分析各种模型元素,“,输出,”是软件设计模型和表示,软件设计目标,是对将要实现软件系统体系结构、系统数据、系统模块间接口,以及所采取算法给出详尽描述。,软件设计概述,18:37:55,第38页,软件设计概念,总体设计,,或称概要设计,或软件结构设计,或高层设计,分析需求规格说明,模块划分,形成含有预定功效模块组成结构,表示出模块间控制关系,给出模块之间接口,软件详细设计,,也称,(,模块,),过程设计,,或低层设计。,设计模块细节,确定模块所需算法,和数据结构等,编写全部代码,

30、设计测试和复审,18:37:55,第39页,软件结构设计过程,含,系统设计,和,结构设计,。系统设计确定系统详细实现对象,结构设计确定软件体系结构。,软件结构设计步骤,:,设计供选择方案,选取合理方案,推荐最正确方案,功效分解和设计软件结构,数据库设计,制订软件设计测试计划,编制设计文档,审查和复审,软件设计过程,18:37:55,第40页,软件模块化设计,模块是一个独立命名,拥有明确定义输入、输出和特征程序实体。,把一个大型软件系统全部功效,按照一定标准合理地划分为若干个模块,每个模块完成一个特定子功效,全部这些模块以某种结构形式组成一个整体,这就是软件模块化设计(,Modular Desi

31、gn,)。,软件模块化设计能够简化软件设计和实现,提升软件可了解性和可测试性,并使软件更轻易得到维护。,分解、抽象、逐步求精、信息隐蔽和模块独立性,是软件模块化设计指导思想。,18:37:55,第41页,软件系统模块化是指整个软件被划分成若干单独命名和独立访问部分,称之为模块。,每个模块完成一个子功效,把全部模块集成起来组成一个整体,能够完成指定功效,满足用户需求。,把问题子问题分解与软件开发中系统子系统或系统模块对应起来,就能够把一个大而复杂软件系统划分成易于了解比较单纯模块结构。,模块化能够使一个复杂大型程序能被人智力限制所管理,是软件应该具备最主要属性。,实际上,每个程序都对应地有一个最

32、适当模块数目,可使软件系统开发成本最小。,模块划分目标,:进行功效分解,把复杂大功效划分成简单小子功效,尽可能降低每个模块成本。尽可能使每个模块间接口不能太多,太多会使接口成本增加。兼顾二者可取得最正确划分状态,确保软件总成本最低。,软件模块化,18:37:55,第42页,模块独立性,模块独立性(,Module Independence,)是模块化、抽象、信息隐蔽等概念直接结果,也是判断模块化结构是否合理标准。,模块独立性是指开发含有独立功效而和其它模块没有过多关联模块。,模块独立性两大优点:,独立模块因为分解了功效,简化了接口,使得软件比较轻易开发;,独立模块比较轻易测试和维护。,模块独立性

33、由两个定性标准度量:,耦合,是模块之间相互连接紧密程度度量,内聚,是模块功效强度,(,一个模块内部各个元素彼此结合紧密程度,),度量,。,模块独立性愈高,则块内联络越强,块间联络越弱。,18:37:55,第43页,概要设计,概要设计也称,总体设计,,确定软件结构以及各组成成份,(,子系统或模块,),之间相互关系。,概要设计主要任务是:,将系统划分成模块;,决定每个模块功效;,决定模块调用关系;,决定模块界面,即模块间传递数据。,概要设计实现方式:经过数据流图来确定系统结构图,而且对这些结构图进行分析和细化。,在概要设计阶段,结构化设计主要采取,面向数据流设计方法,。,18:37:55,第44页

34、详细设计,详细设计就是在概要设计基础上决定怎样详细实现各模块内部细节,直到对系统中每个模块给出足够详细过程描述。,在编码实现阶段能够完全按照详细设计细节过程来映射到代码,最终实现整个系统。,普通使用结构化程序设计工具来描述,18:37:55,第45页,细设计基本任务,为每个模块进行详细算法设计,为模块内数据结构进行设计,为数据结构进行物理设计,即确定,数据,库,物理结构,其它设计,:依据软件系统类型,还可能要进行以下设计:,代码设计,输入,/,输出格式设计,人机对话设计,编写详细设计文档,评审,18:37:55,第46页,面向对象概念,面向对象是一个程序设计方法,或者说它是一个程序设计范型,

35、其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。,面向对象方法学,面向对象分析(,OOA,,,Object-Oriented Analysis,)是一个半形式化规格说明技术。,面向对象设计(,OOD,),面向对象实现,(OOP),面向对象测试,(OOT),18:37:55,第47页,面向对象概念,面向对象,特征,抽象性:强调实体本质、内在属性,忽略一些无关紧要属性。类实现了对象数据(即状态)和行为抽象,是对象共性抽象。,封装性:指全部软件部件内部都有明确范围以及清楚外部边界。每个软件部件都有友好界面接口,软件部件内部实现与外部可访问性分离。,共享性:面向对象技术在不一样级别

36、上促进了共享。,面向对象分析,(OOA,,,Object-Oriented Analysis),是一个半形式化规格说明技术。,OOA,是当前软件开发主流方法,是软件工程人才必须具备基础知识和必备能力。,在进行系统业务调查后,按,面向对象,思想分析问题。,18:37:55,第48页,OOA,与,SA,区分,:,OOA,强调在系统调查资料基础上,针对,OO,方法,所需要素材进行,归类分析和整理,,而,SA,强调对,管理业务,现实状况和方法分析,。,当前最流行,OOA,技术:,OMT,(Object Modeling Technology,对象建模技术,),:它从,对象模型、动态模型和功效模型,三个

37、方面对系统进行建模,每个模型从一个侧面反应系统特征。,Booch,开发技术:,Booch,方法所采取对象模型要素是:,封装、模块化、层次类型、并发,。主要概念模型是,类和对象,、类和对象特征、类和对象之间关系。使用图形文档包含六种:,类图、对象图、状态转换图、交互图、模块图和进程图。,UML,之前比较普及一个面向对象软件设计方法。,面向对象概念,18:37:55,第49页,面向对象模型,面向对象模型三种主流形式,按照产生次序排,对象模型:,定义,“做什么”,实体,。它可表示系统数据或对数据处理,它是,数据流和语义数据模型结合,。,动态模型:,要求在,何种状态下,,接收什么事件,触发,而“做什么

38、它表示,瞬间、行为化系统“控制”,性质,并要求了对象模型中对象正当改变序列。,功效模型:,指明系统,应该,“做什么”。它直接反应用户对,目标系统需求,。,18:37:55,第50页,对象模型,对象模型表示静态,、,结构化系统“数据”性质,。描述是系统一个,静态结构,,是对模拟客观世界实体对象,以及对象彼此间关系,映射,。,对象模型基本组成形式,=,类,(,包含其属性和行为,)+,对象,(,类实例,)+,类或对象之间关系,。,类名是,一类对象抽象命名,,其命名是否恰当对系统可了解性影响相当大。,对象模型还必须表示,类,/,对象之间结构关系,。类,/,对象之间关系普通可概括为,关联,、,归纳,

39、/,继承(泛化),、,组合(聚集)三类。,18:37:55,第51页,动态模型,动态模型表示瞬间、行为化系统“控制”,性质,它要求了对象模型中对象,正当改变序列,。也能够说,动态模型是基于共享而相互联络一组状态集合。,对象,运行周期中阶段就是对象状态,对象状态,是,对对象属性,一个,抽象,。,对象之间相互触发,/,作用行为(称为,事件,),引发一系列状态改变。,事件,是引发,对象状态转换控制信息,。,事件没有连续时间,是,瞬间完成,。,对象对事件,响应,,取决于接收该触发对象,当初所处状态,,其响应包含,改变自己状态,,或者是形成一个,新触发行为(事件),。,动态模型描绘了对象状态,,触发状态

40、转换,事件,,以及对象,行为,(对事件响应)。,18:37:55,第52页,统一建模语言,UML,统一建模语言,(,UML,,,Unified Modeling Language,)是一个基于面向对象,可视化建模语言,。,UML,用丰富图形符号隐含表示了模型元素语法,而用这些,图形符号,组成元,模型表示语义,,组成模型描述,系统结构,(或称为,静态特征,)以及行为(或称为,动态特征,)。,UML,模型元素:,一类模型元素用于表示模型中某个,概念,,如类、对象、用例、结点、构件、包、接口等;,另一类模型元素用于表示模型元素之间相互连接,关系,,主要相关联、泛化(表示普通与特殊关系)、依赖、聚集(

41、表示整体与部分关系)等。,18:37:55,第53页,UML,能够从,不一样视角,为系统建模,形成,不一样视图,。,视图是系统完整描述中一个抽象,,代表该系统一个特定方面。每个视图由一组图组成,,图包含强调系统某首先信息,五类视图,用例视图,用于描述系统应该含有,功效集,,强调从,用户角度,看到或需要系统功效,是对,系统抽象表示,。,逻辑视图,用来展现系统,静态或结构组件,及特征。显示系统,内部功效是怎样设计,,利用系统静态结构和动态行为来刻划系统功效。,并发视图,表达系统,动态或行为特征,。显示系统并发工作情况。,组件视图,用来显示,代码组件组织方式,,描述了,实现模块,和它们之间,依赖关系

42、表达了系统实现,结构和行为特征,展开视图,用来显示系统,物理架构,,即系统,物理展开,,表达了系统实现,环境结构,和行为特征。,UML,视图与图,18:37:55,第54页,面向对象分析过程,面向对象分析阶段主要任务是获取用户需求,并构建系统初步逻辑模型。,用例建模,:,获取用户需求,,,构建用例模型。,识别外部用户,场景分析,构建活动图,构建用例图,领域建模,:,目标是建立系统,概念模型。,抽取领域对象,构建领域模型,构建初步交互模型,18:37:55,第55页,面向对象分析过程,面向对象设计过程主要是对分析阶段建立,对象模型,或,类模型,和,交互模型,进行,精化过程,。,精化类模型和对

43、象模型,交互行为建模,设计类精化,构建逻辑架构,18:37:55,第56页,用例驱动分析过程,用例建模分析,开发活动图,开发泳道图,用例,着眼于为用户增加价值,提供了一个捕捉功效需求系统且直观方法,可驱动整个开发过程。,用例从某个特定参加者角度用简单易懂语言说明一个特定,使用场景,。,要开始开发用例,应列出特定参加者执行功效或者活动。,用例模型,帮助客户、用户和开发人员在怎样使用系统方面达成共识。,用例图,描述部分用例模型,显示带有联络用例和参加者集合,用例驱动分析,18:37:55,第57页,领域与业务建模,领域模型,能捕捉语境中最主要对象模型,领域对象代表系统工作环境中,存在事情或发生事件

44、领域有三种经典形式:,业务对象,,表示业务中可操作东西。比如订单、帐单、帐户和协议等。,系统需要处理,现实世界中对象和概念,。如导弹、轮船、学籍、,ATM,、,POS,等。,将要,发生或已经发生事件,。比如飞机起飞、午餐、休息、学籍籍点、取款、制造计划等。,领域建模目标是,了解和描述,在领域语境中,最主要类,。,18:37:55,第58页,分析类,分析类,侧重于处理,功效性需求,,经过,较高、非形式化,层次,职责类,定义某行为,分析类三种基本结构型:,边界类:,边界类用于建立,系统,与其,参加者之间交互,模型,经常代表对,窗口、窗体、窗幕、通信接口、打印机接口,、,传感器、终端以及,AP

45、I,等抽象。每个边界类,最少应该与一个参加者相关,,反之亦然。,控制类:,控制类代表,协调、排序、事务处理,以及,其它对象控制,,经惯用于封装与,某个详细用例,相关控制。控制类还能够用来表示复杂派生与演算,如,业务逻辑,。,实体类:,实体类用于,对长期有效持久信息建模,。大多数情况下,实体类是直接从业务对象模型中,对应业务实体,类得到。,18:37:55,第59页,识别属性和操作,属性,描述,类性质,,能够经过分析该类存在一些信息类构建。,操作定义了某个对象行为。,操作能够分为四种类型:,以某种方式,操纵数据,,比如:添加、删除、选择、更新等。,执行计算操纵,,比如:销售中计算总价。,请求某个

46、对象状态操作,。,监视某个对象发生某个,控制事件操作,。,操作结构需要交互图和场景描述等伎俩屡次重复分析才能获取。在研究语法分析并分离动词作为候选操作。推荐一个方法是使用,CRC,技术。,18:37:55,第60页,系统行为建模,行为模型,显示了软件怎样,对外部事件或激励做出响应,。要生成行为模型,分析师必须按以下步骤进行:,评定全部用例,,以使得完成了解系统内交互序列。,识别,驱动交互序列事件,,并了解这些事件怎样和详细类相互关联。,为每个,用例生产序列,。,创建,系统状态图,。,评定行为模型以验证准确性和一致性。,18:37:55,第61页,软件测试及定义,用户角度:,普遍希望经过软件测试

47、暴露软件中隐藏错误和缺点,,以考虑是否可接收该产品。,软件开发者角度:,希望测试成为,表明软件产品中不存在错误,过程,验证该软件已正确地实现了用户要求,确立人们对软件质量信心。,软件测试定义,(1),测试是,程序执行过程,,目标在于,发觉错误;,(2),一个好测试用例在于,能发觉至今未发觉错误;,(3),一个成功测试是,发觉了至今未发觉错误测试。,以最少时间和人力,,系统地找出软件中潜在各种错误和缺点,。,测试附带收获:,能够证实软件功效和性能与需求说明相符合,测试结果数据为可靠性分析提供了依据。,测试不能表明软件中不存在错误,只能说明软件中存在错误。,软件测试定义,第62页,软件测试三个最

48、正确实践:,尽早测试、连续测试、自动化测试,全部测试都应该能追溯到用户需求。,应该远在测试开始之前就制订出测试计划。,严格执行测试计划,,排除测试随意性,。,测试用例应由,测试输入数据,和对应,预期输出结果,这两部分组成。,程序员应防止检验自己程序。,为了到达最正确测试效果,应该由独立第三方从事测试工作,在设计测试用例时,应包含,合理输入条件,和,不合理输入条件。,穷举错误是不可能,所以,测试只能证实程序中有错误,而不能证实程序中没有错误。,软件测试准则,18:37:55,第63页,验证与确认,验证是指已经实现软件产品是按照它需求做,是符合,需求说明书,。,确认是指已经实现软件产品或产品组件在

49、用户环境下实现了,用户需要,。,验证测试指测试人员在,模拟用户环境,测试环境下对软件进行测试。,确认测试是指测试人员在,真实用户环境,下检验软件。,同行评审及测试是主要验证方法。,确认主要是对中间及最终产品检验与验收。,确认与验证紧密结合。,18:37:55,第64页,考试试卷分布,1,、选择题(,30,分,,15,题),2,、简答题(,15,分,,3,题):,基本概念(如软件工程、软件危机、生命周期、软件开发模型、需求分析、软件设计、模块独立性度量标准,等),3,、叙述题(,25,分,,3,题):,分析、设计、实现方面过程、方法、工具,如数据字典、判断表(树)、软件工具,4,、综合分析设计题(,30,分,,1,个例子):,需求获取(,利益相关者和视点,描述、场景描述、功效需求描述、业务流程图、用例图、活动图)、,SA,法(数据流程图、数据字典)、,SD,法(,DFD,转换成软件结构图)、,OO,法(对象类图、状态图、次序图)、黑盒测试用例设计(等价类划分、边值分析),第65页,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服