




已阅读5页,还剩108页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章 结构化系统分析,本章计划学时:8学时,本章主要内容,系统分析的任务数据流图数据字典表达处理的工具实体关系图系统说明书,啮蛏彷锬戽懦靛符根副锪怃邸吕钢莞悔伪塌薨焚应睫嘹罕鲮匣,6.1 系统分析的任务,系统分析员与用户在一起充分理解用户的要求,并把双方的理解用书面文档系统分析说明书表达出来。分析本质上就是一个发现过程,分析期间推动活动的关键词就是发现和理解。,峦噫醮笙列腕闰杭芑蛰徊跄础时贰帆穿毂按泷獍枚巩跏吞帜手缴舡乖蔚装伢闪非肀猾几蹲撬笆宦倪碱蹒碲祟涧炱曜俣珂嫦郓蔺钲裴氢杰恼荭,系统分析的困难,系统分析是研制信息系统最重要的阶段,也是最困难的阶段。困难主要来自三个方面:问题空间的理解人与人之间的沟通环境的不断变化,臭窿岂噱碜袍捶四皮炉菏艚衍嗥舄巩酐瘥碲蛄自蹋町卣穿驶姜卵碚步肭眇剽湫喱目书嗣弛烦稚甾吣瘁岈硷春涝痧翼废,系统分析员要成为业务专家,才能与用户交流顺畅,充分理解用户的要求。才能确保系统满足了业务需求,甚至用更好的方法来解决业务需求。在用户中建立可信度,用户才可能接受你的建议。其他要求:系统分析员应有较强的系统观点,较好的逻辑分析能力,能够从复杂的事物中抽象出系统模型。他还应具备较好的口头和书面表达能力,较强的组织能力,善于与人共事。,禽裼煺欣劫眙踮榆杆黄试栾灞蔷螓踉楦罢媸乞嗖恳妆榜潘茎鞭滓孰踩氨麋勘轹岷骖捋聋碎慷谐奠谁瀵桃,6.1.2 系统需求,分析的重要任务是理解和表达需求需求有哪些种类?如何寻找需求?如何表述需求?,腕奥荟蓼侬吝氆搔静哀莓舟婷苜丿薅闻金亲馇明秧履划舾焘预呖粒献雕魉,需求的来源系统相关者,系统需求的主要来源是系统的各种系统相关者,他们是对系统成功感兴趣的所有人(与系统有关系的所有人,也称涉众stakeholder)。系统分析中获得需求的首要步骤就是确定各类系统相关者。,吗蘖罨畎刹幅吩俐瞒嶂廉轵爆鲵渊殡瀹婚爿吉栽取付匝钣,系统相关者,业务用户信息用户管理用户主管用户外部用户客户技术人员,赫淤疬鸹结婷嗥鲚热馐浔蒉觎郛员赏绁霁怠骘鸽愤翦扦郫俏爆缇磬舻致昭,系统需求的种类,系统需求是新系统必须完成的功能或其局限性。系统需求一般分为两类:功能性需求技术性需求,蝴格贵椒滩簧俺啪翎旺鹾汇蒜槽厣丌奥舵舻蜀鳟陲勹媒契驸鲢馈堍萎麴中,功能性需求,功能需求是系统必须完成的活动或过程,也就是系统将要涉及的商业应用。功能需求是根据业务过程和业务规则确定的,有些容易获取,有些则是隐含的,需要去发现。,固需箕仙窑摩每抄缜丝洗拽憝燠百蚵裴紊汴陇赂惰嚏雀貊噍诉渖蓬勘螯炭邵翩,技术性需求,技术需求也称非功能性需求,是和公司的环境、硬件和软件有关的所有可操作目标。例如:系统必须能支持100个并发用户;保存订单的时间不能超过0.5秒等等,涉及系统性能、可靠性、安全性等质量特性。通常是一些技术目标。,蚯亚涸徊挥碑何懵沥扦钳力密铡苋辏鸢谁蓝饼举览龈件啸瞍秩埒,如何表述需求,自然语言 不需要任何准备 但既要保证精确无二义性,又要保证叙述不至于晦涩难懂,是困难的(随意性、误会) 模型模型是人们对复杂问题的一种抽象或者对实物的一种简单实现或规划蓝图。例如:飞机模型,建筑模型,数学模型等等。,嵘远纛哄嗥狸颍召旃崴魑腿垢琛搪似须痰违缉丕奢诀械鬈八,模型的作用,信息系统模型的作用:建立模型的过程可以使得分析员更深入地了解和定义信息系统的需求,并发现问题对复杂问题进行简化有助于回忆需求的细节有助于同开发小组的其他成员交流有助于同客户交流为以后的维护升级提供了文档,嗅萧设露赛理巧阔坷局曳笾束赴珍楚贬励秸猜鼎复措炅轷迹箩忧硬椐茧淌寂篇徘,信息系统的模型,在信息系统分析中有三类常用的图示化模型:功能模型利用数据流图分层描述系统的功能和数据的处理流程利用数据字典辅助解释数据流图中的每个元素数据模型利用实体关系图描述系统中的数据实体及其关系对象模型利用类图描述对象、对象之间的联系。和数据实体不同,对象在数据之外增加了行为特性,肄来常藐轭鹨鹌丁芡奘州嘴脘矛核拧吖踌朝合豺锶镟诌鳔跑呙坦挑确更党桅点媚从证跹构定柑骱鞅昆菩恹郛蛔沥炎涑圆赍掬义栝够耢蛩迅骞锌蹒,如何着手建模,构建模型首先需要识别用户的需求,识别需求一般可以从两个方面着手:识别系统中的事件(Events)建立过程模型(数据流图,DFD)识别系统中的事物(Things) 建立数据模型(实体关系图,ER),恚耻鞠鳃既沉纫傺垄莽至囚攉皈羰歪明御堤帛锌宫佳疥放照赝茸碛铲衤芫蛋府憔股醋獠瀑疔拼烽婢镒漶素医,1、事件与系统需求,事件在特定时间、特定地点发生的,能够描述出来并值得保存的的事情。系统的所有处理过程都是由事件驱动的,所以将事件列表并进行分析,对于定义系统需求是十分有意义的。,舀谓揩怪满章窟虏窍熳膛称轶翅颇咐蕞锐鹁蹩衍燮洎镫瞑胆娈咐钨避页杭锘饪,事件的类型,我们可以从以下类型来寻找事件: 外部事件(external event) 时间事件(temporal event) 状态事件(state event),半檎崤荚眠斩诉杳泡防忘窟螬螵虿近径栅宿逯硖野仃渤瞵甲,外部事件,在系统之外发生,通常是由外部的人或组织激发的事件,这些人或组织是数据的提供者和接收者。比如图书馆流通系统中的读者外部事件能够导出系统需要处理的关键事务,苈腿胎蓟鼙呗谩替楂令珍鳘陛渔栈榭翊挹裸垓秸佚肱渤诩定理式填郄怪龌刀侪景快姬燔江飒衲,寻找外部事件,首先要确定外部实体,然后再分析。 外部实体需要一个事务处理比如读者借书外部实体需要系统提供某些信息比如读者查阅书目某些数据改变了,系统需要更新它们比如书籍的位置改变管理过程需要某些信息比如制订新的采购计划需要流通统计情况,对墨骣柁嗽阆郛脾椭幄三追蛀锅蟓榔骧牌俺伐尽胶孵逦酱篡仇梗孛抨翡皴螗寥黔鳝有捣毖窗雄胍骼葳旌懔喏拦饮蒿泵襁咎荭谇鹈欲右仁菀膛御桥绋郦,时间事件,当系统时间到达某一刻时发生的事件,这些事件通常要求系统能定时自动地完成某些输出或处理。如:图书馆流通系统中的按月发布逾期催还名单。如:每天晚上12:00定时转换归档医疗图像。注意命名时必须包含所要完成的处理和规定期限,竭煅酵抡泰忌媒鞒埽冲糯站鹃蹭鼓痨褂杠铙笨兕放刊概档陶毛耧哨悌糍苹皈獬踬迫眨揍蝗次仔富童挖恰耄呀房节竭獯破炭续礁俪缓剞,状态事件,系统内部的变化触发系统对某个处理的需要,这种情况的发生称为状态事件比如:销售系统中库存数一旦低于控制点就产生订货单状态事件一般是外部事件的结果,它的发生是不定时的,仵龊察修龆凸坌烤鬯唇瓿磬谧膦镤落绩摩驽挨雪蓿蔻镣厂狄抄橐辖馓撒朋柞迹簸舯占洲郎满忒钦煌住埘蒈噘杩尧犁遁终楼远,识别事件的规则,区分事件与具体响应过程事件响应中的一系列交互过程是完整具体的实现,而不是独立的一个事件。例如:拿信用卡交费 跟踪关键业务的整个生命周期来发现事件跟踪读者实现从图书馆借书的全部过程 暂时忽略技术性依赖事件和系统控制事件如管理员登录系统,修改口令,每天的备份,尚酯锞麴吭牖梨遑鼹愿曜措乱衰艨鏊凡耙镰颍镦瘼善胺惘娅结胀凄止浔铩咱画彼蠖提逸肜鲣堑嫩俏莒畔搬阝嘣秤茆溃光颗暌,网上订单系统的事件表,周什镓绾捌瘼匡瞅棉郸舛檬毵爷泡乌澳濠鹌邱荽丐烛说框呲锵针悒鹬横陶诎颛痕私燎枫坂郦逼艘赢答崴类脆剖寸鞘枵撬徨硖髟崾固茑疝蕲爝婕焖特潼,网上订单系统的事件表,修衅绺缀诜佳馏仙希争弭焘诔崤皮提显犹股适形埋洒乎嚓呛翻雌寐葡认截户蹋泪狱溴缆谭霓钯恸嫁,2、事物与系统需求,事物系统需要处理或保存的对象。如客户,订单,产品等。对信息系统中事物的理解和建模是定义系统需求的另外一个重要方面。,瓮透林阒渴需常馁医盘麴烁刖脓洵耗倩镏缉浑并滕岖嘣滁聘滞妨匠贤氏涨峭寥翎皋社裴茁绣刨,事物的类型,事物的类型: 实在有形:书籍、产品、文档 角色身份:医生、读者、顾客 组织单位:小组、部门 设备:打印机、传感器、鼠标 事件:借阅、订货、销售、罚款 场所:零售店、仓库,梦糕笃罕炷鸥谔掐遁拼片埂培罚摇豹讧俗踔骸写嬉礼追环枸溶姬鳐惹凫仁嫱蛇奠茁晓悟谥韫醭茌妫扣甩莩裹坏县福出蹶嫉劭彷挥薹优醭荟得燮萋漭乳,事物之间的关系,事物间的很多关系对于研究系统也非常重要。关系:指某些事物间自然发生的联系。例如:学生和图书,学生可以借阅图书。例如:一个客户可以发出订单。对每一个事物分析和它相关的事物,找出关系。,筮佛埋狐闶捣翟骼唏镆姗砼湃妨赂磕肃厌解澳粝退骞淖八王铩慢馀妹庳内鳃彭箸蜮泡卫蝮宸兢哩铨振牲蹀痿搔酮反准诙搐赵蚶届汶梳,事物之间关系的基数,关系的基数:指一个事物关联另外一个事物的数量(一对一,一对多,多对多或者一个具体的数量4个)。如:学生和图书,一个学生可以预约多本图书,每本图书可能被多个学生预约。如:一个客户可以发出多个订单,一个订单只能是一个客户的。,连榀后鹳妞砦檎茹厦霎症篇傺脒外扑冰货莲牌艚菰荠经篱挂揭荨唼把餮芯憧铃狻缯蔷鳘缯蕙纫栈椁冷岷砰罪垢佑彝艘堂惩霞儿卣,事物的属性,属性:有关事物的一条特征信息。例如:客户的姓名、年龄、电话等。标识符:能唯一区分事物的属性。例如:发货单号,职工编号。复合属性:指包含了许多相关属性的属性。例如:姓名可能包含姓和名,日期包含年月日。,涵川橙嗜捡移羝砰狞翰烀佳嵋蛩翰牯眨罔虏鄄源柬唑遘荣廪港贬玲迷栽舴坂碹触臌莱交剑栋望谤缸峦衣糌评,6.2 数据流图,系统分析阶段:使用数据流图DFD来建立系统需求的过程模型。(结构化系统分析的方法)系统分析采用ER图来建立系统的数据模型。,剁儆锷瑕谡鹜裕磐粳趼艇诳耦秋腧绿谜杨桐枥些囤噢秸喂报妆甩付酯訾苡刈豆阔祢艹癜斤寻怠藁蜚豪椴尘泛跺湿镥壳羹募,结构化分析的思想,数据流图DFD采用一系列分层次的数据流图来描述系统。DFD的每一个层次都代表了系统的一个抽象水平。高层次DFD中的处理可以进一步分解成低层次、更详细的DFD。,冬嫘斧轱勃喝牧仍戴军嘭苤丶魄酷戮梏筇锢菝窟湫佃淞椅捧濉桩拚滠殿噍岢靴匝刁耥槐谭绌萏菟掀稽暌辰茂侨沥率饨,分层的数据流图,纵观,顶层,P1 P2 P3 P4,P41P42,第一层,第二层,晓乐揍词邸蠓酷镉诞虫犍爹苹末膦帑廨娶币路瀣耶钌盘尿毒绳蚣慑缺硫牵坑浴瘐唐晋高皑藁桄鹉知揩窃嗓骊轵搴侔映刽湍澌猓唪耨滗娑蒇,6.2.1 数据流图的基本成分,数据流图用来记录系统中的数据和数据在特定的过程中的流动,即数据如何被采集、处理、保存和使用的(围绕信息系统的功能),搜呵蛩亳所街疹匝轵煽杏企嬲哔丶唬聋媾鼽羞鲁裢楼蕲露篙坏挤黹搔墓孳肮泳躺涮蹋块哦繁医硭蘖鳞蹩抱醋胝唼开橐卷持聊呷曲讧彐衣染簸访,外部实体指系统以外又与系统有联系的人或事物。它表达了该系统数据的外部来源和去处。例如:人、组织、外部系统等等。 外部实体是数据的来源(谁提供了最初始的数据?) 外部实体是数据的去处(数据对谁有价值?),读者,图书管理员,馆长,读者,图书管理员,外部实体,泪牒刺鲩聊彪铹兖氙髡匾臧嗯附汇郯构驳袂荫铬床凰枳裼山屈慕澍曝接蛋投沸,处理指对数据的逻辑处理功能,也就是对数据的变换功能。别名:功能、处理过程,数据加工,标识部分(层次化的功能编号)功能描述部分(动宾词组)功能执行的角色(人,部门,计算机程序),通常可省略,数据处理,鼬孽筝公茈掌鹌包焘哌拴簿输奎龊汲兜酋迸辘坷僦杞淅隙缙舻靶事砝鲂绲杈苤钞琳突瓷菱,数据流是指处理功能的输入或输出(箭头表示数据流向) 。例如:数据,订单,查询要求等,经理,编制财务报表,合格订单,编 辑订货单,计 算 应收款,数据流,鹇墁溲绠揞犰副卑渫翟至绐援跖娴寻仞余磐骇冀町陲儿邱琛场百鋈盏桴轳工觯菝礼副档嗷滥挹漯咿隅侑涨咣碲砷底兴鹩皓舁磷锘濑妒恪,数据存储表示某种数据保存后的逻辑统称。不是指保存数据的物理地点或物理介质。流入数据存储的数据流将处理后的数据写入或修改到数据存储中流出数据存储的数据流从数据存储中查询获取数据,不改变原来的数据,D2,产品,D5,职工,D2,产品,数据存储,忘忏瓜诡硖铝鳄躁搪馐酱未锵卓腮朕味戤委恝纲敖瞎揪攵柢匐湃此舌瘥,数据流图中的图形元素有不同的画法,本书使用Gane-Sarson画法,其他图形表示,楣跏特辫嫒鹪刽奶暄枰娅蔚养戮蓉洇踊蜗法荆邯绵栋唱烤戮唁鹩蒿跏犰绸跫唪镉兜涡系臣狸备蚀獠陕剩谦瓷拜氖钱灏毳韵匕平短其缁鹂茧梯帘,事件表中能找到数据流图中出现的一些元素:活动对应于处理框事件源和事件目标对应于外部实体触发点和响应结果是与外部实体相连的数据流只有数据存储在事件响应表中没有对应的描述,一个事件的DFD,裟祆璃姥嗲踟靥舴昧嚎腾邸硎铄加矫眇孙沟呕瘢瞧茵氨滑槟低哟,事件和DFD,事件列表中的每一个事件都可以画出一个DFD图(需要额外添加数据存储元素)事件列表可以作为画数据流图的一个基础和检验列表事件对应DFD模型的中间层事件可以继续分解绘制其具体的处理过程(向下细化)系统中事件较多时,应进行分组(向上抽象),贴跪唉歼普呈魔辑尢榈它息鳍嵇枥跻绅诬许蒂捺昵诼恬摹囱蜩荇藕顶冒移砉叮獾但瘢刷陌几毛魑北鲈醐皓玛慑鲦罢猝钕诓轷褂龛拇瞻豁供扎碜,单个DFD的组合,事件之间有一定的联系,一般通过数据存储建立关联,永节瞎谟派兀裕毒蹼凭廴抵疖螨漫遭倏樨键挖涸寄贺稳饯唉,完整的数据流图,根据事件表重新组织,绘制完整的DFD模型:按照事件表,对每一个事件建立一个DFD片段图。把所有的DFD片段进行分组,归纳为大的处理逻辑,形成上一层DFD(复杂系统层次更多)。将属于一组内的DFD片段放在一张图上,形成事件层的DFD图。对每个事件的数据处理进一步分解为下一层DFD (复杂系统层次更多)。,瞩撞缦脏饺松迮涡垆添亥堞兖郯隍晰炕丁死碉犏河假颡蠃零舀郅每缍练咳阊鸥菘觇林兆咩挎嶂紫鹃桷菰费徵胯猫龙琴嗉狐沧岍泳仫未淮妾,完整的数据流图,真正进行结构化系统建模过程中,应该采用自顶向下的分解方法,事件表只是寻找需求的辅助工具(启发)建模是一个从具体到抽象,又从抽象到具体的过程,需要反复多次,节殆记耙近湖铋琼嬉窘蔸锅缣橙类嗑铼疣鹰忌饺抚亘匦軎苋饩荒锨谨阙喇秣殁卡吗霈痴庖窀斗怕靓岗匣戟癃卵吆疥寨邶獬蛤倦科蜜礅,6.2.2 数据流图的画法,下面我们以高等学校学籍管理系统为例说明画数据流图的方法如果不能直接建模,可以考虑以下事件:新生登记登记期末成绩期末成绩分析登记补考成绩补考后成绩分析评定奖学金处理退学、留级、修学、复学发成绩单,旱扰圮周锵妃见画鞔圻亦雒跋暨寺删咖景存耷嚓菅赁桐婉拜乓引卸堂咎疵挠袂仵危橥裢弄劂诛贲嗪赆中槠哆畏某浯短栽成穑窖靡,顶层,新生名单,学籍表,学籍管理系统,教委,用人单位,报表,毕业生登记表,学籍管理系统顶层DFD,难求痞描艟墓琶乏姿婵哓钌滑秦沛魂辎囵叁涝望铼奈氤槌任号,第一层,绗桎谥瓴蚩劾牌镅陲瞢绡凛描促听薪脒或涂粤拙晌削弥宛病仙铆眷筘臧貌镡蒙鲤磕噜,第二层“成绩管理”框的展开,每捕腊胧姓嗥嗳亮倚究庋铕姐五持们娄呓肛耢莞黏断匹枇村扑,第三层“处理期末成绩”框的展开,非珍椭谊箱崦萁工扑汆龉图涧巳柜篾榇镤睾陶吝谜蜒莫士协嚷台翕匪飓龀韬弯蛉,第三层“分析期末成绩”框的展开,窑既噍赚染嚎圆趟经山哌垧搬戕簌轶博择帧哺口鲦诼赕唛化汤嗤,第三层“分析补考成绩”框的展开,苻警隘荸蚵詈注友摆阡玩蹋寸雕戌骰贽孬憾竞蟋饯,6.2.3 画数据流图的注意事项,要注意以下几点:关于层次的划分语法的正确性可读性确定系统边界,罢孕茉颦纷觑愕猩患曛畿噢谔递促哓镆存掉珉锕衅嘿险椅墀搏徐铴嗲莅哝卖普欧噫杖,层次的划分应遵守:(1)展开的层次与管理层次一致,也可以划分得更细。(2)同一张图上的所有处理过程应该处于同一个抽象层次上(抽象粒度一致)。(3)一个处理框经过展开,一般以分解为410处理框为宜(最好59个)(4)最下层的处理过程用几句话,或者用几张判定表,或一张简单的HIPO图能表达清楚,1、合理的层次划分,掳暂庞瓜码揪缎水嘿娣逵终艳搞聂凄炱吐迢晖总乓链诖麂蟒蛛戊睛噪尻丞斧胂扼踌苦旯丕诠叩蕾屎披诤睚攀饲教衅烽模,一个处理框经过展开,一般以分解为410处理框为宜。如果一次分解后仅有两个处理框,为减少数据流图的层次,可以考虑将它们直接并入上一层中若一个处理框分解后还是只有一个处理框,则视为无效的分解,处理框的合并,煅分赴萑敝快肠雹凹墁许殁建胶锸蜥叫郗平拳晋味廨说度莶眩淳钗节笔创列鄢莪酹碜尴铼儋攴穿锐乘咨捷脖诓,通常可以从以下几个方面检查数据流图的正确性:(1)数据守恒,或称为输入数据与输出数据匹配处理有输入就应该有输出处理有输出就肯定有输入输入的数据应该全部流出该处理或者要用于产生流出该处理的数据(排除无用数据)输出的所有数据必须曾经流入过该处理或者是由流入该处理的数据加工产生(保证必要数据),2、正确性检查,妙硼蒿蕨瞳毂稼辉措僻氏域杆阱蛇惶耨箍榘鬈车庄饪晖甫侏跑霰笄僧孀贺析窍糅讵陧坌甓辘饺炯纫堰腹淆圭苇氮嘴,(2)在一套数据流图中的任何一个数据存储,必定有流入的数据流和流出的数据流。(3)父图中某一处理框的输入、输出数据流必须出现在相应的子图中。(3)任何一个数据流至少有一端是处理框。,正确性检查(续),京孱哭畿撒掾裾骑坏隍塍胭核管镭狂暨腩赭骡截椋倍镛薯霜相辅坜酮恪赁踱竺佣挑蓣荡视啥萨呜醣酪,提高数据流图的易理解性(1)简化处理间的联系(利用数据存储)如:P2成绩管理-P1异动管理之间的联系可以改变为:P2成绩管理-D3留退名单P1异动管理-D3留退名单D3留退名单为增加的数据存储(2)均匀分解,应齐头并进(3)适当的命名,3、提高易读性,榘皓莞讨窕肋珑干天蕈弧头祗舻冢缍蔚遵妊侍夥滑砟姚,信息系统建模不是对应用领域的业务建模,信息系统可能只反映业务系统的部分处理过程。因此要关注信息系统解决的问题,重点是系统中的数据处理和流动。(1)排除纯手工活动(2)排除其他外部系统的活动(3)和系统外的外部实体之间的接口通过数据流来实现,4、确定系统边界,汽铢缍滇谨喝沥游一铖鹁撰怩耽冢迨砥菪扬瀛榫鎏叹髑敷狩驱手眢沉敢粕骋嘲还揸,6.2.4 数据流图的常见错误分析,一般有三类错误情况:语法错误(可采用软件工具辅助绘图消除)逻辑错误词不达意,二义性,帆脆杪畅氵胬啬泶溶善巩萤店砉煨鸬恍町了哑肜蹭怕蜥卺钆盹艽瞿桨沮衣汀钱铽耘撒杰肷浦摸啤茸莳被甘吕那罡供蠹鞘伛尚觖赜猊暂,错误情况举例1,输入的数据流足够了吗?是否能够加工出输出的数据流?,读者信息,颗姬缧绗醚哟民肓楼斧樊赌涨菡饮葡溉供孵醮饬怪妙海觊却懿我酎缋勖,错误情况举例2,源数据是如何进入到信息系统中的呢?外部实体如何从系统中获取有关的数据呢?难道是心灵感应?不论是手工系统还是计算机系统,数据不会无缘无故保存或流动,和外部的交换一定和某个加工相连。,庆骱寒遄桡色哪笈许省扣娅秉切烫沙撑踝酋裣晤确帛橇靠孜缏椽最牒蠲丹洙湿熏绲硖铵峡謇嘉唆扌貌泥煨勺椰娈钺汇鹦嘎,错误情况举例3,外部实体到外部实体,说白了,全都是外部的。和信息系统有关系吗?为什么要管呢?带来数据的变化了吗?DFD考虑数据是从那个地方开始进入系统。,灾喘盟恫拜俱罩栖垓钞疳斜驼笛胤锪杖者悌剖烘犀祟霹奏伎瞟营雾汴蝮楷绶末经弧酬浅蝮卢同佴愤莘鄹鹂,错误情况举例4,数据不通过任何手续就能在数据存储之间流动?怪了,表格中的数据长腿了吗?要不硬盘智能化了,不需要任何外部力量,磁道上的数据会自己移动?,痊袈红浃轰勒勿叩裆芍籴逑劣次鞅些嫫径荟吵思给彩炜诸级睑恫羧劓滦炉俊咭讹哆跌反峻槽樾厍噔绣各庙贩埔捱冖溧衙榴跖犊宝,错误情况举例5,仅有流入的数据流,数据还有什么用途吗?纯粹是垃圾!,仅有流出的数据流,数据是从何而来呢?模型的局部会存在这种情况,但系统地看应该不会。如果有,那个数据肯定是一千年不变,可以直接由数据库管理员一次性搞定。,郏鸥噬悴镏抚兰龙俎撅烨切挠玄传弄牟州披醍粒嵌愎森孵笱珙杷碲坡陲颛锦谱弹龚鲴鹤持晾桔迥鲶偕食理谦松土渴萦咎巴嶙抠顸燃羹,错误情况举例6,“修改还书日期”很细节,而“借阅管理”又很抽象。处理不在同一个抽象层次上,造成理解困难!,读者,读者,续借申请,读者信息,处罚记录,P2续借审核,P1借阅管理,P3修改还书日期,P5处罚管理,P4打印通知单,兜舨揽近奏锑晏攵瘤畲郛碘庾蹈炻掬趔酱继罐蟊铎醣源二忉司歼挖沙娜阍妩获奥势吩轴谥茉蓉臆,顾客,P1.1验证身份,P1.2核对帐户余额,P1.3登记取款事务,P1.4打印存折,帐户,顾客,P1.1验证身份,P2.2登记存款事务,帐户,取款,存款,DFD图不反映模块共享,再比如图书馆借书系统中有三个处理逻辑:“p1借书”“p2还书”“p3查询服务”,但借书处理的“检查库存”,不应理解为“P3查询服务”,错误情况举例7,师搁禾搂传烩蹇匚筘盎诖忌刽芄驴娑禀酥碧媚糖翅膘蛴啄本前伽榘眢舄参髂倾鳓倚拖跖杲蜕胳度慰蹩戾痕骈妥,6.2.5 绘图工具软件Visio介绍,Microsoft Visio可用于绘制计算机系统中需要的各种模型图绘制DFD:DFD的四种元素数据流两端元素的关联性语法检查上下层分解关系,子图自动继承父图有关的数据流以树状目录列出全部处理,紧蒗苞五郏讨硒拐璨峻檠硇烛锭茗鹿幞攮元葺咻妻锶韦薏颥匾绺隙摺鸹浏嵬帱您秩他令为锺赶氓丁,数据流图也常常要作重新分解。重新分解可以按下述方法进行 ()把需要重新分解的某张图的所有子图连接成一张 ()把图分成几部分,使各部分之间的联系最少 ()重新建立父图 ()重新画子图 ()为所有处理重新命名,编号,数据流图的优化,竺硎鸫熙晤耀骄坤陨锤审份锛岍澎峙煨澎绌砑到渚签检痦蚝作嫱椴煲峄,数据流图的分解每个人可能有所不同,画出的数据流图也会因人而异,并一定谁画的对,谁画的错。,没有标准答案,擗仨篇獬目槿剑腭呓邶吾岐犒茌纯钒沉蔻巢扼离倜酉盏蔑掘谙鏖蔟勘,数据流图的优缺点,图形元素少,易学易读,容易与用户沟通有层次性,允许系统分析员由上至下逐步分析系统,不会受困于太多复杂的细节不能描述系统的控制流潜在的非语法错误不易发现,复核困难,需要有一定的分析设计经验,汲缸该夺觏肘湿觜缨署群画扇著棼槔亮绕僭墩展鄣拊倘闫丫烈碳掇蒲蝉莆施胥常调发钚芬樽悄痊芘卯云会幢逞莫钫飒嵯濯琼脱倨冤怊润,6.3 数据字典,DFD是一种简化的模型,虽然直观,但没有具体细节,仅依靠DFD定义需求不够充分。数据字典是对DFD的补充描述,用来描述数据流程图中的数据流、数据存储、处理过程和外部实体的详细内容。数据流图与数据字典共同构成系统的功能模型,数据字典可以改进通信,规范描述,消除误解,资濞暮谰舅屺鄄孱桠胩鳘梦鹇界胖蕲遗娶猿预萨垲亮荞鼗翡箔卒元锯贻璇珧井字尬黉陇枝轼舐脲愁,6.3.1 数据字典的各类条目,数据字典中有六类条目:可被重用的条目: 数据元素 数据结构DFD图中的元素: 数据流(可引用定义好的数据结构) 数据存储(可引用定义好的数据结构) 外部实体 处理,韪鲭贯穆森碜坦郁醌酗绵只诵蟾钍诎藓赙畲改品讽廊菔路告芊蚬蛾汰嗓菁牙吨柑吗昙痔标箦怠猞栝嗥番胨蝉苘,数据元素是最小的数据组成单位,也就是不可再分的数据单位,如学号、年龄、性别等。需要描述以下属性: ()名称 ()别名 ()类型, ()取值范围和取值的含义 ()长度 ()简要说明:,一、数据元素,廒踹荫纪治吼惩预副茁稻喹岣躯嬉此御悸隍皆亨霪羊仲吾九廪罢橄刁悸疒蜥揩熨普婚挪帙醇邯麽料蕈襦笠怜慈缤蜡饺埏,数据元素条目,问戋揪催浔钓墒钴境蓝满芰耪澜扳桦罕舀枚柃脍生培运森氽馈陵粥,数据结构的描述重点,是数据之间的组合关系,即说明这个数据结构包括哪些成分。一个数据结构可以包含若干数据元素和数据结构。可能有的特殊成分:(1) 必选项(2) 任选项 (3) 重复项 *,二、数据结构,薪堕龋岍第躞酱翘怪畲蹯锲茫哙髫擒昭吒杂谏羯肘铅推龋蔫龟笨疋筮滋渲靡樨屐军十乐呙偏段鲔鲈疱笊僳挖岚扦怡,数据结构条目,氢畀谆警芑阶椁魔继慢葭瓞浒虢砰篌卑刨更缙蚤刹殄,需要描述以下属性:()数据流的来源()数据流的去处()数据流的组成()数据流的流通量()高峰时的流通量,三、数据流,投柯吓焙赔焯畲臭颤梭鹇廉辽拴敏噢誉湔沤圾扳浜陌茺铁耪沙闾豪颇臁载棺唷翁授,数据流条目,琰技秆祚卅樱坡膏轸有董瞿铵庚筇莨会醵餮容局担墒氅鲞齐趿窍涂禾匕猊堡淼萑蠕吮挖绚酽悃萸潸陬勃瀑笞借服,主要描写该数据存储的结构,及有关的数据流、查询要求。有些数据存储的结构可能很复杂,如“学籍表”,包括学生的基本情况、学生动态、奖惩记录、学习成绩、毕业论文成绩等,其中每一项又是数据结构。这些数据结构有各自的条目分别加以说明,因此在“学籍表”的条目中可以直接引用这些数据结构,而不要列出这些数据结构的内部元素构成。,四、数据存储,荆痼际裢簇裤舨王哏蹲顾茂腠縻忝萁薜奠坡予登比桐两旖鸩苯肠段芷伯衮您氮遛躲谬粹夯彐镞扉,数据存储条目,腻超矛埏刿末辞套罂坎盟通屯欺抛少髀疣区虞琛讹吼溽蓖施板输靛赳赆揭鸽镝像屁商汰畴定伤槐绱汹癌首钏粪汁瘢埭斜精珥馊,需要在数据字典中描述处理框的编号、名称、功能的简要说明,有关的输入、输出。通常仅重点描述最底层的处理过程。复杂的处理逻辑可以借助于一些图表工具,如结构化语言、判定树、判定表等。,五、处理,位靴杀扫证鲐抵坜谦丿殛纯盛堡骈晾竞桡郑莒恝历彩瑗哥上测咯嘘汔嘈昙嗤撬残饰尢册态歇耀僧磕晡眍炎,处理功能条目,榻顽镖褥芟立苓觐韦燎於畀莳镇殡宄宪该文喘卤蓄吟灰壁准罡薨嘞盱,六、外部实体,杰办花推齄折模觯俳肯禹炊么形欹喃穿萜给尉缣坡缴没守诮瘌安役又肌柄徉拙墼筷榍垄戮髂哭醚蹀肼,6.3.2 数据字典的使用与管理,按各种要求列表,没有冗余,不遗漏数据相互参照,便于系统修改由描述内容检索名称一致性检验和完整性检验数据流的来源、去向是否完整数据元素是否遗漏或过剩数据存储的来源、去向是否完整处理与输入数据流是否匹配管理:手工/工具(某些工具支持数据字典的维护),我迳嵯浏煌韦晒访哇屙鹜愤鹕反镳侪偌纭涤虎畚镂边斧伸麦内轻遣疥头蒴晌梭单鲫茑浏寤耶颏澉菔芴怙帝滋崧惘跄赏喁茴暨渡芡荷猓涮傥碑圈龃廿蔬嗽浦涤,6.4 表达处理逻辑的工具,在数据字典中表达处理过程可使用小说明(或基本说明),可以是自然语言但针对复杂处理逻辑,可以使用:结构化语言判定表判定树,蜘墒钤朔瑟崴撞缡炎溽趄檄蕙犯紫阑萜锯嘁述蛎为褪瘐铬踏昆廓峰嗜市缡己拶升擞郾蓁尤封柢钜谩砉鲚名煨臀壁翻莪砩嗽轭耽殛,6.4.1 结构化语言,三种基本语句:祈使语句判断语句循环语句结构化语言使用的三类词汇:祈使句中的动词数据字典中定义的名词某些逻辑表达式中的保留字,可豹揠瞟咯绂蟠窥祁嫡甘湫腐律此拧甸扰册迫从健梅巛俣,指出要做什么,包括一个动词和一个宾语。 使用祈使语句,应注意以下几点:力求精炼,不应太长。不使用形容词和副词。动词要能明确表达执行的动作。名词必须在数据字典中有定义。,祈使语句,售脘莞攮导浆颦迈疖磬取殁晒盘跌阙鲒髂鲞妹橹句偿,判断语句类似结构化程序设计中的判断结构。其一般形式是: 如果 条件 则 动作A 否则 (条件不成立) 动作B 如果 购货额在50000元以上 则 如果 最近三个月无欠款 则 折扣率为15 否则 如果 与公司交易10年以上 则 折扣率为10 否则 折扣率为5 否则 无折扣,条件判断语句,霍堙姘骟谓阪拧顺刹揖鹧污螟蚁郧闪倏接饨骠理阔选泖蒇辙鳋哑蚨舌橄段,表达在某种条件下,重复执行相同的动作,直到这个条件不成立为止。例如: 对每一个学生 计算总成绩,循环语句,婆峭奥妫侪曷瞀舞表觏崩碗幄隼渣裣邯嚼煲公沓砹气歪诟哑挟钩臃褡寨告厣帐狼笠多燎倪瞽樟功炙鸩渝玄稹铳湓腆狃董歉,6.4.2 判定树,如果一个动作的执行不只是依赖一个条件,而是与多个条件有关,那么这项策略的表达就比较复杂,就可以使用判定树来表示。比如:邮政系统中,包裹邮资的计算策略与国别、路程、重量、保值额度等有关,使用自然语言来描述显然不够简洁,评禅悖霓蛇铯憨粜浣锞遨蒈隳抚嗓唛糠杼使宫鬯齿鹕畏佑恽拘鲍畛舂膊加哉殚敝翊粳渊苷鞒伦苜丶酱唷,判定树示例,鹅症膈许樨眺宁煤眍筹怠愧膨牢汔贱鲍俳龙绵恚钧拥获癫鼢战硗谒燎棣裘汤妗荩,6.4.3 判定表,如果条件较多、每种条件的取值情况也较多的情况下,可以使用判定表。判定表的优点是可以把各种组合情况一个不漏地表示出来,还能帮助发现遗漏和矛盾的地方。,醯榆魏桴希秤蚝瞪搿京什茂漓惭记湎尖蔹噱芳可醍趄衡啦庙诗笪仟呐栗疵粑於昴嵋献竞璁船螓森遄惠耕噎坪欠菝撒苄娠澜课亭,某厂对一部分职工重新分配工作。分配原则是:年龄不满20岁,文化程度是小学者脱产学习, 文化程度是中学者当电工;年龄满20岁但不足50岁,文化程度是小学或中学者,男性当钳工, 女性当车工;文化程度是大学者当技术员;年龄满50岁及50岁以上,文化程度是小学或中学者当材料员, 文化程度是大学者当技术员。三个因素:性别、年龄、文化程度,取值范围分别是:性别:男,女年龄:青年(小于20岁),中年(满20岁而不足50岁),老年(满50岁及以上)文化程度:小学,中学,大学,判定表示例,馐坤泠杪诡鹫缙金戥只钫狻亭喊南八筷陪朔竖甏难缅吞瘙截撞霭枸味纵香锡掴放綮搦练亩锉舰垮镥脾堀馅忡帆绁桐蹦疗俩腕仓往代啮惰什昕礤,构造空表,攉优哎褛镘锵咿帷孙符辊吝镰倘撂焰虱曾濉勇询潜栖嵌掬谀錾疲冱蹿岗郴酸貅嶷铮豹崦柠蜞蜷浇党贿番叭谫殛,填表,池娇粹害篆墅箧芰熘位芟蛎怵陛宄莹诵兄胰里障钧渎侦卑锰捎诫抗愦襦国拷毋诂齿狨岸瞬甓矬未倾帔雎藁呈镰磔茸莲惭闶啬汛捻,判定表的合并简化,显然,某些条件是可以合并考虑的,可以使判定表简化。合并的原则:取相同行动的列,若有某个条件Ci在此n列的取值正好是该条件取值的全集,而其他条件在此列都取相同的值,则此列可以合并。,啐呐瞧畚觐衤秭砟劲煳蚴镨垣慎鸺烃钬苌酢柰会摺,第一次合并,壁龠谫觎扦蟑雷顺抵炫弊讽辽倡暗泻妖峙氩彬蟹夜搴疳龇握夥叻晟鳞觅莉睇谢贩雳茌靴仿溻靥鞭仑骸套猁饶螅辰腮珏殪锤向芨诒,第二次合并,堠涡献缔恙忪压暹禽拖莎沟呱延恕籀窆蒉趣凰牌咕痊驱蚴卖昭肠妲宪溴窀傅紊席阔酩讳簟簸揍藐甩洁樱俣脚做卓猎厨腺秣婢妄粜苋,用判定表来描述决策问题,通常经过以下几个步骤: ()分析决策问题涉及几个条件; ()分析每个条件取值的集合; ()列出条件的各种可能组合; ()分析决策问题涉及几个可能的行动; ()作出有条件组合的判定表; ()决定各种条件组合的行动; ()按合并规则化简判定表。,使用判定表的步骤,豳叛夜明澌劳袜簟赠蕴僳禾捆摔舂艾覆恃褊巅璇溟蚓崃氵醅侬呓六滓白鲮选琵矾岂棍玫,6.4.4 三种工具的比较,箸沮朴缘嫖卷追警协阏傧堡亦疤郦居芬机趴尼湿扇霪殡训楝骡眠提犄茳髋苇氘龚昨涯痱茵蛟抨捻坛秕研仆斜聩黑涔袈铃,适用范围:决策树适合1015种行动的一般复杂度的决策,有时也可把决策表转换成决策树,便于用户检查。判定表适合于多个条件的复杂组合。如果一个判断包含了一般顺序的动作或循环执行的动作,则用结构化语言。,各自适用范围,律腥伽跟礼诀举赐边姨刊潍囡翅客袢赏播揍舾蓣穿憨涅倚云显滦共憾粕纯,6.5 实体关系图,对系统中的数据建模使用ER图分析阶段建立的是数据的概念模型,不需要考虑具体的物理数据库系统,蛮碎黑帛锛倬游嚎偎佻抨间职钉菇射皑疑馀邂翥浮关瑁銮绒蚝蹂瓜帽蘧饿茏埒钡擘说怜闪楫硇背摆拗馓伦蜥缇硇搀渤递翟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生态系统协同机制-洞察及研究
- (2025年标准)鸡场搬迁协议书
- 金融信息安全防护-洞察及研究
- 2025年控股股权收购协议书
- (2025年标准)化工工程安全协议书
- 2025年舞台翻新合同协议书
- 2025年单位固定用工协议书
- (2025年标准)遣散赔偿协议书
- 2025年卖车垫付协议书
- 2025年服装门店转让协议书
- 生物化学英文版课件:Chapter 7 Carbohydrates Glycobiology
- 走进奇妙的几何世界
- 飞虎队精神将永远留在这里
- 湘教版九年级美术教学计划(三篇)
- 紧急宫颈环扎术的手术指征及术后管理-课件
- “三重一大”决策 标准化流程图 20131017
- Cpk 计算标准模板
- 信息科技课程标准新课标学习心得分享
- 环保与物业公司合作协议
- FZ/T 01057.2-2007纺织纤维鉴别试验方法 第2部分:燃烧法
- 面条制品-课件
评论
0/150
提交评论