软件文档编写技巧



《软件文档编写技巧》由会员分享,可在线阅读,更多相关《软件文档编写技巧(251页珍藏版)》请在装配图网上搜索。
1、单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,*,,*,软件文档编写,应晖,引言,编写目的,,,项目背景,,,符号、缩略语和定义,,,参考资料,,,,,,,,,编写目的,用户公司名称,,前期已做工作,,将要涉及项目的开发目的,,可行性研究的前提,项目基本要求,,项目基本目标,,项目开发条件、假定和限制,项目基本要求,主要功能,,性能要求,,系统的输入输出,,安全和保密要求,,项目与其它软件系统的关系,,完成期限要求,,所建议系统概况,所建议系统概述,,所建议系统的处理流程和数据流程,,所建议系统对现有系统的改进、影响和局限性,可行性分析,技术可
2、行性,,,经济可行性,,,可行性分析结论,思考、涉及的几个问题,如何定义系统需求?,,如何识别、获取需求,?,,,你能够采取何种手段与用户进行交流沟通,?,,何为需求建模,?,,,你如何理解模型与建模,?,,需求分析,,软件需求分析的几个阶段,问题分析,,问题评估和方案综合,,建模,,规约,,复审,,系统分析员的主要,焦点,是,“,做什么(,what,),”,,不是,“,怎样做(,how,),”,需求获取,需求获取的目的,,,清楚地理解所要解决的问题,,完整地获取用户需求,需求获取面临的挑战:,(1),问题空间理解,,(2),人与人之间的通信,,(3),需求的不断变化,,某出版社系统调查表,编
3、号,提出问题,1,您在哪个部门工作?,2,出版业务流程是什么?,3,您每日都处理那些文件、数据、报表?,4,工作中手工处理特别麻烦的事情是什么?,5,工作中手工处理什么问题解决不了?影响效率的问题有哪些?,6,您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?,某出版社系统调查表,编号,提出问题,7,您的部门需要成本核算和统计的内容有哪些?,8,您的部门采用计算机管理工作情况如何?,9,如何改进业务流程使之更合理?,10,哪些问题是目前传统手工方法根本无法解决的?,11,出版社计算机管理信息系统需要解决什么问题?,需求,获取的内容,,1.,用户需求分类,,,(1),功能性需求,:,
4、,,定义了系统做什么(描述系统必须支持,,的功能和过程),,,(2),非功能性需求(技术需求),:,,,定义了系统工作时的特性,,(描述操作环境和性能目标),2.,两类需求包括的内容,(1),功能,,(2),性能,,(3),环境,,(4),界面,,(5),用户或人的因素,,(6),文档,,(7),数据,,(8),资源,,(9),安全保密,,(10),软件成本消耗与开发进度,,(11),质量保证,(1),功能需求,,,系统做什么?,,系统何时做什么?,,系统何时及如何修改,,或升级?,(2),性能需求,,软件开发的技术性指标,,例如:,,存储容量限制,,执行速度、相应时间,,吞吐量,(3),环境
5、需求,,硬件设备:,机型、外设、接口、,,地点、分布、温度、,,湿度、磁场干扰等,,软件:,操作系统,,网络,,数据库,(4),界面需求,,,有来自其它系统的输入吗?,,到自其它系统的输出吗?,,对数据格式有规定吗?,,对数据存储介质有规定吗?,(5),用户或人的因素,,,用户类型?,,各种用户熟练程度?,,需受何种训练?,,用户理解、使用系统的难度?,,用户错误操作系统的可能性?,(6),文档需求,,,需哪些文档?,,,文档针对哪些读者,?,(7),数据需求,,,输入、输出数据的格式?,,接收、发送数据的频率?,,数据的准确性和精度?,,数据流量?,,数据需保持的时间?,(8),资源需求,,
6、,软件运行时所需的数据、软件。,,内存空间等资源。,,,软件开发、维护所需的人力、,,支撑软件、开发设备等。,(9),安全保密要求,,,需对访问系统或系统信息加以控,,制吗?,,如何隔离用户之间的数据?,,用户程序如何与其它程序和操作,,系统隔离?,,系统备份要求?,(10),软件成本消耗 与开发进度需求,开发有规定的时间表吗?,,软硬件投资有无限制,?,(11),质量保证,,系统的可靠性要求?,,系统必须监测和隔离错误吗?,,规定系统平均出错时间?,,出错后,重启系统允许的时间?,,系统变化如何反映到设计中?,,维护是否包括对系统的改进?,,系统的可移植性?,需求建模,计算机学科
7、的发展,计算机科学,,(CS),计算机科学,,(CS),计算机工程,,(CE),软件工程,,(SE),信息系统,,(IS),计算学科,,(,c,omputing discipline,),,,,计算学科是研究通过在计算机上建立模型,,并模拟物理过程来进行科学调查和研究的学科,.,计算机科学与技术学科的方法论,学科的,3,个形态,,理论,,抽象,(,模型化,),,设计,,重复出现的概念,,绑定,(binding),,概念与形式模型,,一致性和完备性,,抽象层次,,重用,,……,,典型的学科方法:,,数学方法,,系统科学方法,,……,,,计算中抽象的本质和使用。在处理复杂事务、构造系统、隐藏细节和
8、获取重复模式方面使用抽象,通过具有不同层次的细节和指标的抽象,能够表达一个实体和系统,,抽象,(,模型化,),源于实验科学,,,主要要素为数据采集方法和假设的形式说明,,,模型的构造与预测实验分析结果分析,.,,在为可能的算法数据结构和系统结构等构造模型时使用此过程,.,,抽象的结果是概念符号模型,,模型,(,model,),,模型,:,现实世界某些重要方面的表示。,,,有时我们使用术语,“,抽象,”,来表示模型,因为我们从现实世界中,抽象,出对我们特别有用的东西。,,需求分析的步骤,,当前,,系统,,目标,,系统,,物理,,模型,,逻辑,,模型,,逻辑,,模型,,物理,,模型,模型化,抽象化
9、,具体化,实例化,怎,,么,,做,做,,什,,么,,当前,,系统,目标,,系统,需,,求,,定,,义,,逻辑模型和物理模型,,,模型是对对象系统的形式化的特征,,抽象,概括性或近似地表示;,,,,构造模型的过程是一个抽象、分,,析的过程。,,对象,,系统,,模型,,系统,,,抽象,(映射),模型应用,模型构造的过程,,逻辑模型 物理模型,,,(,本质模型、概念模型,),,(,实施模型、技术模型,),,,,,现,,行,,系,,统,目,,标,,系,,统,描述重要的业务功能,无论系统是如何实施的。,描述现实系统是如何在物理上实现的。,描述新系统的主要业务功能和用户新的需求,无论系统应如何
10、实施。,描述新系统是如何实施的(包括技术)。,需求建模,模型的作用,建模的原因:,,在建模过程中了解系统,,通过抽象降低复杂性,,有助于回忆所有的细节,,有助于开发小组间的交流,,有助于与用户的交流,,为系统的维护提供文档,,,,模型化或模型方法是通过抽象、概括和一般化,把研究的对象或问题转化为本质(关系或结构)相同的另一对象或问题,从而加以解决的方法。模型化方法要求所建立的模型能真实反映所研究对象的整体结构、关系或某一过程、某一局部、某一侧面的本质特征和变化规律。,模型的类型,数学模型,,描述模型,,图形模型,需求分析的步骤,,当前,,系统,,目标,,系统,,物理,,模型,,逻辑,,模型,,
11、逻辑,,模型,,物理,,模型,模型化,抽象化,具体化,实例化,怎,,么,,做,做,,什,,么,,当前,,系统,目标,,系统,需,,求,,定,,义,,逻辑模型和物理模型,,,模型是对对象系统的形式化的特征,,抽象,概括性或近似地表示;,,,,构造模型的过程是一个抽象、分,,析的过程。,,对象,,系统,,模型,,系统,,,抽象,(映射),模型应用,模型构造的过程,,逻辑模型 物理模型,,,(,本质模型、概念模型,),,(,实施模型、技术模型,),,,,,现,,行,,系,,统,目,,标,,系,,统,描述重要的业务功能,无论系统是如何实施的。,描述现实系统是如何在物理上实现的。,描述新系统
12、的主要业务功能和用户新的需求,无论系统应如何实施。,描述新系统是如何实施的(包括技术)。,需求分析过程示意,,学,,生,(1),通过对现实环境的调查,,,,获得当前系统的物理模型,,,,,,,,学,,生,购,,书,,申,,请,购书,,单,发,,票,领,,书,,单,书,,107,,张,教务科,206,,王,会计室,206,,李,出纳员,303,,赵,教材科,学生购买教材的物理模型,需求分析过程示意,(2),去掉具体模型中的非本质因素,,,,抽,象,出当前系统的逻辑模型,,,,学生购买教材的逻辑模型,,学,,生,,,,,学,,生,购,,书,,申,,请,购书,,单,发,,票,领,,书,,单,书,,审
13、查,,有效性,开发票,开领,,书单,发书,需求分析过程示意,(3),分析当前系统与目标系统的差别,,,,建立目标系统的逻辑模型,,,,计算机售书系统的逻辑模型,,学,,生,,,学,,生,购书单,发票,领书单,,审查并,,开发票,开领,书单,,无效书单,分析阶段中常用的模型(逻辑模型),数据流图(,DFD,),,实体,―,联系图(,ERD,),,类图,,实例图,,时序图,,状态图,,协作图,,事件列表,,数据流定义,,数据元素定义,,,……,某系统,的,第,1,层,DFD,,控制,,面板,,与用户,,交互,,控制,,面板,,显示,密码,电话号码拨音,传感器状态,显示信息,配置请求,用户命令,,和
14、数据,,配置,,系统,,警,,铃,,电,,话,,线,,传感器,配置信息,,,,显示信息,,和状态,,监控,,传感器,,激活/不,,激活系统,传感器信息,,密码,,处理,警告类型,检验,id,信息,开始,,停止,状态信息,,,,,,,,,,客户,,,,,,保险销售人员,,签订一份,,保险单,,销售统计,,客户统计,使用用例图举例,,状态图,,,,,,例:,,,,状态,1,Do:,活动,1,,状态,2,.…...,,事件,1[,条件,1] /,动作,1,结束,,事件,初始,,事件,,,,空闲,,可视菜单,左边按钮按下,/,显示弹出菜单,左边按钮弹起,/,擦除弹出菜单,光标移动,/,高亮菜单项,,弹
15、出菜单动作,,接电话的顺序图,,:,,,受话者,,交换机,,远程交换机,,受话者,,,,,拿起话筒,听通话声,拨号码,......,铃响信号,铃响,铃响停止信号,拿起话筒,铃响停止,<10,,d,e,a,b,c,{b-a<1},{e-d<5},{c-b<10},路径,,合作图举例,,,,,,,,,,,,,,,打印机忙,,保存打印文件,队列,,,计算机,,,打印机空闲,,打印文件,,打印机,,,打印服务器,,打印文件,,电梯,状态图举例,,,,,在一楼,,,上升,停滞,,下降,,回到一楼,回一楼,,想要到,,达楼层,,,想要到,,达楼层,,电梯行程,,开始,向上,向上,向下,F1:,航班信息文件
16、,=,{,航空公司名称+航班号,,+起点+终点+日期 +起飞时间+降落时间,},,航空公司名称=,2{,字母,}4,,,航班号=,3{,十进制数字,}3,,,字母=,“,A,”…“,Z,”,,十进制数字=,“,0,”…“,9,”,,起点=终点=,1{,汉字,}10,,,起飞时间=降落时间=时+分,,时=,“,00,”…“,23,”,,,分=,“,00,”…“,59,”,,,日期=年+月+日,,年=,[2000,|,2001,|,2002,|,2004],,,月=,“,01,”…“,12,”,,,日=,“,01,”…“,31,”,分析建摸方法,结构化分析,(,传统建模方法,),,面向对象分析,结
17、构化分析方法,(Structured Analisys,,SA,),,基于数据流技术的分析方法,,需求获取应遵循的三条基本原则:,,,分解,,抽象,,投影,分析模型的主要目标,描述用户需要,,建立创建软件设计的基础,,定义软件完成后可被确认的一组需求,,分析模型的结构,,,数据,,字典,数据,,流图,E-R,图,状态变迁图,加,工,规,约,控制规约,数,据,对,,象,描,,述,分析模型的元素,数据字典,(DD),:,模型核心,(,中心库,),,E-R,图,(ERD),:,,数据流图,(DFD),,,指明数据在系统中移动时如何被变换,;,,描述对数据流进行变换的功能,;,,DFD,中每个功能的描
18、述包含在加工规约,,,(,小说明,),。,,状态变迁图,(STD),,,指明作为外部事件的结果,,,系统将如何,,动作。,数据,建模,E-R,图是数据建模的基础,将分析模型转换为软件设计,,,数据,,字典,数据,,流图,E-R,图,状态变迁图,加,工,规,约,控制规约,数,据,对,描,,述,象,,数 据 设 计,体系结构设计,接口设计,过程设计,,,,,,,分析模型,设计模型,讨论要点,SA,方法建立功能模型的描述方法,,,DFD,,DD,,,其他描述方法,功能,建模和信息流,,,,,基于,,计算机,,的系统,输入信息,信息流模型,输出信息,,外部实体,,,外部实体,,,外部实体,输入信息,,
19、,外部实体,,,外部实体,输出信息,输出信息,一,.,数据流图,,(,DFD,,,D,ata,F,low,D,iagram),,,描述逻辑模型的图形工具, 表示数据在系统内的变化。,,,,实例,,考务处理系统功能,,(1),对考生送来的报名单进行检查,;,,(2),对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站,;,,(3),对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者,;,,(4),制作考生通知单,(,含成绩及合格,/,不合格标志,),送给考生,;,,(5),按地区进行成绩分类统计和试题难度分析,产生统计分析表。,考务处理系统的分层,DF
20、D,顶层数据流图,,考,,生,,,考务,,处理系统,考,,试,,中,,心,,阅卷站,不合格报名单,报名单,准考证,考生通知单,成,,绩,,清,,单,合格标准,错误成绩,,清单,考生名,,单,统计分析表,,登记,,报名单,报名单,准考证,1,,统计成绩,2,不合格,,报名单,考生通知单,成,统计分析表,0,层,数据流,图,考生名册,,,绩,清,单,合,,格,,标,,准,考生名,,单,成,绩,清,单,错,误,一层数据流图,(a),,检查,,报名单,报名单,准考证,1.1,,编准考证号,1.2,不合格,,报名单,考生名册,,,考生名单,合格,,报名单,,登记,,考生,1.3,一层数据流图,(b),,
21、检查,,成绩清单,2.1,,审定,,合格者,2.2,考生名册,,,正确,,成绩清单,,制作,,通知单,2.3,,分析,,统计成绩,2.4,,分析,,试题难度,2.5,试题得分清单,,,考生,,通知单,难度,,分析表,合格,,标准,分类,,统计表,成绩清单,错误,,成绩清单,经审定的,,成绩清单,,,DFD,可以用来表示一个系统或软件在任何层次上的抽象。,,较大型软件系统,DFD,分成多层,(,子图、父图概念,),,可以表示数据流和功能的进一步的细节。,,,S,,,2,,1,,3,,,,2.2,,2.1,,2.3,,,,3.1,,3.2,,,,,顶层,,(不编号),,,0,层,1,层,,数据流和
22、控制流举例,,(使用,Ward,和,mellor,符号),,监控固件和,,操作接口,每个固件状态,动作,,警告,,机器人初始化控制,操作命令,部件状态缓冲器,,位置,,命令,开始,/,停止,,,处理,,机器人命令,机器人命令文件,,,操作,,设置,处理活动,记录机器人动作,位串,数据和控制模型的关系,,DFD,加工规约,加工模型,,DFD,控制规约,控制模型,数据输出,数据条件,数据输入,控制输入,控制输出,,,,加工,,激活者,,,,SafeHome,控制面板,,与用户,,交互,SAFEHOME,ARMED POWER,,,01,,,1,,2,,3,,4,,5,,6,,7,,8,,9,,
23、*,,0,,#,OFF ARAY STAY,MAX TEST BYPASS,INSTANT CODE CHIME,READY,panic,alarm,check,fire,away,stay,instant,bypass,not ready,SafeHome,的顶层,DFD,,,,SafeHome,,软件系统,用户命令,,和数据,显示信息,,,控制面板,,,传感器,传感器,,状态,,,警铃,,电话线,警告类型,电话号码,,拨音,控制面板显示,SafeHome,的第,0,层,DFD,,控制,,面板,,与用户,,交互,,控制,,面板,,显示,密码,电话号
24、码拨音,传感器状态,显示信息,配置请求,用户命令,,和数据,,配置,,系统,,警,,铃,,电,,话,,线,,传感器,配置信息,,,,显示信息,,和状态,,监控,,传感器,,激活/不,,激活系统,传感器信息,,密码,,处理,警告类型,检验,id,信息,开始,,停止,状态信息,监控传感器的,第,1,层,DFD,电话号码拨音,传感器状态,配置数据,,显示格式,配置信息,,,,产生警告,,信息,,拨号,,评估设置,传感器信息,,读传感器,警告类型,传感器,id,类型,传感器,id,,类型定位,SafeHome,的,第一层CFD,,控制,,面板,,与用户,,交互,,控制,,面板,,显示,显示活动状态(完
25、成、在处理中),,配置,,系统,,警,,铃,,电,,话,,线,,传感器,配置信息,,,,显示信息,,和状态,,监控,,传感器,,激活/不,,激活系统,警告,,信号,,密码,,处理,传感器,,事件,,警告,,状态,,超时,,闪烁标志,开/关切换,SafeHome,的,状态变迁图,读用户,,输入,超时,监视系统,,状态,传感器,,事件行为,显示用户反馈,与,“,用户交互,”,有关,开关,/,切换,与,“,监视,&,控制系统,”,有关,显示活动状态,与,“,用户交互,”,有关,传感器事件,与,“,显示信息,&,状态,”,有关,与,“,监视,&,控制系统,”,有关,传感器事件,传感器事件,与,“,监视
26、,&,控制系统,”,有关,传感器事件,与,“,显示信息,,&,状态,”,有关,闪烁,与,“,显示信息,&,状态,”,有关,二,.,数据字典,(,DD,,,DataDictionary),,DD,是对所有与系统相关的数据元素的一个有组织的列表,,,以及,精确的、严格的定义,,使得用户和系统分析员对于输入、输出、存储成分和中间计算有共同的理解,,,,数据字典的作用,DFD,中的数据流、数据存储表示某个有组织的数据集合,它们要由,SA,的其他描述工具,-,需求字典,(,数据字典,),来描述,,包括:,,词条描述,,数据结构描述,,加工逻辑说明,DD,中数据结构的描述方式,,定义式,,,Warnier
27、,图,,巴科斯范式(,BNF,),F1:,航班信息文件,=,{,航空公司名称+航班号,,+起点+终点+日期 +起飞时间+降落时间,},,航空公司名称=,2{,字母,}4,,,航班号=,3{,十进制数字,}3,,,字母=,“,A,”…“,Z,”,,十进制数字=,“,0,”…“,9,”,,起点=终点=,1{,汉字,}10,,,起飞时间=降落时间=时+分,,时=,“,00,”…“,23,”,,,分=,“,00,”…“,59,”,,,日期=年+月+日,,年=,[2000,|,2001,|,2002,|,2004],,,月=,“,01,”…“,12,”,,,日=,“,01,”…“,31,”,,重复项:
28、,起点=终点=,1{,汉字,}10,,,航空公司名称=,2{,字母,}4,,,航班号=,3{,十进制数字,}3,,,,组合项:,日期=年+月+日,,,起飞时间=降落时间=时+分,,选择项:,年=,[2000,|,2001,|,2002,|,2004],,,原数据项:,字母=,“,A,”…“,Z,”,,,十进制数字=,“,0,”…“,9,”,,,时=,“,00,”…“,23,”,,,分=,“,00,”…“,59,”,,,月=,“,01,”…“,12,”,,,日=,“,01,”…“,31,”,,定义式中使用的符,,操作符 含义描述,,,= 定义为,,+
29、 与,(,顺序结构,),,,{,...,} 重复,(,循环结构,),,〔..,|,..〕,或,(,选择结构,),,〔.. , .. 〕,,( ... ),任选,,,m..n,界域,,*,...,,* 注释符,,限制重复次数举例,:,{,3,5,或,5,3,{ },表示允许重复,3-5,次,{ },3,3,或,3,3,{ },表示恰好重复,3,次,{ },{ },{ },1,表示至少出现,1,次,表示允许重复,0,至任意,次,数据流条目,给出,DFD,中某个数据流的定义,,,通常包括:,,数据流标识,,数据流来源,,数据流去向,,数据流的数据组
30、成,,流动属性描述:频率、数据量,购,,书,,单,发票,领书,单,审查并,,开发票,开领,,书单,无效书单,,学生,1,2,各班学生,,用 书 表,举例:,,,,,,,学生,,,,,,教材存量表,数据流条目说明举例,数据流名,:,发票,,别名,:,,无,,简述,:,,学生购书时填写的项目,,来源,:,,学生,,去向,:,,加工,1,“,审查并开发票,”,,组成,:,(,学号,),+姓名+{书号+数量},,数据流量,:,1000,次,/,周,,,高峰值:,开学期间,1000,次,/,天,,数据存储条目,(,数据文件词条,),对某个文件的定义,包括:,,,文件名,,描述,,数据结构,,数据存储方式
31、,,关键码,,存取频率和数据量,,安全性要求,数据存储条目说明举例,文件名,:,库存记录,,别名,:,无,,简述,:,存放库存所有可供货物的信息,,组成,:,货物名称+编号+生产厂家,,+单价+库存量,,组织方式,:索引文件,以货物编号为,,关键字,,查询要求,:,要求能够立即查询,数据项条目,(,数据元素词条,),不可再分解的数据单位,包括:,,,名称,,描述,,数据类型,,长度,(,精度,),,,取值范围及缺省值,,计量单位,,相关数据元素及数据结构,数据项条目说明举例,数据项名,:,货物编号,,别名,:,G-No,G-num,,简述,:,本公司的所有货物的编号,,类型,:,字符串,,长度
32、:,10,,取值范围及含义,:,,,第,1,位:,[J,|,G] (,进口,/,国产,),,,第,2∼4,位:,LB01.. LB29 (,类别,),,,第,5∼7,位:,“,A00,”,..,“,A99,”,(,规格,),,,第,8∼10,位:,“,001,”,..,“,999,”,(,品名编号,),F1:,航班信息文件,=,{,航空公司名称+航班号,,+起点+终点+日期 +起飞时间+降落时间,},,航空公司名称=,2{,字母,}4,,,航班号=,3{,十进制数字,}3,,,字母=,“,A,”…“,Z,”,,十进制数字=,“,0,”…“,9,”,,起点=终点=,1{,汉字,}10
33、,,,起飞时间=降落时间=时+分,,时=,“,00,”…“,23,”,,,分=,“,00,”…“,59,”,,,日期=年+月+日,,年=,“,00,”…“,99,”,,,月=,“,01,”…“,12,”,,,日=,“,01,”…“,31,”,存折,=户名+所号+帐号+开户日期+性质,,+(印密)+,1{,存取行,}50,,户名=,2{,字母,}24,,所号=,“,001,”,..,“,999,”,(,注:储蓄所编码,,,规定三位数字,),,帐号=,“,00000001,”,..,“,99999999,”,,(,注:帐号规定由八位数字组成,),,开户日期=年+月+日,,性质=,“,1,”,..
34、,“,6,”,(,注:,“,1,”,表示普通户,,,,“,5,”,表示工资户等,),,印密=,“,0,”,(,注:印密在存折上不显示,),,存取行=日期+(摘要)+指出+存入+余额,,+操作+复核,年=,[2001,|,2002,|,2003,|,2004],,月=,“,01,”,..,“,12,”,,,日=,“,01,”,..,“,31,”,,摘要=,1{,字母,}4(,注:表明该存取是存?是取?,,还是换?,),,支出=金额,(,注,:,金额规定不超过,9999999.99,元,),,存入=金额,,余额=金额,,金额=,“,0000000.01,”,..,“,9999999.99,”,,
35、操作=,“,00001,”,..,“,99999,”,,复核=,“,00001,”,..,“,99999,”,,字母=,[,“,a,”,..,“,z,”,|,“,A,”,..,“,Z,”,],,购书单,缺书,单,销售,采购,1,2,第二层,DFD(,0层,),教材购销系统,,,,,,,,教材存量表,,学,,生,,F1,,,缺书登记表,F2,,,,书库,,保,,管,,员,,进书通知,,教材入,,库信息,,领书单,DF01-10,DF20-02,销售,采购,1.0,2.0,第二层,DFD(,0层,),教材购销系统,,,,,,,,教材存量表,,学,,生,,F1,,,缺书登记表,F2,,,,书库,,保
36、,,管,,员,,DF02-20,,DF20-10,,DF10-01,1,2,XSMD,CGMD,,,DD,数据流条目说明举例,〔,图号,〕,,DF01-10 /*,有效购书单*,/,,DF01-10 =,学号+姓名,,+,{,书号+数量,},,加工条目,(,加工逻辑说明,),,加工类条目即数据处理描述,也称为,小说明,。描述实现加工的策略而不是实现加工的细节。,,小说明可认为是,DD,的组成部分。,,也可在,DD,中定义只说明每个加工的组,,成,(,每个处理分解成多少小处理,),,而在,,小说明中详细描述它的处理逻辑,.,加工条目,(,加工逻辑说明,),,加工逻辑名,:,登记报名单,,编号
37、:,1.0,,,激活条件:收到报名单,,加工逻辑,:,{1.1,检查报名单,,,+ 1.2,编准考证号,,,+ 1.3,登记考生,},,,执行频率:,2000,次,/,日,DD定义方法,找出所有数据元素,,(,数据流,数据存储,数据项,加工,),,对数据项分类,,作结构定义,,排序,,DD,的分类,,DD,中的命名,(,遵守系统开发规范规定,),,DD,的实现,(1),人工方法,,(2),自动方法,(,利用字典管理程序,),DD,应具特点,,(1),通过名字可方便查阅数据定义,,(2),无冗余,,(3),易更新修改,,3.,小说明,(,加工逻辑说明的另一种形式,),描述的内容:,,(1),处理
38、逻辑,,描述基本加工如何把输入数据流变化为输出数据流的加工原则,不涉及具体处理方法。,,(2),执行条件,,(3),输入,,(4),输出,,(3),优先级,,(4),执行频率,,(5),出错处理对策,小说明举例,加工名,:,分类采购,(CG111MD),,编号,: 1.1.1,,加工激活条件,:,受到图书采购员分类,,采购操作命令,,加工逻辑,: (1) 1.1.1.1,预定图书,,,(2) 1.1.1.2,外采图书,,,(3) 1.1.1.3,赠送图书,,执行频率,:,随时,小说明举例,处理名,:,月票额统计,(MHCW713MD),,编号,: 7.1.3,,激活条件,:
39、,收到每日售票额信息,,处理逻辑,:1,统计月保险金总合,,月保险金信息,=,每日日保险,,金信息之和,,,2,统计月合计,,月合计信息,=,每日日合计信息之和,,执行频率,: 1,次,/,月,描述加工逻辑的工具:,,结构化语言,,判定表,,判定树,结构化语言,,介于自然语言和形式语言之间的语言,,结构化语言的特点:,,无确定语法,,可分层、嵌套,处理名,:,核实订票处理,(MHGP3200MD),,编号,: 3.2,,激活条件,:,收到取订票信息,,处理逻辑,:1,读订票旅客信息文件,,,2,搜索此文件中是否有与输入信息,,中姓名及身份证号相符的项,,,IF,,有,,,THEN,,判断余项
40、是否与文件中信,,息相符,,,IF,,是,THEN,,输出已订票信息,,,ELSE,,输出未订票信息,,,ELSE,,输出未订票信息,,执行频率,:,实时,判定表,(,决策表,),描述多条件、多目标动作的形式化工具,判定表举例,(,计算机票折扣率,),旅游时间,订 票 量,折 扣 量,7,-,9,,,12,月,≤20,≤20,> 20,> 20,15%,5%,20%,30%,条件类别,,,四种条件组合,操作,条件组合下操作的执行,,1,-,6,10,11,月,处理名,:,计算折扣率,(MHGP534MD),,编号,: 5.3.4,,激活条件,:,收到预订票信息,,处理逻辑,:,计算折扣率,,
41、,,,,,,,执行频率,:,实时,,,,,,旅游时间,订 票 量,折 扣 量,7,-,9,,,12,月,1,-,6,10,11,月,≤20,≤20,> 20,> 20,15%,5%,20%,30%,判定树,(,Decision,,决策树,),,条件,1,,条件,2,结果,,计,7,-,9,,,订票量,>20,:,,15%,,算,12,月,,订票量≤,20,:,5%,,折,,扣,1,-,6,,,订票量,>20,:,30%,,量,10,11,月,,订票量≤,20,:,5%,,,,二,.,结构化分析实施步骤,1.,确定系统边界,,,画出系统环境图,,2.,自顶向下,画出各层数据流图,,3.,定义数据
42、字典,,4.,定义小说明,,三,.,需求规格说明书,(,SRS,),,(,S,oftware,R,equirement,S,pecification,),,需求分析阶段要完成的文档。,,,SRS,的作用:,,开发者与用户间事实上的技术合同书,,开发者下一步设计和编码的基础,,测试验收目标系统的依据,SRS,大纲(模板),,引言,,任务概述,(,项目概述,),,,数据描述,(DFD,、,DD),,,功能描述,,接口,,性能需求,,属性,,其它需求,三,.,需求验证,(1),正确性,,(2),无二义性,,(3),完整性,,(4),可验证性,,(5),一致性,,(6),可理解性,,(7),可修改性,
43、,(8),可被跟踪性,,(9),可跟踪性,,(10),设计无关性,,(11),注释,需求文档的陈述与改进举例(,1,),,产品必须在固定的时间间隔内提供状态消息,并且每次时间间隔不得小于,60,秒。,,后台任务管理器,(,BTM,),应该在用户界面的指定区域显示状态消息。,,,a.,,在,后台任务进程启动之后,消息必须每隔,60(,10,),秒更新一次,并且保持连续的可见性。,,,b.,,如果正在正常处理后台任务进程,那么后台任务管理器,(,BTM,),必须显示后台任务进程已完成的百分比。,,,c.,,当完成后台任务时,,,后台任务管理器,(,BTM,),必须显示一个,“,已完成,”,的消息
44、。,,,d.,,如果后台任务中止执行,那么,后台任务管理器,(,BTM,),必须显示一个出错信息。,需求不完整,,,导致需求不可验证,,,,改,,进,,需求文档的陈述与改进举例(,2,),,产品必须在显示和隐藏非打印字符之间进行瞬间切换。,,用户在编辑文档时,通过激活特定的机制,可以在显示和隐藏所有,HTML,标记之间进行切换。,需求不可行、不完整、,,不确定性,导致需求,,不可验证,,,,改,,进,,§3.4,分析建摸方法,结构化分析,(,传统建模方法,),,面向对象分析,计算机世界,现实世界,,,映射,,计算机世界,现实世界,,,结,,构,,化,,开,,发,,方,,法,,结构化,,分析,,
45、结构化,,设计,,结构化,,编程,,OOA,,OOD,,OOP,,,,,,,,,面,,向,,对,,象,,开,,发,,方,,法,,§,3.4.2,面向对象分析方法,,思考题,,软件开发中为什么要使用面向对象,,方法?,,面向对象分析方法与结构化分析方,,法有哪些相似之处?有何区别?,,面向对象方法是对过去的一个完全,,突破,还是,“,换汤不换药,”,?,对象,(,object),,现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现。,,,对象具有的含义:,,在现实世界中:,,是客观世界中的一个实体,,在面向对象程序中:,,表达成计算机可理解、可操纵、具有一,,定,属性,和,行为,的对象
46、,,在计算机世界中:,,是一个可标识的存储区域,,面向对象方法是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的,软件开发方法,。,面向对象,=,对象,+,类,+,继承,+,消息通信,面向对象的主要特征:,,封闭性,(Encapsulation),,,继承性,(Inheritance),,,多态性,(Polymorphism),类(,class,),具有共同属性和行为的对象的抽象,,类与对象的关系,,类是对象的抽象,,对象是类的实例,类,对象,,对象、实体与类,对象,实体,类,抽象数据类,,,计算机世界,现实世界,,,,计算机逻,,辑的实现,影射,抽,,象,实,,例,,化
47、,抽,,象,概念世界,封装,封装是软件开发方法的重要原则,有两个涵义:,,把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(对象)。,,尽可能隐蔽对象的内部细节,,(信息隐蔽),,传统方法数据与过程是分离的,过程,1,,输入,输出,过程,2,过程,3,,数据实体,,,,属于该对象,,的数据,对象,处理数据的方法,,消息,消息,对象把数据和处理数据的方法封状成一个单元,传统方法和面向对象方法的比较,,传统方法,,系统是过程的集合,,过程与数据实体交互,,过程接受输入并产生输出,,面向对象方法,,系统是交互对象的集合,,对象与人或其它对象交互,,对象发送与响应消息,,,继承 (继承
48、性,inheritance,),继承性是父类和子类之间共享数据和方法的机制,,继承性具有传递性,,继承性包括单继承和多重继承,,,,,子类,继承部分,增加部分,父类,共性部分,继承性作用,,使软件系统具有开放性,,更好地进行抽象与分类,,增强代码的重用率,多态(多态性,polymorphism),不同的对象收到同一消息可产生完全 不同的结果,这一现象叫做,多态,,多态的效果,,,用户发送一个通用的消息,而实现,,的细节则由接收对象自行决定,多态性的作用,,增强了操作的透明性,可理解性和可扩展性,,增强了软件的灵活性和重用性,消息,(message,),消息,,,对象之间相互请求或相互
49、协作的途径,是要求某个对象执行某个功能操作的规格说明,,消息内容,,,通常包含接收方及请求接收方完成的功能信息,,发送方,, 发出消息,请求接收方响应,,接收方,,,收到消息后,经过解释,激活方法,予以响应,为什么对面向对象方法感兴趣,?,面向对象方法的主要优点:,,自然性,,,追求软件系统对现实系统的直接模拟,尽量实现将现实世界中的事物直接映射到软件系统的解空间中。,,软件复用,,,可复用性(可重用性),reusebility,,可扩展性,,可管理,性,可复用性(可重用性),,,面向对象技术允许复用的不仅仅是,,代码,,,通过面向对象技术,,,我们可以复,,用需求、分析、设计、测试计划
50、、用户,,界面以及体系结构等等,,,事实上,,,软件,,工程生存期中的每个部分都可以复用,。,,,,传统系统分析,:,面向功能,,,把系统看成,,一组功能,,OOA,:,把问题当作一组相互作用,,的实体,并确定实体间关系,,面向对象技术是一个有全新概念的,,开发模式,,,其特点是,:,,,(1),方法是对软件开发过程所有阶段进,,行综合考虑而得到的,;,,(2),从生存期的一个阶段到下一个阶段,,所使用的方法与技术具有高度的连,,续性,;,,(3),将,OOA,、,OOD,、,OOP,集成到生存,,期的相应阶段,.,开发方法的组合,分析,设计,编程,结构化,结构化,面向对象,结构化,面向对象,
51、面向对象,面向对象,结构化,第三代或第四代语言,面向对象,面向对象,第三代或第四代语言,面向对象,面向对象,传统编程与面向对象的混合,面向对象,面向对象,面向对象,,OO,方法的开发过程,,OO,方法改进了在生存期各个阶段间的界面,因为生存期各个阶段开发出来的,“,部件,”,都是,类,,在面向对象生存期的各个阶段对各个,类,的信息进行细化,,类,成为分析、设计和实现的,基本单元,。,,类的生存期模型,,类的规,,格说明,,从废弃型开发,既存类,,的复用,渐增式的实现,渐增式的测试,,,,求精和,,维护,,,测试用,,例和测试,,的开发,,实现,,,从既存,,类演变,类的设计与实现,类的规格说明
52、指导对存放现存类的软件库进行查找,,现存类提供当前应用所需功能,,三种可能利用现存类的方向,:,,,,,现存类的复用,,,,,从现存类进行演变,,,,,从废弃类进行开发,,对象之间的联系与对象模型,面向对象方法开发软件,,通常建立的三种形式的模型,,,描述系统数据结构的,对象模型,,描述系统控制结构的,动态模型,,描述系统功能的,功能模型,,,,,三种模型从三个不同但由密切相关的角度模拟目标系统。,,,对象模型,是最重要、最基本、最核心的。,,对象模型,,,对象模型表示静态的、结构的系统数据的性质。,,对模拟客观世界实体的对象以及对象彼此之间的关系的映射,描述了系统的静态结构。,,,OO
53、,方法强调围绕对象而不是功能来构造系统,。,,类及对象间常见的联系,,分类关系,,(归纳关系、一般与特殊的关系),,组成关系,,(组合关系、整体,/,部分的关系),,对象属性之间的静态的联系,,对象行为的动态联系,,,,分类关系,(,一般与特殊的关系,),示例,,学生,本科生,,研究生,组成关系,(,整体与部分的关系,),示例,学科部,办公室,学院,实验室,,,,,,,,对象模型中表现,,上述联系的结构和连接,(1),分类结构(一般,/,特殊结构),,分类是对象抽象的基础,,,分类结构表现的是事物的一般与特殊的关系,即,“,is-a,”,关系。,,面向对象术语中常把一般与特殊的关系称为,泛化(
54、,Generalization,),与,特化(,Specialization,),联系,,,存户,,,一般,/,特殊结构举例,,一般类,,(,父类、基类、超类,),,特殊类,,(,子类、具体类,),继承,一个特殊类中的所有对象可继承一般类中的属性,、,服务,、,关系.,账号,,姓名,,余额,存款,,取款,,支票存户,,储蓄存户,利息率,(2),,组装结构(整体,/,部分结构),,,组装结构表示对象类之间的组成关系,即整体与部分的关系。,,整体对于部分是,“,has-a,”,关系。,,,(,部分对于整体是,“,a-part-of,”,关系,),,,组装结构体现了面向对象方法的,,,聚合(也叫聚集
55、,Aggregation,),原则。,整体,/,部分结构表示法举例,,,,,,,,,微机,1+,,电源,,主机箱,,键盘,,监视器,,鼠标,,内存,,,,CPU,,硬盘,o,,,,,,,,,,,,(3),实例连接,(Instance Connection),,,实例连接表现了对象之间的静态联系,通过对象的属性来表现对象之间的依赖关系。,,面向对象术语中把对象之间的实例连接称为,链接,(Link),,把类之间的实例连接称为,关联,(Association),,实例连接示例及表示,,,教师,,指导论文,,0,m 1,,学生,教师为学生,,指导论文:,,教师,,教学,,0
56、,m 0,n,,学生,教师为学生,,授课:,关联关系,(,链属性,),的表示,,,允许实例连接带有一组属性,这些属性通过关联来描述,,,,,类,1,,连接名称,,m n,,类,1,,,连接,,属性,,,关联关系,,,(,链属性,),,,,为之工作,,,,工资,,职务,雇主,雇员,,,个人,,名字,,身份证号,公司,,名字,,地址,,,,,题目,,答辩时间,,成绩,,教师,,学生,,,指导论文,,0,m 1,(4),消息连接,(,Message,Connection),,,对象之间的,通信,联系。,,一需要另一个对象
57、的服务,便向它发出个对象请求服务的消息,接收消息的对象响应消息,触发所要求的服务操作。,,消息连接体现了对象行为的,动态联系,。,一家公司的对象模型(,OMT,),示例,,,,,为之工作,管理,0,,,1,姓名,,身份证号码,,地址,员工,,名字,,电话号码,,主要产品,,地址,公司,职务,雇用,,解雇,,项目名,,预算,,优先级,项目,,产品名,,成本,,重量,产品,,工人,,经理,,部门,,部门名,主持,参加,1+,1+,1+,1+,1+,生产,,,,,,,,网上商店对象模型,(,部分,),示例,(,UML,),,销售代表,0 .. 1,定货,,name,,address,顾客,credi
58、tRating( ):String,,产品,,雇员,1,dataReceived,,isPrepaid,,number:String,,price:Money,,协作顾客,contactName,,creditRating,,creditLimit,,creditCard#,个人顾客,{creditRating( ),,==“poor”},,,定货作业线,,dispatch( ),,close( ),remind( ),,billForMonth( ),Quantity:Integer,,price:Money,,isSatisfied:Boolean,,,1,*,*,*,*,1,物品,,,,
59、面向对象的方法论,,方法论是如何对复杂系统进行,“,抽象,”,的工作,以及如何建立抽象模型。,二,.,面向对象分析建模,(,OOA,),,,面向对象分析方法确实不同于结构化分析方法吗?,,,Fichman,R.G and C.F.Kemerer,,,,在,“,Object-oriented Conventional Analysis,,and Design Methodologies,”,,中阐述:,,我们的结论是面向对象分析方法表现了相对面向过程的方法学(如结构化分析)的根本性变化,而且相对面向数据的方法学仅仅是增量性的变化。面向过程的方法学在建模过程中的关注点不是对象的内在性质,从而导致了
60、和面向对象的三个基本原理相正交的问题域模型。,,面向对象分析方法使得软件工程师能够通过对象、属性和操作(作为主要的建模成分)的表示来对问题建模。,建立分析模型,5,个基本原则:,,(,1,),建模信息域;,,(,2,),描述模块功能;,,(,3,),表示模型行为;,,(,4,),分解以模型显示更多细节;,,(,5,)早期,模型表示问题的本质,而后期模型提供实现细节。,,OOA,的意图,是定义所有和被求解的问题相关的类(及同类关联的关系和行为),为了达到这个目标,必须完成以下任务:,,(,1,)必须在客户和软件工程师之间沟,,通了解基本的用户需求;,,(,2,)必须标识类,(,定义属性和方法,)
61、,;,,(,3,)必须刻划类层次;,,(,4,)表示对象对象关系(对象连接);,,(,5,)必须建模对象行为;,,(,6,)任务,(,1),到,(5),递进地反复使用,直至,,完成建模,流行的几种面向对象方法,:,,Booch,方法,,Coad-Yourdon,方法,,Rumbaugh,,方法,(,简称,OMT,),,(,Object Modeling Technology,),,,Jacobson,,方法,(,简称,OOSE,),,由,Rumbaugh,、,Booch,、,Jacobson,,,提出的统一建模语言,,,(Unify Modeing Language,简称,UML),目前流
62、行的,OOA,方法概述,,Coad-Yourdon,方法,,Coad-Yourdon,的,OOA,过程概述:,,使用,“,寻找什么,”,标准来标识对象,,定义一般,/,特殊结构,,定义整体,/,部分结构,,标识主题(子系统构件的表示),,定义属性,,定义服务,,目前流行的,OOA,方法概述,,Booch,方法,,Booch,的,OOA,宏观开发过程概述:,,标识类和对象,,标识类和对象的语义,,标识类和对象间的关系,,进行精化,,,目前流行的,OOA,方法概述,,Rumbaugh,方法,(,简称,OMT,),,Rumbaugh,的,OOA,过程概述:,,开发对问题的范围陈述,,建造对象模型,,
63、开发动态模型,,构造系统的功能模型,不同面向对象分析方法的相似步骤:,,(,1,)使用基本需求作为指南选择,类,,和对象;,,(,2,),为对象标识属性和操作;,,(,3,)定义组织,类的结构和层次;,,(,4,),建造对象,-,关系模型的;,,(,5,)建造,对象,-,行为模型。,统一的,OOA,方法,,由,Rumbaugh,、,Booch,、,Jacobson,,,,提出的统一建模语言,,,(Unify Modeing Language,简称,UML),UML,是一种定义良好,易于表达,功能强大且普遍实用的建模语言。,,UML,的开发历程,Booch’91,其它方法,OMT-1,OOSE,
64、Booch’93,OMT-2,UML 0.8,UML 0.9&0.91,UML 1.0,UML 1.1,UML,同行,,专家意见,OMG,认证,10/95,10/96 & 9/96,OMG,审核,,1/97,OMG,修正,,9/97,OMG,采用,,11/97,UML 1.3,,对象模型技术,,,(,OMT, Object Model Tech,.),对象模型,动态模型,功能模型,基本模型,:,三个模型分别从不同角度分析系统,,分析模型,,对象模型,:,描述静态结构,,,定义做,,事情的实体,,功能模型,:,描述处理,(,数据变换,),,,,指明系统应“做什么”,,动态模型,:,描述交互
65、过程,,,规定什么,,时候做,,OMT,模型系统分析和设计过程概观图,,,产生需求,结构及对象,,设计,建立模型,问题描述,对象模型、动态模型、功能模型,详细的对象模型,,详细的动态模型,,详细的功能模型,分,,析,,阶,,段,设,,计,,阶,,段,,实例:饮料自动售货机系统,,设置,,一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置,50,罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。,,销售,,顾客将硬币投入售货机,经累加金额足额的饮料选择
66、键灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。,,取消交易,,顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易收回硬币。,,步骤,:,,(1),找出对象及其关联,,(2),赋予类及关联的属性数据,,(3),组织类的结构,,OMT,的对象图,,,找出饮料自动售货机系统中的对象,,设置,,一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置,50,罐饮料,其按钮设计在各种饮料样本的下方,若经,金额计算器,累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。,,销售,,,顾客,将硬币投入,售货机,,经累加金额足额的饮料,选择键,灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。,,取消交易,,顾客可在按下选择键前任何一个时刻,拉动,退币杆,取消交易收回硬币。,,对象模型,,,描述系统内部对象结构,包括对象本身的定义、对象的属性、操作,以及对象与其它对象之间的关系。,,,,对象模型是,OMT,方法论中最重要的部分,动态模型、功能模型都将依次而建立,,对象模型以对
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化妆品美妆产品介绍自然之选清新护肤
- 心理健康情绪管理主题班会我的情绪小怪兽
- 慢性病宣传慢性肾脏病防治如何预防和管理慢性肾脏病
- 深入学习2025最高人民法院工作报告
- 孩子如何合理使用DeepSeek(AI仅辅助不可让渡创造力)
- 肝病健康知识宣讲甲型肝炎及戊型肝炎传播和预防
- 慢性肾脏病知识宣传慢性肾脏病的危害
- 315消费者权益日共筑满意消费
- 世界睡眠日健康睡眠知识科普睡眠是维持生命健康的重要源泉
- 深入学习2025政府工作报告要点双语版
- 初中语文作文素材:100个描写外貌佳句
- 初中语文古诗词鉴常考题型及答题技巧
- 初中语文作文素材:9个落笔即封神的议论文作文论据
- 初中资料:学好语文的方法及技巧
- 初中语文作文素材:经典格言总结