软件工程系统设计一、实验目的掌握软件体系结构模型;掌握使用过程设计工具描述模块的数据结构和算法;了解人机界面设计;掌握概要设计说明书和详细设计说明书的撰写二、实验原理—概要设计⑴软件概要设计的基本要点基本目的是用比较抽象概括的方式确定系统如何完成预定的任务,确定系统的物理配置方案,确定系统的结构。⑵系统分析与设计的关系系统分析的基本任务是定义用户所需要的软件任务,也就是回答系统必须“做什么”这个问题。系统设计的基本任务是设计实现目标系统的具体方案,也就是回答“怎样做”这个问题。二、实验原理—详细设计⑴软件详细设计的基本要点关键任务是确定怎样具体地实现用户需要的软件系统。除了保证软件可靠性之外,使程序可读性好、容易理解、容易测试、容易修改和维护。结构化程序设计技术是实现上述目标的基本保证,是进行详细设计的逻辑基础。人机界面设计是接口设计的一个重要组成部分。在设计人机界面的过程中,必须充分重视并认真处理好系统响应时间、用户帮助设施、出错信息处理和命令交互等4个设计问题。过程设计在数据设计、体系结构设计和接口设计完成之后进行,任务是设计算法。过程设计的工具可分为图形、表格和语言3类,应根据需要选用适当的工具。⑵人机界面设计人机界面的设计质量,直接影响用户对软件产品的评价。人机界面设计是接口设计的一个重要的组成部分。对于交互式系统来说,人机界面设计和数据设计、体系结构设计及过程设计一样重要。使用基于原型的系统化的设计策略,是成功地设计人机界面的关键。用户界面设计是一个迭代的过程,也就是说,通常先创建设计模型,再用原型实现这个设计模型,并由用户试用和评估,然后根据用户意见进行修改,直到用户满意为止。⑶过程设计过程设计的任务是要设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。过程设计的结果基本上决定了最终的程序代码的质量。衡量程序的质量不仅要看它的逻辑是否正确,性能是否满足要求,更主要的是要看它是否容易阅读和理解。过程设计的目标不仅仅是正确实现每个模块的功能,更重要的是尽可能简明易懂。结构程序设计技术是实现上述目标的关键技术。⑷过程设计工具描述程序处理过程的工具称为过程设计工具,它们可以分为图形、表格和语言三类。不论是哪类工具,对它们的基本要求都是要提供对设计的无歧义的描述,也就是应该指明控制流程、处理功能、数据组织以及其他方面的实现细节,从而在编码阶段能把对设计的描述直接翻译成程序代码。这类工具应该尽可能直观、易学、易懂。三、实验内容与步骤软件体系结构模型模块过程设计与界面设计撰写系统设计说明书图书馆管理系统C.概要设计说明书一、引言1.1编写目的为完善图书管理系统软件的开发途径及应用方法,以提高开发效率,使应用更为方便。根据《需求规格说明书》,在仔细考虑讨论之后,我们又进一步对《图书管理系统》软件的功能划分、数据结构、软件总体结构有了进一步的认识。我们把讨论的结果记录下来,作为概要设计说明书,并作为进一步详细设计软件的基础。1.2背景说明:a.待开发软件系统的名称:图书管理系统b.列出此项目的任务提出者是本小组成员,开发者也为本小组成员、用户是学校图书馆。1.3定义开发(develop):除了单纯的开发活动外,还包括维护活动。项目(project):向顾客交付的最终的全部产品,包括程序及各种文档,以及开发活动所需资源经费等各种信息。项目开发计划(projectdevelopmentplan):把项目与过程联系起来的计划方案。产品生命周期(productlifecycle):产品从构思到不可在使用的持续时间。1.4参考资料《软件工程导论》——张海藩编著清华大学出版社《数据库系统概论》——萨师煊王珊编著高等教育出版社《VisualBasic数据库系统开发实例导航(第二版)》——刘韬骆娟何旭洪编著人民邮电出版社《C#程序设计教程》——曾强聪编著中国水利水电出版社二总体设计2.1需求规定主要输入输出项目:图书信息:(图书编号、图书名称、图书ISBN号、作者、出版社、类型、价格、库存量、副本总量、图书总数)学生信息:(学生编号、学生姓名、性别、入校时间、毕业时间)借书登记:(借书编号、学生编号、结束时间、归还时间、是否归还)还书登记:(图书编号、图书名称、归还时间、作者、出版社、2.2运行环境硬件环境:PC机配置:奔腾133、内存1GB以上PC机,内存要求不得低于1GB,硬盘大于20G的PC台式机和便携式电脑;软件环境:Windows2000\XPSQLServer2000C#2.3基本设计概念和处理流程该系统的主程序流程图如下图所示:开始用户是否合法显示主界面选择操作学生管理图书管理借阅管理归还管理YesNo结束用户注销2.4功能需求与程序的关系本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:创建查找修改删除图书信息管理(管理员)√√√√学生信息管理(管理员)√√√√学生信息查询(学生)√查询图书信息(学生)√归还图书(管理员)√√√√借阅图书(管理员)√√√√2.5人工处理过程管理员登录:图书管理员需要手动输入登录信息验证身份登录系统后方能进行操作。图书入库:对于新购图书,管理员需要手动对其进行分类进行编号,并把图书基本信息录入计算机。修改图书信息:学生借阅图书时,管理员需要对该图书进行登记,记录被借阅图书信息和学生信息。当学生归还图书时,同样需要对图书信息进行修改。三接口设计3.1用户接口向用户提供命令软件回答对应信息操作员登记添加用户学生登记添加学生信息学生查询学生信息查询图书登记管理员登记图书信息借阅登记管理员登记学生的借阅信息借阅查询管理员查询学生的借阅情况3.2外部接口接口传递信息软件接口:与数据库接口图书信息学生信息3.3内部接口接口传递信息图书信息管理录入图书信息:(图书编号、图书名称、图书ISBN号、作者、出版社、类型、价格、库存量、副本总量、图书总数)图书信息管理修改图书信息:(图书编号、图书名称、图书ISBN号、作者、出版社、类型、价格、库存量、副本总量、图书总数)学生信息管理添加学生信息:(学生编号、学生姓名、性别、入校时间、毕业时间)学生信息管理修改学生信息:(学生编号、学生姓名、性别、入校时间、毕业时间)借书登记登记借阅图书以及学生信息借书登记:(借书编号、学生编号、结束时间、归还时间、是否归还)还书登记修改借书登记的信息还书登记:(图书编号、图书名称、归还时间、作者、出版社、)四运行设计4.1运行模块组合对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,以及每种运行所历经的内部模块和支持软件。4.2运行控制运行控制控制方法学生信息管理管理员对学生信心进行管理,包括增加学生用户,修改用户信息,以及删除学生信息学生信息查询用户可以对学生的信息进行查询图书信息登记录入新的图书信息,以及对已有图书的各项信息进行修改,查询,删除等图书信息查询用户对所要借阅的图书信息进行查询借阅登记管理员登记学生所借图书以及学生本人的信息借阅查询管理员对学生或者所对应图书的信息进行查询4.3运行时间检索任务所需时间:3秒执行任务所需时间:3秒五系统数据结构设计5.1逻辑结构设计要点1.图书信息表(tBook),其字段列表如表5-1-1所示。表5-1-1图书信息表的结构序号字段名称字段说明类型位数属性备注1cBooksID图书编号文本7必须非空2cBooksName图书名称文本20必须非空3cBooksISBN图书ISBN号文本15可为空4cBooksAuthor图书作者文本10可为空5cBooksPublisher图书出版社文本20可为空6cBooksType图书类型文本16可为空7smBooksPrice图书价格货币可为空8iBooksStoreQuan图书库存量整数可为空9iBooksLeftQuant图书副本数量整数可为空10iBooksTotalQuan图书总数整数可为空2.图书借阅登记表(tBorrow),其字段列表如表5-1-2所示。表5-1-2图书借阅登记表的结构序号字段名称字段说明类型位数属性备注1cBorrowID借书编号文本6必须非空2cVipID学生编号文本6必须非空3cBooksID图书编号文本7必须非空4cBorrwTime借书时间时间日期可为空5cReturnTime还书时间时间日期可为空6cReturn是否归还文本1可为空3.图书归还登记表(tReturn),其字段列表如表5-1-3所示。表5-1-3图书归还登记表的结构序号字段名称字段说明类型位数属性备注1cBorrowID借书编号文本6必须非空2cVipID学生编号文本6必须非空3cBooksID图书编号文本7必须非空4cBorrwTime借书时间时间日期可为空5cReturnTime还书时间时间日期必须非空6cReturn是否归还文本1必须非空7cNoReturn归还异常文本8可为空4.学生信息表(tVip),其字段列表如表5-1-4所示。表5-1-4学生信息表的结构序号字段名称字段说明类型位数属性备注1cVipID学生编号文本6必须非空2cVipName学生姓名文本10必须非空4cVipSex学生性别文本1可为空5vipAddTime学生入学时间时间日期必须非空6vipEndTime学生毕业时间时间日期必须非空5.管理员信息表(tOperators),其字段列表如表5-1-5所示。表5-1-5管理员信息表的结构序号字段名称字段说明类型位数属性备注1cOperatorID管理员编号文本5必须非空2cOperatorName管理员姓名文本10必须非空3cOperatorPassword密码文本6必须非空4cOperatorAddTime管理员加入时间时间日期10必须非空5.2数据结构与程序的关系主模块:连接数据库学生管理模块:学生信息管理模块:管理员输入帐号密码进入系统后可以对学生信息进行管理,包括修改,插入,删除等。学生信息查询模块:管理员可以对学生信息进行查询,学生输入学生的账号密码后,成功登陆后,学生可以对其信息进行查询,输入学生编号后,对应输出学生姓名,性别,入校时间,毕业时间等。图书管理模块:图书信息登记模块:管理员对图书信息进行登记,输入相应的图书信息,如图书书名,作者,出版社。单价等信息。图书信息查询模块:学生和管理员都可以进行此操作,通过查询数据库,匹配要查找的图书信息,包括读入图书号,图书作者,图书出版社,图书单价等基本信息。借阅管理模块:借阅登记模块:管理员对图书的借阅情况进行登记,记录借书者的学生编号,学生姓名等学生信息以及图书编号,图书名称,作者,出版社等图书信息,并修改图书状态。借阅查询模块:管理员和学生都可以对图书的借阅情况进行查询,输入读者号,对应输出学生姓名,性别,入校时间,毕业时间。输入图书号,对应输出图书书名,图书作者,图书出版社,图书单价,图书状态。归还管理模块:读入图书编号,对应输出借书记录表中的学生编号,借书时间,应归还时间等,修改图书状态,删除借书记录表中的学生编号,图书编号,借书时间等信息。六系统出错处理设计6.1出错信息出错的位置出错的原因提示信息用户名输入数据库中不存在的用户名Youareanotsystemuser用户名密码输入的密码不正确Passworderoor,pleasecheckyourpasswprd添加用户输入已存在的用户信息用户已存在添加信息添加信息必填信息不完整信息必须完整普通用户操作权限使用管理员的你没有该权限出错信息处理:学生或管理人员输入的帐号和密码不匹配或输入不存在的帐号,系统应友好进行提示,如提示"您输入的帐号或密码错误,请重新输入!"6.2补救措施故障出现后可能采取的变通措施,包括:a.后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;b.降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的