您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 第4章-系统分析与设计概要
第4章系统分析与设计首都师范大学4.1概述经过需求获取阶段的工作,对于系统应该“做什么”,我们与客户已经取得了共识,现在该考虑“怎样做”,即如何设计一个系统了。系统分析是对需求的精化和构造,开发人员关注于理解系统需求构建的内容,其核心是产生一个反映真实世界的准确的、简洁的和可理解的系统模型,称为分析模型。面向对象分析模型由三个独立的模型组成:功能模型、对象模型和动态模型。4.1概述系统设计是在分析模型的基础上形成实现环境下的设计模型面向对象设计是根据已建立的系统分析模型,运用面向对象技术,进行系统的软件设计。面向对象设计是面向对象分析到实现的一个桥梁。面向对象分析是将用户需求经过分析后,建立问题域精确模型的过程;而面向对象设计则是根据面向对象分析得到的需求模型,建立求解域模型的过程。设计主要涉及体系结构设计、用户界面设计和数据库设计等方面。4.1概述面向对象设计是面向对象分析的延伸、扩展。面向对象方法学在概念和表示方法上的一致性,所以从面向对象分析到面向对象设计没有转换,只是扩展、调整。面向对象分析的结果可以直接移植到面向对象设计的结果中来,分析到设计是平滑过渡。开发大系统时可采用从面向对象分析到设计顺序进行,对于小系统,这两个阶段可以是交替进行的。4.2分析阶段的任务面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。首先,系统分析员对需求文档进行分析,然后,需求建模。最后,需求评审。面向对象分析形成三个模型:对象模型动态模型功能模型4.2分析阶段的任务(1)对象模型:对象模型描述了系统的数据结构,它是三个模型的最关键的一个模型。对象模型的作用是描述系统的静态结构,由类图和对象图表示,包括构成系统的类和对象、它们的属性和操作,以及它们之间的联系。在建立对象模型时,我们的目标是从问题域中提炼出对目标系统有价值的概念。对象模型是基础,动态模型和功能模型在此基础上创建。4.2分析阶段的任务(2)动态模型:当对象模型建立起来后,接着可以建立动态模型。对于一个系统来说,动态模型明确规定了系统“什么时候做”的问题。即在何种状态下、接受了什么事件的触发,来确定对象的可能事件的顺序。动态模型由状态图和时序图表示。时序图描述了一组交互对象间的交互方式,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。4.2分析阶段的任务(3)功能模型:功能模型由一组数据流图组成。它表明了系统中数据之间的依赖关系,以及有关的数据处理功能。数据流图可描述功能的依赖关系,它的“处理”对应于状态图的活动和动作,它的“数据流”对应于对象图中的对象或属性。建立功能模型一般在建立了对象模型和动态模型之后。在面向对象方法学中,数据流图不像在结构化方法中那样重要。4.3设计阶段的任务在面向对象分析阶段,我们形成三个模型:对象模型描述了系统的概念实体;动态模型描述了系统对象之间的交互行为;功能模型从用户角度描述了系统的功能。在设计阶段,将集中研究系统的软件实现问题,包括体系结构设计、用户界面设计和数据库设计等。下面结合实例详细介绍从分析模型转换成设计模型的过程。它在分析模型的基础上完成在实现环境的类建模、状态建模、协作建模、用户界面原形等,实现从分析到软件实现之间的跨越。4.4软件设计准则1.模块化2.抽象3.信息隐藏4.弱耦合5.强内聚6.可重用4.5实例我们继续分析上一章给出的图书管理系统的实例,从系统的需求分析中不难看出:系统要处理的数据就是描述图书和读者信息的各种数据,因此如何组织这些数据、如何操作这些数据、如何为操作这些数据提供交互界面等就是系统分析和设计的主要任务。“图书管理系统”分析设计报告(实例)1.引言1.1目的1.2范围1.3定义1.4参考文献(略)“图书管理系统”分析设计报告(实例)2.建立分析的对象模型候选类描述类名注释图书在系统中,需要保存图书的基本信息,所以它应该是系统的对象。Book持久读者在系统中,需要保存读者的基本信息,所以它应该是系统的对象。Reader持久借阅记录在系统中,需要保存借书的记录,所以它应该是系统的对象。Record持久账号在系统中,账号是用来保存用户名密码,用于权限判定,所以它应该是系统的对象。Account持久“图书管理系统”分析设计报告(实例)通过分析,我们得到的“图书管理系统”的类图,如图4.1。图4.1类图“图书管理系统”分析设计报告(实例)2.1图书类描述类名:Book类属性:属性名属性解释数据类型bookId图书编号StringbookName图书书名Stringauthor图书作者Stringpublisher图书出版社Stringprice图书单价Doubleabstracts图书摘要Stringcatelog图书分类Stringstatus图书状态String“图书管理系统”分析设计报告(实例)类方法:方法名方法功能返回值类型savaBook添加图书信息voiddeleteBook删除图书信息voidupdateBook修改图书信息voidgetBook根据id查找某本图书的详细信息getBooks查询图书信息List“图书管理系统”分析设计报告(实例)2.2读者类描述类名:Reader类属性:属性名属性解释数据类型readerId读者证号StringreaderName读者姓名Stringaddress读者联系地址Stringphone读者电话号码Stringemail读者电子邮件String“图书管理系统”分析设计报告(实例)类方法:方法名方法功能返回值类型savaReader添加读者信息voiddeleteReader删除读者信息voidupdateReader修改读者信息voidgetReader根据id查找某个读者的详细信息getReaders查询读者信息List“图书管理系统”分析设计报告(实例)2.3借阅记录类描述类名:Record类属性:属性名属性解释数据类型bookId图书编号StringreaderId读者证号StringborrowDate借阅日期Date“图书管理系统”分析设计报告(实例)类方法:方法名方法功能返回值类型savaRecord添加借书记录voiddeleteRecord删除借书记录voidgetRecords查询借书记录ListisExpired是否过期booleanborrowBook借书voidreturnBook还书void“图书管理系统”分析设计报告(实例)2.4帐号类描述类名:Account类属性:属性名属性解释数据类型username用户名Stringpassword密码Stringtype用户类型String“图书管理系统”分析设计报告(实例)类方法:方法名方法功能返回值类型savaAccount添加帐号voiddeleteAccount删除帐号voidupdateAccount修改帐号voidisAccount判断是否是合法用户booleangetAccounts查询帐号信息List“图书管理系统”分析设计报告(实例)3.提供交互界面的3.1对图书信息操作的界面类添加图书页面;查询图书记录的列表显示;显示图书详细信息;图书信息更新页面;图书信息查询页面“图书管理系统”分析设计报告(实例)3.2对读者信息操作的界面类添加读者页面;多条读者记录的列表显示;显示读者详细信息;读者信息更新页面;读者信息查询页面“图书管理系统”分析设计报告(实例)3.3对借阅记录信息操作的界面类添加借阅记录页面;查询借阅记录结果的列表显示;借阅记录信息查询页面还书页面“图书管理系统”分析设计报告(实例)3.4对帐号信息操作的界面类添加帐号页面;查询帐号记录结果的列表显示;帐号信息更新页面;帐号信息查询页面“图书管理系统”分析设计报告(实例)4建立动态模型由于借书和还书的过程是本系统中较重要而且较复杂的流程,因此在这里列出它们的时序图。“图书管理系统”分析设计报告(实例)4.1借书借书时序图如图4.2。:读者:图书管理员record_save.jsp:Record:Book:Reader1.递交图书和借阅证2.输入读者证号和图书编号8.将书和借阅证递还读者3.调用borrowBook()4.调用getBook()5.调用getReader()7.返回借书页面6.调用saveRecord()图4.2借书时序图“图书管理系统”分析设计报告(实例)4.2还书还书时序图如图4.3::读者:图书管理员record_delete.jsp:Record1.递交待还的图书2.输入图书编号3.调用returnBook()8.将书和借阅证递还读者4.调用getRecord()5.调用isExpired()7.返回到还书页面6.调用deleteRecord()图4.3还书时序图“图书管理系统”分析设计报告(实例)5数据库设计5.1图书表:表名:book字段名字段含义数据类型是否允许空是否主键id图书的自然主键intbookId图书编号varchar(20)bookName图书书名varchar(20)author图书作者varchar(20)publisher图书出版社varchar(50)price图书单价doubleabstracts图书摘要varchar(500)catelog图书分类varchar(20)status图书状态char(1)“图书管理系统”分析设计报告(实例)5.2读者表表名:reader属性名属性解释数据类型是否允许空是否主键id读者的自然主键intreaderId读者证号varchar(20)readerName读者姓名varchar(20)address读者联系地址varchar(100)phone读者电话号码varchar(20)email读者电子邮件varchar(40)“图书管理系统”分析设计报告(实例)5.3借阅记录表表名:record属性名属性解释数据类型是否允许空是否主键id借阅记录的自然主键intbookId图书编号varchar(20)readerId读者证号varchar(20)borrowDate借阅日期Date“图书管理系统”分析设计报告(实例)5.4帐号表表名:account属性名属性解释数据类型是否允许空是否主键id帐号的自然主键intusername用户名varchar(20)password密码varchar(20)type用户类型char(1)“图书管理系统”分析设计报告(实例)6.用户界面设计采用图形用户界面。6.1系统登陆界面“图书管理系统”分析设计报告(实例)输入正确的用户名和密码,选择“图书管理员”,跳转到操作主页面“图书管理系统”分析设计报告(实例)6.2图书信息界面1.添加图书选择“图书维护”菜单中的“添加图书”菜单,出现如下的添加页面,如图:输入信息后,点击“添加”;“图书管理系统”分析设计报告(实例)2.查询图书选择“图书维护”菜单中的“查询图书”菜单,出现如下的添加页面,如图:“图书管理系统”分析设计报告(实例)输入查询条件后,点击“查询”按钮,出现查询结果,如下图所示:“图书管理系统”分析设计报告(实例)3.删除图书在图4.8中选择要删除的记录,点击删除按钮,进行删除;4.修改图书在图4.8中选择要修改的图书记录,点击更新按钮,出现更新页面,如图所示:在更新页面中,编辑要修改的信息,点击保存按钮。“图书管理系统”分析设计报告(实例)6.3读者信息界面(大致与图书信息的操作类似,故省略)“图书管理系统”分析设计报告(实例)6.4图书流通操作1.借书选择“图书流通”菜单中的“借书”菜单,出现如下的添加页面:输入借阅信息后,点击借书按钮;“图书管理系统”分析设计报告(实例)2.还书选择“图书流通”菜单中的“还书”菜单,出现如下的还书页面输入借阅信息后,点击还书按钮;
本文标题:第4章-系统分析与设计概要
链接地址:https://www.777doc.com/doc-3965309 .html