软件工程项目文档_第1页
软件工程项目文档_第2页
软件工程项目文档_第3页
软件工程项目文档_第4页
软件工程项目文档_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程详细设计说明书题 目 爱阅读图书管理系统 学 院 信息科学与技术学院 专 业 计算机科学与技术 组长: 王忠将 学号:201110411322 班级:3 组员: 王忠将 学号:201110411322 班级:3 胡峥 学号:201110411326 班级:3 陈琦 学号:201110411317 班级:3 李春艳 学号:201110411312 班级:3 任课教师 段林涛 2014 年 6 月 13 日目录绪 论3第一章 需求分析41.1需求陈述41.2程序系统的结构51.3程序设计说明5第二章 程序流程图62.1流程逻辑6第三章 项目团队组织架构及分工93.1小组组织结构93.2小组

2、成员及分工安排表9第四章 项目计划104.1项目生命周期104.2项目开发过程阶段划分104.3关键问题10第五章 项目技术路线115.1 Visio115.2 Eclipse115.3 MySQL115.4 JSP12第六章 项目技术136.1算法136.2接口146.3存储分配146.4限制条件15第七章 系统调试与测试157.1 程序调试157.2 程序的测试15第八章 开发环境178.1硬件环境178.2软件环境17第九章 运行环境与部署179.1设备179.2支持软件17第十章 总结18绪 论 软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的

3、学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作和生活效率。软件工程的内涵:一、软件工程过程是指为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动,包括以下四个方面:1、P(Plan)软件规格说明。规定软件的功能及其运行时的限制。2、D(DO)软件开发。开发出满足规格说明的软件。3、C(Check)软

4、件确认。确认开发的软件能够满足用户的需求。4、A(Action)软件演进。软件在运行过程中不断改进以满足客户新的需求。二、从软件开发的观点看,它就是使用适当的资源(包括人员,软硬件资源,时间等),为开发软件进行的一组开发活动,在活动结束时输入(即用户的需求)转化为输出(最终符合用户需求的软件产品)。三个阶段:定义阶段:可行性研究初步项目计划、需求分析;开发阶段:概要设计、详细设计、实现、测试;运行和维护阶段:运行、维护、废弃原则:1、抽象;2、信息隐蔽;3、模块化;4、局部化;5、确定性;6,一致性;7、完备性;8、可验证性软件工程的基本内容: 软件工程原理、软件工程过程、软件工程方法、软件工

5、程模型、软件工程管理、软件工程度量、软件工程环境、软件工程应用此次项目主要是根据软件工程这门课程的特点,结合课程的内容,以课程知识指导课程实践,做到理论与实际相结合,设计并实现一个图书管理系统。第一章 需求分析1.1需求陈述在图书管理系统中,管理员为每个读者建立一个账户,账户内存储读者个人的详细信息,并依据读者类别的不同给每个读者发放借书卡(提供借书卡号、姓名、部门或班级等信息)。读者可以凭借书卡在图书馆进行图书的借、还、续借、查询等操作,不同类别的读者在借书限额、还书期限以及可续借的次数上要有所不同。 借阅图书时,由管理员录入借书卡号,系统首先验证该卡号的有效性,若无效,则提示无效

6、的原因;若有效,则显示卡号、姓名、借书限额、已借数量、可再借数量等信息,本次实际借书的数量不能超出可再借数量的值。完成借书操作的同时要修改相应图书信息的状态、读者信息中的已借数量、在借阅信息中添加相应的记录。 归还图书时,由管理员录入借书卡号和待归还的图书编号,显示借书卡号、读者姓名、读书编号、读书名称、借书日期、应还日期等信息,并自动计算是否超期以及超期的罚款金额,若进行续借则取消超期和罚款等信息;若图书有损坏,由管理员根据实际情况从系统中选择相应的损坏等级,系统自动计算损坏赔偿金额。完成归还操作的同时,修改相应图书信息的状态、修改读者信息中的已借数量、在借书信息中对相应的借书记录

7、做标记、在还书信息中添加相应的记录。 图书管理员不定期地对图书信息进行添加、修改和删除等操作,在图书尚未归还的情况下不能对图书信息进行删除。也可以对读者信息进行添加、修改、删除等操作,在读者还有未归还的图书的情况下不能进行删除读者信息。 系统管理员主要进行图书管理员权限的设置、读者类别信息的设置、图书类别的设置以及罚款和赔偿标准的设置、数据备份和数据恢复等处理。1.2程序系统的结构1.3程序设计说明我们用两层体系结构作为图书馆管理信息系统软件解决方案的核心,将系统的操作人员划分为两类:读者,系统管理员 依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要

8、求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。具体来说就是把经过总体设计得到的各个模块详细的加以描述。1.3.1程序描述给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如 是常驻内存还是非常驻?是否子程序?是可重人的还是不可重人的?有无覆盖要求?是顺序处理还是并发处理等)。1.3.2功能1.3.2.1 用户登记即输入读者的具体信息。1.3.2.2 新书信息即输入新书的全部信息。1.3.3性能1.3.3.1 精度需求在精度需求上,根据使用需要,在各项数据的输入

9、,输出及传输过程中,可以满足各种精度的需求。 1.3.3.2 时间需求在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。 1.3.3.3 灵活性当用户需求,如操作方式,运行环境,结果精度,数据结构于其他软件接口 等发生变化时,设计的软件要做适当调整,灵活性非常大。 1.3.3.4故障处理a. 内部故障处理:在开发阶段可以随即修改数据库里的相应内容。 b. 外部故障处理:对编辑的程序进行重装载时,第一次装载认为错,修改。第二次运行,在需 求调用时出错,有错误提示,重试。 说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。1.3.4输入项主模块输出项目:用户界面显示

10、。 学生管理模块输出项目:操作结果显示。 图书管理模块输出项目:相应的界面。 借阅管理模块输出项目:学生信息、相关借书信息。 归还管理模块输出项目:相关学生信息。 第二章 程序流程图2.1流程逻辑2.1.1登陆流程图如图所示:2.1.2图书查询流程图如图所示:2.1.3增加图书流程图如图所示:2.1.4图上借阅流程图如图所示:第三章 项目团队组织架构及分工3.1小组组织结构组长王忠将组员胡峥陈琦李春艳3.2小组成员及分工安排表组员姓名组员任务王忠将设计数据库,编写服务器脚本语言胡峥产品设计,文档撰写,网站的测试陈琦文案,书籍信息,数据库录入李春艳Web前端开发,ui设计第四章 项目计划4.1项

11、目生命周期在实验过程中本组是多个任务同时进行,最终完成图书管理系统的开发。4.2项目开发过程阶段划分任务名称工期开始时间完成时间需求分析21个工作日2014年3月4日2014年3月15日概要设计14个工作日2014年3月24日2014年4月6日详细设计21个工作日2014年4月7日2014年4月27日代码编写14个工作日2014年4月28日2014年5月10日UML图制作14个工作日2014年5月11日2014年5月24日4.3关键问题逐项列出能够影响整个项目成败的关键问题、技术难点和风险,指出这些问题对项目的影响。并根据项目情况,对项目风险进行排序,在下表中列出项目的前3个风险,并给出解决方

12、案。风险排序风险名称风险描述风险缓解方案1缺乏开发经验技术风险多问指导老师2对Java语言掌握不扎实技术风险通过资料和学习课件3时间安排不够合理进度风险对开发进度进行实时监控进行调整第五章 项目技术路线5.1 VisioMicrosoft Office Visio 2003 是一款商用和科技图表制作程序,该程序帮助我们以图表的形式诠释您的想法、过程、系统以及数字。 Visio 2003 能够协助我们分析和传递信息,使我们可以更好的进行决策。5.2 Eclipsemyeclipse5.5是JSP集成开发环境,是目前最流行的 Windows 平台应用程序。使用myeclipse

13、5.5, 专业开发人员能够:使用改进后的可视化设计工具、编程语言和代码编辑器,享受高效率的开发环境 ,在统一的开发环境中开发并调试多层次的服务器应用程序 使用集成的可视化数据库设计和报告工具,创建MySQL解决方案 4.4.2  数据库的选择 。5.3 MySQLMySQL,是一个关系型数据库管理系统,其特点如下: 1使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。2支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、

14、Solaris、Windows等多种操作系统。3为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4支持多线程,充分利用CPU资源。5优化的SQL查询算法,有效地提高查询速度。6既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。7提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。8提供TCP/IP、ODBC和JDBC等多种数据库连接途径。9提供用于管理、检查、优化数据库操作的管理工具。10支持大型的数据库

15、。可以处理拥有上千万条记录的大型数据库。11支持多种存储引擎。12.Mysql是开源的,所以你不需要支付额外的费用。13.MySQL使用标准的SQL数据语言形式。14.Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。15.Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。5.4 JSPJSP是由Sun微系统公司于1999年6月推出的一项技术,是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。JSP技术在多个方面加速了动态Web页面的开发。 JSP具有如下优点:

16、60;(1) 开放的技术:JSP技术基于平台和服务器的相互独立,技术支持来自广泛的、专门的、各种工具包,有服务器的组件和数据库产品开发商提供。相比之下,ASP技术主要依赖MICROSOFT支持。 (2) 平台和服务器的独立性:JSP编写的代码可运行在任何符合JAVA语法结构的环境中。这样JSP就能够运行在多种WEB服务器上并支持来自多家开发商提供的各种工具包。 (3) 开放的开发过程,开放的源码:自1995年以来,SUN用开放过程方法同国际JAVA组织合作开发和修改JAVA技术和规范。 (4) JSP标记可扩充性:JSP技术

17、能够为开发者扩展JSP标记,充分利用与XML兼容的标记技术强大的功能,大大减少对脚本语言的依赖。 (5)JSP跨平台的可重用性:JSP组件(EJB,JavaBean或定制的JSP标记)都是跨平台可重用的。第六章 项目技术196.1算法6.1.1登录算法begin if 输入帐号和密码、身份 不为空 then begin 查询人员表; end else 提示人员编号和人员密码、身份不能为空,返回;if 查询结果为空 then begin 提示出错信息,返回重新登陆; end else 根据不同的身份进入相应的主界面; end。6.1.2图书查询算法begin select 图书资料 f

18、rom 图书信息表 where 条件 like 关键字; if 信息匹配 then begin 返回查询到的图书信息; end else 返回空值; end。 6.1.3增加图书算法begin select 最大图书编号 from 图书信息表; 新图书编号=最大图书编号+1; 输入新增的图书的信息; if 信息不全 then begin 提示XX不能为空,返回; end; 确定添加? if 确定 then begin insert into 图书信息表 values(新图书编号,输入的信息); 返回结果; end else 返回输入信息; end。6.1.4图书借阅算法 begin 输入读者编

19、号; select 状态 from 读者表 where 读者编号=输入的读者编号; if 状态=停借 then begin 提示读者欠费不能借书,返回; end else begin 输入图书编号; end 确定? if 确定 then begin insert into 借阅表 values (读者,图书信息); end else 输入到读者编号; end6.2接口6.2.1外部接口按Windows应用软件用户界面的规范来设计,使用以对话框为主的用户界面,便于用户使用。 6.2.2内部接口模块间接口采用数据耦合方式,通过参数表传送数据,交换信息。6.2.3用户接口本产品的用户一般需要通过终端

20、进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:输入界面、输出界面)。用户对程序的维护,最好要 有备份。6.3存储分配6.3.1借书模块内部数据: 数据库 m_pConnection _ConnectionPtr 数据库连接指针 用户界面 m_strReaderName CString 读者姓名 m_strLBInf CString 已借图书信息 m_strLBNum  CString   已借图书数显示       m_lBookID  

21、long    欲借图书书号     内部参数  m_lReaderID  long   当前读者证号       m_MaxLBNum  int    可借图书数上限6.3.2 还书模块 内部变量:数据库 m_pConnection _ConnectionPtr 数据库连接指针 m_pRecords _Records

22、etPtr 数据库查询结果集针 用户界面 m_lBookID long 欲还图书书号 m_strLenderID CString 借阅者图书证号显示 m_strLender CString 借阅者姓名 m_strRBInf CString 已还图书信息显示 m_strNRBInf CString 未还图书信息显示 m_strRBNum CString 已还图书数显示 m_strNRBNum CString 未还图书数显示 内部参数 m_lCurrID long 当前还书者读者证号 m_intRBNum int 已还图书计数 m_MaxLBDay int 借书天数上限6.4限制条件6.4.1技术

23、约束  本项目的设计是在汉语程序设计语言的条件下进行的,技术设计采用软硬一 体化的设计方法。  6.4.2 环境约束   运行该软件所适用的具体设备必须是奔腾133、内存16兆以上的计算机; 6.4.3 标准约束  该软件的开发完全按照企业标准开发,包括硬件、软件和文档规格 6.4.4硬件限制  奔腾133 、内存16兆以上PC机满足输入端条件。第七章 系统调试与测试7.1 程序调试 在设计系统的过程中,存

24、在一些错误是必然的,测试计划使用BUGFREE软件进行测试。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。 7.2 程序的测试7.2.1 测试的重要性及目的(1)测试的重要性 软件的测试在软件生命周期中占据重要的地位,在软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不

25、在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。  在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括:    认为测试工作不如设计和编码那样容易取得进展难以给测试人员某种成就感;   以发现软件错误为目标的测试是非建设性的,甚至是破坏性的。 测试工作枯燥无味,不能引起人们的兴趣; 测试工作是艰苦而细致的工作;   对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。这些观点对软件测试工作是极为不

26、利的,必须澄清认识、端正态度,才可能提高软件产品的质量。  (2)测试的目的 如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。  l 软件测试是为了发现错误而执行程序的过程; l 测试是为了证明程序有错,而不是证明程序无错误;  l 一个好的测试用例是在于它能发现至今未发现的错误;  l 一个成功的测试是发现了至今未发现的错误的测试。  7.2.2 测试的步骤与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。测试基本上由下述几个步骤组成: 1. 模块测试 在这个测试步骤中所发现的往往是编码和详细设计的错误。 2. 系统测试 在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。 3. 

温馨提示

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

评论

0/150

提交评论