软件工程需求工程教学课件ppt_第1页
软件工程需求工程教学课件ppt_第2页
软件工程需求工程教学课件ppt_第3页
软件工程需求工程教学课件ppt_第4页
软件工程需求工程教学课件ppt_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中原工学院,软件工程,4 需求工程,4.1 需求捕获4.2 需求分析4.3 需求定义4.4 需求管理4.5 需求验证,中原工学院,软件工程,需求的重要性,需求没有做好,对后续产品来说是巨大的灾害1.浪费时间和资源来满足用户并不需要的需求(过度实现一些功能);2、开发出来的产品技术上先进,但不满足用户需求;3、总是需要比较长的时间来达成对产品设计的共识;4、在产品设计,开发和测试工作中对于用户需求的解释不一致;5、员工会厌倦因需求不断被重新解释而导致的返工;6、未说明的或不正确的需求会导致员工与用户间的不满;7、不稳定的产品,用户的不满意对我们未来的市场造成损失;8、浪费时间,增加成本,使得在一些投标的项目中不能低价;,中原工学院,软件工程,中原工学院,软件工程,了解客户、最终用户、间接用户,掏钱买软件的用户称为客户,而真正操作软件的用户叫最终用户。客户与最终用户可能是同一个人也可能不是同一个人。与客户打交道的主要目的是?即使最终用户不是上帝,也算是“上帝”的“亲戚”,同样怠慢不得。重视“间接用户”,千万别“大意失荆州” 间接用户既不掏钱买该软件产品,也不使用该软件,但是它可能对软件产品有很大的影响。例如,财务软件开发商在把“财务软件”卖给客户之前,这个“财务软件”必须得到国家财政部的批准。市面上流通的信息安全软件、杀病毒软件必须得到国家公安部的批准,否则软件开发商被逮住后戴上“非法经营”的帽子就惨了。,中原工学院,软件工程,需求工程基本概念,把所有与需求直接相关的活动通称为需求工程。需求工程中的活动可分为两大类,一类属于需求开发,另一类属于需求管理。,中原工学院,软件工程,需求分析的目的,需求是一项软件工程活动,其目的是:清楚地理解所要解决的问题,完整地获取用户要求;刻划出软件的功能和性能;指明软件与其他系统元素的接口;建立软件必须满足的约束。,中原工学院,软件工程,需求分析的任务,需求分析是一项软件工程活动,它包括:1)需求获取刻划出软件的功能和性能;指明软件与其他系统元素的接口;建立软件必须满足的约束。2)需求建模 需求分析建立起来的模型为日后软件设计人员提供了可被翻译成数据、体系结构、接口和处理过程设计的模型。,中原工学院,软件工程,需求分析的任务,3)需求规格说明 需求规格说明为开发人员和用户提供软件开发完成时质量评价的依据。4)需求评审需求分析研究的对象是用户的要求。必须全面理解用户的各项要求,准确表达被接受的用户要求。只有经过确切描述的软件需求才能成为软件设计的基础。,中原工学院,软件工程,软件需求的层次,业务需求 反映了组织或客户对系统、产品高层次的目标要求,它们一般在项目视图和范围文档中给予说明。用户需求 描述用户使用软件需要完成哪些任务,它们可通过使用实例图或脚本说明加以阐明。功能非功能需求 定义了开发者必须实现的软件功能,而非功能需求如表所示:,中原工学院,软件工程,中原工学院,软件工程,4.1 需求捕获,需求获取可能是软件开发中最困难、最关键、最易出错及最需要交流的方面。表现在:需求的不稳定性:在整个软件生存周期内软件需求会随着时间的推移发生变化;需求的不准确性:用户和开发人员的认识会随着使用系统实现业务流程的实践逐步提高,一开始不可能设想得面面俱到。需求获取只有通过有效的客户/开发者的合作才能成功。,中原工学院,软件工程,4.1 需求捕获,微软面试项目经理的题目-如何设计一台冰箱? 1.冰箱应该老人不需要弯腰,正常站立就可以很方便地打开,冰箱的高度可调节,这样就可以适应不同身高的老人了。2.冰箱采用横向布局,冰箱的多个门并排排列,都在同一个高度。这样就避免了竖向布局时,某些门因为过高或者过低不方便打开的问题了。3.为方便老人开门,门口采用大按钮,按一下门就开。4.冰箱在不影响老人取放食物的情况下,能自动关门。5.冰箱内部有各种常用标签,如水果、肉类、蔬菜等,方便老人分门别类放好食物。6.对于放置多日而未动的食物,冰箱会自动提醒。,中原工学院,软件工程,4.1 需求捕获,看看下面列举的项目中的一些实际情况:1.我们并不可能访问所有的用户,了解到每个用户的想法。2.我们能访问到的用户所提到的需求,并不一定是全部的需求。3.部分用户提到的需求,可能是不合理的。4.不同用户之前提出的需求,可能是矛盾的。5.很多用户只有朦胧的想法,需要我们提出具体方案让他去确认。如果我们不主动出击、不勤加思考,获取到的需求很可能是不彻底、不完整的。系统的专业程度越高,越需要我们主动去挖掘需求。,中原工学院,软件工程,4.1 需求捕获,让我们考虑一个使用ATM的银行客户。不要把ATM视为一个自动化产品,而是把它看作是工作的边界。她是一位走出办公室吃午餐的女士。她来到ATM面前。现在,她来到ATM面前真正想要的是什么?仅仅是现金?查看她的帐户余额?,中原工学院,软件工程,4.1 需求捕获,为什么她需要现金? 她是打算在回办公室的路上付她的电费账单吗?如果是这样,为什么不让她有机会通过ATM来付电费账单?她是需要一些现金去买东西吗?为什么不扩展ATM卡的功能,让她可以作为借记卡在零售付款处使用?这样她就不必先去ATM上取现金了。 她是只想看看她的余额吗? 为什么不让她能够方便的通过她的手机来做这件事?,中原工学院,软件工程,4.1 需求捕获,她还想什么? 她是否希望银行确认每次现金提取,这样她的每月结算表可以告诉她每次是哪位家庭成员取的钱?她是否希望限制她的小孩取钱的金额?她是否愿意使用ATM?她是否更愿意在家里完成这些任务?或者是在超市购物时完成这些任务?或者更舒服的在咖啡屋中完成? 注意:忽略目前所使用的技术以及限制,提供最接近顾客内心的需要和想法的产品。,中原工学院,软件工程,需求分析员,1.知识技能问题 当需求分析员缺乏应用域知识时,他该怎么办?2.态度问题 需求分析员的天职就是在有限的时间内获取准确而细致的用户需求,如果做不到就是失职,不要找借口。 需求分析员绝不能以用户说不清楚需求为借口而草率地对待需求开发工作,否则会连累整个开发团队的。 需求分析员必须设法搞清楚用户真正的需求,这是需求分析员的职责,也是职业的挑战。,中原工学院,软件工程,4.1 需求捕获,准备调查:首先,需求分析员应当起草需求调查问题表,将调查重点锁定在该问题表内,否则调查工作将变得漫无边际。问题表可以有多份,随着调查的深入,问题表将不断地被细化。根据经验,用户通常没有耐心回答复杂的论述题,所以问题表应当以“选择题”和“是非题”为主。制定问题表最简便的方法就是从用户需求说明书的模板中提取需求问题。,中原工学院,软件工程,4.1 需求捕获,其次,需求分析员应当确定需求调查的方式,需求调研的主要手段:发调查表;召开调查会;向用户领域的专家个别咨询;实地考察,跟踪现场业务流程;查阅与待开发系统有关的资料;使用各种调查工具等。最后,需求分析员与被调查者建立联系,确定调查的时间、地点、人员等,撰写需求调查计划。要特别留意的是不要漏掉典型的用户。,中原工学院,软件工程,4.1 需求捕获,订餐系统 我们需要明确项目的背景,我们要回答这些问题:也就是为什么会有这个项目?客户为什么想做这样的一个项目?如果没有这个项目会怎样?了解背景的基础上,我们需要进一步了解以下内容:1)本项目解决了客户的什么问题?2)本项目涉及到什么人、什么单位?3)本项目的目标是什么?4)本项目的范围是怎样的?5)本项目的成功标准是什么?以上这些内容,我们称之为客户的“需要”。,中原工学院,软件工程,4.1 需求捕获(需求分析的基本过程理论上),中原工学院,软件工程,4.1 需求捕获,实际的需求开发过程:客户(用户)直接提出来的往往是需求规格,客户甚至自己都不是很清楚自己的需要。项目组不清楚“背景”与“需要”情况下,直接开发客户埋怨软件不是他们想要的,项目组埋怨客户经常变更需求。背景、需要、需求规格的关系?,中原工学院,软件工程,案例分析,订餐系统 我们需要明确项目的背景,我们要回答这些问题:也就是为什么会有这个项目?客户为什么想做这样的一个项目?如果没有这个项目会怎样?了解背景的基础上,我们需要进一步了解以下内容:1)本项目解决了客户的什么问题?2)本项目涉及到什么人、什么单位?3)本项目的目标是什么?4)本项目的范围是怎样的?5)本项目的成功标准是什么?以上这些内容,我们称之为客户的“需要”。,中原工学院,软件工程,案例分析,1.本项目的背景是怎样的?员工中午饭要吃好是很重要的事情,但手工订餐存在一些问题,领导试图通过订餐系统来改善。分析: 1)本系统的用户是“员工”,而客户是“领导”。 2)领导的目的不是为了做这个系统,而是希望通过这个系统解决问题。 3)领导应该不太可能投入大的投资来解决这个问题,例如:不太可能将员工的午饭标准提高到每人每餐50元,也不太可能为这个项目投入100万的经费。,中原工学院,软件工程,案例分析,背景应该如何描述?背景应描述出系统的用户和客户是谁、项目的来源,并且可以由此推断客户可能的投资预算,本项目对于客户的重要程度等。,中原工学院,软件工程,案例分析,2.本项目能解决什么问题?参考答案:1)手工订餐本身工作效率低,有时会影响员工的正常工作。2)手工订餐容易出错,导致员工吃不到饭或者是吃不到自己想吃的饭。,中原工学院,软件工程,案例分析,点评:1)问题描述得很具体,并且问题产生的根源似乎都是因为“手工订餐”导致的。2)手工订餐并不会让大家吃不到饭,只是有时会出一些小问题。3)手工订餐的最大优势就是灵活,不好的地方就是容易出错,这个订餐系统如何才能保持手工订餐的“灵活”优势呢?问题应该怎样描述?需要清楚明确地描述清楚项目解决的问题,同时要分析好当前的工作方法的优点。系统除了要解决当前的问题,还应该保持原来工作方法的优点。很多系统解决了问题,但丢失了原来工作方法的优势,往往是得不偿失。,中原工学院,软件工程,案例分析,3.本项目的关键涉众有哪些? 员工、前台、领导、财务、餐厅。点评:1)全面考虑了各种涉众。2)员工是使用本系统的主体,他们最关键的需求应该是能方便准确地订餐。3)前台通过本系统来统计订餐、和餐厅沟通、下订单等,前台可能是本系统使用功能最多、操作最复杂的角色。4)领导有时也会通过本系统来订餐,但对本系统的主要要求就是大家要用得舒服。5)财务可能需要根据本系统的订餐记录和餐厅结帐。6)餐厅需要提供菜单给前台,餐厅可能以传真或电话的方式获知我们的订餐,不同的方式将会影响本系统的某些功能。,中原工学院,软件工程,案例分析,如何找出关键涉众?1)应广度优先地尽量多地列出可能的涉众。2)列出每种涉众在本系统的关键需求。3)每一种涉众都应该清楚说明本系统是如何影响她的,以及她是如何影响本系统的。,中原工学院,软件工程,案例分析,4.本系统要达到怎样的目标? 达到“吃饭易”的效果,保证员工不会因为吃饭问题影响正常工作。点评:1)目标描述应简单容易记忆,以便项目组随时记住。2)本项目的目标并不是让员工吃饭吃得开心,也不是用来保证员工正常工作(光靠这个系统,是不能保证员工正常工作的),而是希望通过本系统来消除手工订餐的问题。,中原工学院,软件工程,应该如何描述目标? 应该用简单、明确、恰如其分的语言来描述。简单、明确是方便项目组记忆,以便在工作中随时可以用目标检验工作。恰如其分则要求目标描述不要夸大系统的作用,也不要缩小系统的作用。很多项目描述目标的时候,往往会夸大系统的作用,如提高工作效率、提高生产力等,这些目标往往不是单纯靠系统就可以做得到的,更多是靠企业的管理,系统只是起到配合和支持的作用。,案例分析,中原工学院,软件工程,案例分析,5.本系统的范围是怎样的?1)这是一个订餐系统,只考虑与订餐相关的功能。2)这是一个单独的系统,不考虑与其它系统集成或交互。3)使用本系统的是*的全体员工,不考虑分公司的员工。点评:从功能、与其它系统的关系、用户三方面描述了本系统的范围。,中原工学院,软件工程,应该如何描述范围?范围往往客户并不会直接给出的,我们需要从项目解决的问题、目标等入手,从功能、与其它系统的关系、用户等来思考系统的范围。由前面的资料,我们可以知道,客户应该不会投入很多钱,客户目标只是希望解决手工订餐带来的麻烦,所以我们定范围时,应该尽量让系统简单,能满足目标便可。本系统其实可以做得很复杂的,订餐这事情其实与请假外出相关的,订餐也会与财务结帐有关系,如果将系统边界扩大,很可能将问题复杂化。,案例分析,中原工学院,软件工程,案例分析,6.本系统应该具备怎样的功能?点评:1)用例图全面地描述了系统用户与用例,条理清晰、一目了然。2)对于每一个用例,还可以进一步描述用户与系统是如何交互的,为下一步工作做好准备。3)除了描述功能,还需要考虑系统的非功能需求,如性能要求、安全性要求等。,中原工学院,软件工程,案例分析,应该如何描述功能?1)要根据前面的问题导出系统应具备的功能以及非功能需求。2)用例图是描述功能性需求的好工具,但不要拘泥于只用用例图。3)对于非功能性需求,客户往往没有具体想法,需要我们从客户的需要出发,定出具体的非功能性需求。,中原工学院,软件工程,案例分析,7.本项目成功标准是怎样的? 用简单的方式达到目标的要求,达致双赢。点评:1)“简单”意味着成本低,符合双方利益。2)达到目标要求是真正的客户所需。,中原工学院,软件工程,案例分析,如何考虑项目的成功标准? 我们做一个项目,成功标准并不是为了赚钱,更加不是不惜一切谋取最大利益,双赢才是最重要的原则!对于客户来说,首要目标就是要满足他的需要,然后就是合理的预算,对于软件公司来说,首要目标就是为客户提供高性价比的解决方案,赚取合理利润。要达致双赢,客户的成熟度是很重要的,但更重要的是软件公司的成熟度,项目组需要以专家、顾问这样的高度来解决项目中的问题,引导双方达至双赢。,中原工学院,软件工程,案例总结,以上7个问题,问题1是背景相关的问题,问题2、3、4、5是需要相关的问题,问题6是需求规格相关的问题,而问题7是我们需要认真考虑的问题,考虑清楚项目的成功标准才能更好地指导项目后续工作,提高项目成功概率。,中原工学院,软件工程,新需求,如何应对?,1)要经过好几个页面才能进入订餐页面,不太方便,希望能在首页直接进入订餐页面。2)一次只能定一天的餐,不太方便,希望一次能定多天的。3)我有时选了一个菜,前台却说这个菜没有了4)能不能提供多家餐馆选择?5)订餐标准才8元,现在物价都涨了,能不能提高一下标准?6)能不能直接连到餐馆的网页上去看菜式?7)能不能做口味分析和营养分析?,中原工学院,软件工程,分析,1)要经过好几个页面才能进入订餐页面,不太方便,希望能在首页直接进入订餐页面。2)一次只能定一天的餐,不太方便,希望一次能定多天的。易用性方面的问题,如:界面布局、操作方式、文字表达、排序条件等细节问题,这些问题不解决的话会降低用户体验。注意:一个项目有可能系统上线后才发现理解错了客户的真正需要,这时修改系统的话一般来说工作量会比较大,但原则上应该给予修改,双赢是项目的目标,客户关键需要没有满足,项目不能算成功,中原工学院,软件工程,分析,3)我有时选了一个菜,前台却说这个菜没有了!5)订餐标准才8元,现在物价都涨了,能不能提高一下标准?会什么会有选了菜但没有这个菜的问题呢?是软件的bug吗?注意:有些问题,并不是软件本身的问题,而是管理的问题。项目组遇到客户提出这类问题时,不要因为不是软件问题就事不关己,应主动分析问题并提供适当的解决方案,很多问题只需要在管理上稍微改善一下,问题就可以立马解决,中原工学院,软件工程,分析,4)能不能提供多家餐馆选择?深入思考修改要求背后的需要是什么。 如果要满足该要求,在软件和管理办法上需要做什么改变,代价有多大。 如果不满足这个要求,影响会很大吗?中午饭是工作餐,主要目标是方便快捷,员工哪怕吃不到最想吃的,也可以选择吃第二、第三想吃的,中午餐的预算也不可能很大,没有必要将午餐搞得很复杂很丰富,故这个要求可以不满足。,中原工学院,软件工程,分析,6)能不能直接连到餐馆的网页上去看菜式?为什么有这样新奇的要求呢?订餐标准才8元,这样的餐厅会有网页吗?为什么会有人想去看餐馆的网页呢?有可能是某些员工想了解一下餐馆的信息,好方便他和家人平时去撮一顿,如果是这样的原因,那只需要告诉他一些餐厅的网址就可以了。,中原工学院,软件工程,分析,7)能不能做口味分析和营养分析?实际工作中常见的几类问题:对于符合需要的易用性方面的要求,应尽量满足。 有些问题可通过改善管理办法来解决。 有些问题需要同时在软件和管理办法上做工作来改善。 客户一时冲动的要求,可另辟蹊径解决。 客观条件做不到的、技术上做不到的,应予以拒绝。 超出范围的要求,可引导客户做第二期。,中原工学院,软件工程,又来了“新需求”,怎么办?,领导发现尽管有了订餐系统,但有时候某些员工因为请假或者外出工作,不能及时在网上订餐,中午回到公司时没有饭吃。领导就萌生一个想法,不在公司的员工能通过手机短讯来订餐就好了!请你先思考这些问题:1)领导这个要求的需要是什么?2)如果要做这个功能,人机是应该如何交互?3)要实现这个功能,要增加什么设备?软件要怎样修改?,中原工学院,软件工程,又来了“新需求”,怎么办?,1)要购买发短信的设备,要研究这些设备的开发接口。2)手机屏幕这么小,而且只能通过短信来交互,如何选菜单、定餐、取消订餐等细节都需要想清楚。结果:手机订餐功能终于做出来了,但这个系统还时灵时不灵,问题是出在软件、硬件,还是中国移动都搞不清楚,领导大发雷霆,这样的小事情,怎么搞成这样?!清醒认识到:任何时候都必须比客户更加清醒,不要埋怨客户的变来变去,绝大部分客户是理性和聪明的,只是我们不够厉害,不能分析出客户真正之需要。客户其实不是出钱让你按照他的要求去做,而是让你处于他的角度,提出高性价比的解决方案,满足他的真正需要。,中原工学院,软件工程,需求分析高手?,分析能力学习能力强;表达能力好理解能力强;业务知识强;实践经验丰富;技术知识全面;丰富的管理和被管理的工作经验;,中原工学院,软件工程,需求分析高手?,建议:1)不要以为学过了一些需求分析知识,就以为自己很厉害,也不要用这些大道理来指导项目组工作,不仅对项目组毫无实际帮助,还会帮倒忙。2)不要一毕业就直接投身需求分析的工作,最好还是从编码开始,另外也可以考虑做测试、实施。3)要不断地积累业务知识、技术知识。 4)学习面向对象分析、面向对象设计,并在实际工作中运用,面向对象分析与设计的方法,会从本质上提高你发现问题、分析问题、提炼问题、解决问题的能力。从这点上说,从开发开始是最好的选择。,中原工学院,软件工程,需求分析高手?,5)把握一切能提高你表达能力与理解能力的机会,和别人沟通要及时表达出你对别人说话的理解,平时多写文章、博客之类的,提高你的书面表达能力。6)为什么强调要有丰富的管理和被管理的经验呢?订餐系统中其实我们看到很多跟管理相关的问题,很多问题是需要管理办法去解决的,缺乏管理和被管理的经验,就会难以理解客户的问题,更加是无从从管理上提出具体的解决办法。,中原工学院,软件工程,新挑战,来自员工的抱怨:有些员工觉得A餐厅好吃,有些又觉得B餐厅好吃。有些喜欢吃辣,有些喜欢吃汤粉汤面之类的。有些一会喜欢这个,一会喜欢那个。很多员工强烈要求支持多家餐厅!有些员工想自己带饭回来吃,但公司不会给予午餐补助。,中原工学院,软件工程,新挑战,前台的抱怨:员工有时向她抱怨餐厅送餐慢,她也没办法,已经催了n次,换了几家餐厅了。不太同意要支持多家餐厅,她的管理工作会麻烦很多,而且有些餐厅订餐少的话不会送餐的。多家餐厅时,需要维护多家餐厅的菜单,而且每家餐厅的菜单更新时间不一样。财务的抱怨:不太同意支持多家餐厅,因为财务需要每家餐厅都提供发票,而不是每家餐厅都能提供发票的,除非我们愿意出更多的钱。,中原工学院,软件工程,新挑战,开发人员的抱怨:不是吧,这班人这么难服侍,还有需求变更啊支持定多天的餐和支持多家餐厅其实是有矛盾的,而且也很难实现!领导的抱怨:这么简单的订餐系统,怎么搞得这么复杂!我的这么美好的想法,居然惹下这么大的麻烦另外一个领导的抱怨:员工在办公室内吃饭,搞得办公室气味怪怪的。有些员工还不讲究卫生,把桌子、地面弄脏又不搞干净!,中原工学院,软件工程,解决方案,下面这个解决方案又如何呢?1.所有员工的午餐标准提升到每日10元,无论是否在公司,每月都按22.5工作日提供补贴。2.公司中午休息时间由1小时延长到1.5小时,调整上午下班与下午上班时间,与其它公司“错峰”。3.公司不再统一订餐,也不允许员工在自己座位上吃午饭,公司指定吃午饭场所,让专人负责清洁。,中原工学院,软件工程,常用的分析方法,面向数据流的结构化分析方法 (SA)面向数据结构的Jackson方法 (JSD)面向数据结构的结构化数据系统开发方法 (DSSD)面向对象的分析方法 (OOA) 等,中原工学院,软件工程,结构化分析方法,结构化分析方法最初只是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。扩充后,将建模技术扩展到数据建模、功能建模和行为建模,以实体-关系图、数据流图和控制流图、状态-迁移图为工具,数据字典为核心,从不同视点建立系统的分析模型。,中原工学院,软件工程,结构化分析的分析模型,实体关系图,状态迁移图,数据流图,数据对象描述,加工规格说明,数据字典,控制规格说明,中原工学院,软件工程,数据建模,数据模型包括三种互相关联的信息:数据对象,描述对象的属性,描述对象间相互连接的关系。在需求分析阶段描述数据对象和它们之间的关系,使用了E-R 图。例如,在教学管理中,一个教师可以教授零门、一门或多门课程,每位学生也需要学习几门课程。因此,教学管理中涉及的对象有学生、教师和课程。,中原工学院,软件工程,教学数据模型,中原工学院,软件工程,数据流图(Data Flow Diagram),简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,中原工学院,软件工程,分层的数据流图,中原工学院,软件工程,实例考务处理系统的功能,(1) 对考生送来的报名表进行检查;(2) 对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站;(3) 对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者;(4) 制作考生通知单 (含成绩及合格/不合格标志) 送给考生;(5) 按地区进行成绩分类统计和试题难度分析,产生统计分析表。,中原工学院,软件工程,确定源或宿:考生、阅卷站和考试中心它们都既是源又是宿顶层图唯一的加工:软件系统(考务处理系统)确定数据流:系统的输入/输出信息输入数据流:报名单(来自考生)、成绩清单(来自阅卷站)、合格标准(来自考试中心)输出数据流:准考证(送往考生)、考生名单(送往阅卷站)、考生通知书(送往考生)、统计分析表(送往考试中心)额外的输出流(考虑系统的健壮性):不合格报名单(返回给考生),错误成绩清单(返回给阅卷站)顶层图通常没有文件,系统的输入输出(顶层图),中原工学院,软件工程,中原工学院,软件工程,根据考务处理业务,画出顶层数据流图,以反映最主要业务处理流程及系统与外界的关系。经过分析,考务业务处理的主要功能应当有登记报名单、统计成绩两个主要数据流。输入的源点和输出终点是考生、考试中心和阅卷站。然后从输入端开始,根据考务业务工作流,画出数据流流经的各加工框,逐步画到输出端,得到第 0 层数据流图。,中原工学院,软件工程,中原工学院,软件工程,中原工学院,软件工程,中原工学院,软件工程,分层数据流图的审查,父图与子图平衡任何一张DFD子图边界上的输入/输出数据流必须与其父图中对应的加工的输入/输出数据流保持一致,中原工学院,软件工程,数据守恒一个加工所有输出数据流中的数据,必须能从该加工的输入数据流中直接获得,或者能通过该加工的处理而产生多余的数据流:加工未使用其输入数据流中的某些数据项 一个加工的输出数据流不能与该加工的输入数据流同名,分层数据流图的审查,中原工学院,软件工程,数据字典 - DD(Data Dictionary),数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。,数据字典的任务是: 对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。,中原工学院,软件工程,数据字典的内容,(1) 数据流(2) 数据流分量(即数据元素)(3) 数据存储(4) 处理,中原工学院,软件工程,数据流名: 说明:简要介绍作用,即它产生的原因和结果。 数据流来源:即该数据流来自何方。 数据流去向:去向何处。 数据流组成:数据结构。 每个数据量流通量:数据量、流通量。,数据流的描述,数据流名:发票 说明:用作学生已付书款的依据 数据流来源:来自加工“审查并开发票” 数据流去向:流向加工“开领书单”。 数据流组成:学号+姓名+书号+单价总价+书费合计,中原工学院,软件工程,数据元素名: 类型:数字(离散值、连续值),文字(编码类型) 长度: 取值范围: 相关的数据元素及数据结构,数据元素词条的描述,年 = “1900”.“3000” 月 = “01”.“12” 日 = “01”.“31” 摘要 = 1字母4 金额 = “00000000.01”.“999999999.99” ,中原工学院,软件工程,数据文件的描述,数据文件名: 简述:存放的是什么数据。 输入数据: 输出数据: 数据文件组成:数据结构。 存储方式:顺序,直接,关键码。 存取频率:,中原工学院,软件工程,加工名: 加工编号:反映该加工的层次 简要描述:加工逻辑及功能简述 输入数据流: 输出数据流:,加工逻辑词条的描述,中原工学院,软件工程,数据字典的描述符号,中原工学院,软件工程,报名单地区序号姓名文化程度职业考试级别通信地址正式报名单准考证号报名单准考证地区序号姓名准考证号考试级别考场考生名单准考证号考试级别其中w表示w重复多次考生名册正式报名单统计分析表分类统计表难度分析表考生通知单准考证号姓名通信地址考试级别考试成绩合格标志,资格和水平考试的考务处理系统 部分数据流,中原工学院,软件工程,用例图,用例图是用来描述什么角色通过某某系统能做什么事情的图,用例图关注的是系统的外在表现、系统与人的交互、系统与别的系统的交互。,中原工学院,软件工程,用例图角色,角色:对使用某系统的用户进行分类后,可以总结出使用本系统有哪些角色,不同的角色的工作责任不太一样,他们需要用到的系统的功能也会不太一样。角色可能是人,也可能不是人,而是另外的一个系统,本系统与另外一个系统交互的话,可以将另外一个系统画成某某角色。启发:思考某系统的需求时,可从不同角色的角度来思考。,中原工学院,软件工程,用例图-用例,用例表明系统能做什么事情。里面会有一段动宾结构的文字,也就是“动词+名词”这样的方式,某用例不一定是只属于某个角色的,有不少用例是多个角色“共享”的。,中原工学院,软件工程,用例图-识别用例,识别用例是从业务建模开始的,也就是说我们描述用例是从用户(参与者)的角度即用户观点出发的识别行为。一旦获取了参与者,就可以对每个参与者提出问题以获取用例。 以下问题可供参考: 参与者需要从系统中获得哪种功能?参与者需要读取、删除、修改或存储系统中的信息有哪些类型 ?必须提醒参与者的系统事件有哪些?或者参与者必须提醒系统的事件有哪些?为了完整地描述用例,还需要知道执行者的某些典型功能能否被系统自动实现?,中原工学院,软件工程,用例图-系统边界,系统边界能清晰表达出系统的范围,并不是所有的用例图都需要画出系统边界的,一般只需要在全局用例图中画出系统边界,当对用例进行细化时,不需要画出系统边界。线条:用来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论