《软件设计指导书资料(共9页).doc》由会员分享,可在线阅读,更多相关《软件设计指导书资料(共9页).doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上软件设计指导书第 三 版主编:何丽萍 南京邮电大学教育科学与技术学院2011 年 6 月一、设计要求及进度安排1、设计目的提高学生运用软件技术解决实际问题的能力;进一步掌握应用程序开发的过程;提高系统分析与设计的能力和编程能力。2、设计要求认真复习在设计中要用到的原理与技术;考察相关的应用,掌握应用的一般需求;认真分析与设计,提交设计报告;编程实现,进行测试后交付可以运行的软件及相应的设计报告。3、设计过程在开始具体的软件设计前,学生需要作些准备工作,对设计中涉及的原理和技术进行全面的复习,同时学习其他相关知识,以便使软件设计能够更好地在理论联系实际的指导原则下进行,
2、达到本课程的目的。为完成这次设计,学生应该掌握以下知识:l Visual Basic、VC+、C、Delphi等等编程语言;l HTML语言及网页编辑软件、ASP(或PHP二者选一)程序设计方法(包括VBScript或PHP),提倡同学自学动态网页制作的其他技术,如JSP、ASPX、COM及COM+等,并利用这些技术完成设计;l 连接和访问数据库的方法,数据库可采用Microsoft SQL Server、Oracle、Access等。如果严格按照软件工程中软件生命周期的划分,软件开发过程划分为三个时期,每个时期又分为若干个阶段,总共七个阶段。而常用的软件开发方法,经过适当的简化,将软件开发过
3、程划分为分析、设计、实现和维护四个阶段。虽然软件设计课程中的题目的远不如实际问题中的复杂程度高,只是对系统的模拟,但为了训练大家综合掌握软件工作规范,培养一个软件工作者所应具备的科学严谨的工作方法和作风,应遵循以下四个步骤来完成实验题目:(1)选题及需求分析在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么?限制条件是什么。本步骤的焦点是 “做什么(what)” ,不是 “怎样做(how)”。对问题的描述应避开算法和所涉及的数据类型,而是对所需完成的任务做出明确的回答。设计题目原则上由学生自己选择感兴趣的应用领域进行设计,可以参考指导书的第三部分的方向选题。学生选题所涉及的内容、
4、规模及要达到的效果应该和指导教师进行协商后确定。在规模方面,每位学生应完成23种交互功能,或包含脚本的页面有48个。功能在原则上应尽可能多样化,包括有查询、更新等多种操作。具体体现在“可行性分析”和“需求规格说明书”这两个文档中。在选题过程中,应尽自己所能对题目所涉及的问题进行调研,力争在指导题目的要求基础上,设计出更加符合实际、具有个性的应用系统。根据选题,上网查找相同或相似网站,通过浏览掌握该应用的一般需求是完成调研的一种方法,可以借鉴和模仿已有系统的要求完成应用。在图书馆查阅期刊中的相关文章以获得启发,也是调研的一种方法。还可以在有条件的情况下,深入到用户单位获得应用要求的第一手资料。在
5、必要的时候,需要自学一些相关的领域知识,如电子商务的一般知识,以使设计更加科学、合理。总之,需要调用一切可以利用的资源做好调研,在设计之前,将系统的需求使系统开发的目标更加明确、合理。鼓励几个在同一范围内选题的同学在开发中自发形成小组,相互合作、整体规划、合理分工,并将结果通过一个统一的界面组成一个完整的应用系统。小组成员不得超过3人,小组成员及分工要在选题时确定,并经指导教师同意。(2)概要设计和详细设计设计这一步骤又分概要设计和详细设计两步实现。概要设计确定软件的结构以及各组成成分(子系统或模块)之间的相互关系;详细设计则为每个模块确定采用的算法,确定每一模块使用的数据结构,以及确定模块接
6、口的细节。 在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。作为概要设计的结果,应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并利用SC图、层次图等工具画出模块之间的调用关系图。详细设计的结果是对数据结构和基本操作做出进一步的求精,写出数据存储结构的类型定义。用流程图、N-S图(盒图)、伪代码、PDL语言或问题分析图(PAD)等描述程序处理过程。在求精的过程中,应尽量避免陷入语言细节,不必过早表述辅助数据结构和局部变量。根据上述要求,在确定开发题目
7、后,学生应该完成调研,并确定设计内容、设计方法和设计进度。更为基础的是,要确定软件的体系结构和全局的数据结构。在本次设计中,软件的体系结构体现为各模块和页面之间的交互关系。前期设计报告是在完成以上工作后的总结,也是进一步展开后续工作的依据。软件工程的思想是软件开发需要在严格的步骤控制下完成,其中分析、设计与编码分阶段实施是关键所在。通过书写设计报告,培养大家先设计后编程的良好习惯。(3)编码、调试与测试编码是把详细设计的结果进一步求精为程序设计语言程序。对设计阶段进行过严格仔细的复核后,开始具体的编程,建立数据库,调试完成程序。程序与数据库结构要按设计的结果实施。在程序设计完成后,利用设计报告
8、中提交的测试用例(包括期望结果)完成测试,要求运行结果与期望结果一致。调试程序时最好分模块进行,自底向上,即先调试低层函数。在调试过程中可以不断借助DEBUG的各种功能,提高调试效率。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果。在条件允许的情况下,同学可以利用其他平台完成设计。(4)总结和整理软件设计报告所有设计完成后,完善软件设计报告并上交指导教师。软件设计报告是对设计过程和结果的总结,需要按格式要求完成。4、验收及评分标准验收内容包括平时成绩、软件设计报告以及程序运行情况三个部分,最后成绩以等级评价,分优、良、中、及格、不及格五个等级给出。各部分所占比例为:平
9、时成绩(10%)、软件设计报告(40%)、上机面测(50%)。平时成绩依据出勤情况,学习态度等考核;软件设计报告依据报告提交是否及时,报告格式是否规范,文字、图表是否清晰易读等评分;上机面测依据遵照测试报告进行操作,源程序是否编译无误,遵照使用说明进行操作,软件运行效果是否达到设计要求这两个方面来评分。最终完整的软件设计报告要求以A4幅面的纸张打印后装订成册后,以书面形式提交,可运行的软件及其源代码以电子的形式提交。5、进度安排软件设计为期两周(八天),每天四个学时。第一周结束时进行中期检查;第二周最后两天验收程序。二、软件设计报告(文档)规范软件设计报告分以下几部分,具体书写时可参考软件工程
10、课程中提供的指南,尽量做到完整、合理、概念描述准确。(1)封面包括题目、姓名、学号、班级完成日期等信息,请大家用提供的标准模板;(2)需求分析的文档明确陈述说明程序设计的任务,强调的是程序要做什么。如果采用结构化分析方法或是信息建模方法,则分析报告(需求规格说明书)应该包括:数据流图、数据字典、状态转换图和实体-联系图(E-R图)。如果使用面向对象软件工程方法,则分析报告要求为:问题陈述:记录对问题空间的初步描述;对象模型:含有对象类别的对象图,类包含属性和操作,类按照层次排列;动态模型:含有状态迁移图;功能模型:含有数据流图。(3)设计阶段的文档采用结构化设计方法分为概要设计和详细设计两个阶
11、段,概要设计说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。详细设计确定如何具体实现概要设计中定义的目标系统。设计报告应包括:功能模块的划分和模块的层次结构图、主要数据结构图、控制流程图、处理过程描述。使用面向对象软件工程方法则需要给出:系统设计文档。包括系统基本的体系结构和高层决策策略,如将系统分解成各子系统;根据数据结构、文件和数据库来选择实现数据存贮的基本策略;确定全局资源和指定控制资源访问的机制;选择实现软件控制的方法等等;对象设计文档。包括细化的对象模型、细化的动态模型和细化的功能模型。采用信息建模方法包括三个设计步骤的要求:概念设计:确定
12、实体、属性、码属性、属性间的依赖关系、实体间的联系,画出实体-联系图(E-R图),完成视图设计和视图合并,集成为一个整体的数据概念结构;逻辑设计:根据数据库的概念结构和DBMS特征,导出数据库的逻辑结构。即把概念模型转换为某个DBMS所支持的数据模型(层次、网状、关系)上的结构表示,称为逻辑模式;物理设计:包括存储记录格式、索引定义和记录聚类和划分等。要求在上述步骤中运用规范化理论解决好关系模式设计中的依赖问题。(4)实现阶段的文档内容包括:开发环境说明所使用的操作系统、数据库管理系统、开发工具等;源代码结构说明。调试过程中遇到的问题是如何解决的以及对设计与实现的讨论和分析;算法的时间复杂性(
13、包括基本操作和其他算法的时间复杂性的分析)和改进设想。(5)测试阶段的文档 测试数据应该尽可能的完整和严格。内容包括:测试环境说明;测试数据以及源代码在测试中的运行结果。(6)用户使用说明为使用本软件的用户提供足够的指导帮助信息。如软件的安装说明、软件运行时操作界面的组成和功能、为完成某项功能而需执行的操作步骤等。(7)关键源代码要求源代码中间要有适量的注释,且编码风格符合规范。(8)总结对设计中值得肯定的内容进行评价,客观地指出其中的不足,并说明克服或改进的办法。(9)参考文献:参考文献的书写格式要符合规范。软件设计中的各项文档资料,是在在程序开发的过程中逐渐充实形成,而不是最后补写。三、参
14、考题目1、电子商务系列要求能够熟悉电子商务的有关知识,完成相关商品的在线查询、订购、支付、发货等环节的工作。所完成的软件符合电子商务运行的一般规范,能为顾客提供方便的服务,同时,要使网站有特色,能够引起浏览者的注意。此系列的题目范围较大,建议能有23名同学共同完成一个应用。建议的题目有(可以给自己的网站起一个好听的名字):l 网上拍卖;l 网上书店;l 网上花店;l 网上超市;l 网上家俱店;l 网上美容店;l 网上宾馆;l 网上饭店;l 网上制冷设备。2、电子政务及网上信息服务系列电子政务从广义上讲可以归入电子商务系列,但其特殊性在于强调信息发布与彼此沟通,或能够充当某项事务的中介。电子政府
15、包括政府的信息服务、政府的电子贸易、电子化政府(办公自动化、公文审批等)、群众参与等。这一系列题目也是一个较大的选题,可以选择一个具体的政府部门完成较完整的应用,必要时可以两人合作完成。 建议的题目有:l 税务在线;l 网上海关;l 滨海小区在线;l 大学生求职网;l 房产交易网;l 法律法规咨询网;l 政府采购网(政府公布采购计划,企业竞标);l 百姓之家l 旅游风向标(路线、宾馆入住情况查询,各景区游人情况、天气预报等)。3、网上银行、证券、交通等网上银行也称电子银行,用户只要有银行卡,即可以不受时间、地点的限制,享受全天候的金融服务,一般包括商户系统、电子钱包、支付系统和安全认证等。“将
16、大户室搬回家”是广大股民的心愿,在互联网时代,在家交易、在线查看股市动态已成为现实。民航、铁路等的网上售票、时刻查询等服务也深入人心。参考题目有:l 我的卡me卡(参考光大银行或中国建设银行等);l 网上证券;l 火车站(港口)在线售票;l 民航在线订票。4、教学与教学管理系列将网络技术用于教学与教学管理是IT技术应用的一大领域,不论是新兴的远程教育中,还是在传统的学校中都是这样。应用可以涉及到整个的教学管理(如综合教务系统),也可以涉及到具体的一门课,甚至为一名学生或教师的个性化服务。下面列出的题目是经过适当分解后,适合12名同学合作完成的题目,你还可以按自己的了解,针对中小学或其他专门的学
17、校进行设计。l 教学计划录入与查询(录入需要由专人登录后完成);l 教学日历录入与查询;l 课程表查询(针对学生、教师、楼道管理员的课表不同);l 成绩提交与查询(成绩由教师提交,查询者是学生或班主任);l 网上选课;l 答疑室;l 电子作业本;l 电子备课本。5、电子图书馆系列图书馆藏书多、读者多,一直是网络化、电子化的焦点,因为贴近学生生活,也一直是课程设计、毕业设计的理想选题。要求具有的功能包括面向读者的书籍查询、借书、预约、在线阅读功能以及面向管理员的图书管理(图书入库、清理、转库等)、读者管理(办证、退证、证件挂失等)功能。该题可以由23名同学联合完成,也适合1位同学只完成一部分功能。可以参考烟大图书馆网站的“我的图书馆”。6、其他题目以下题目适合一名同学完成。l XX下载网;l XX运动会在线查询;(可以加上各项目成绩录入)l 留言簿(要求有留言查询功能);l BBS;l 网页自动生成;l 聊天室。软件的应用无所不及,软件技术也因此不断进步。还有很多的应用未在上面列出,只要注意观察,愿意多加思考,你就会找出更多的线索,或许它就是一个很好的创意。鼓励同学另辟蹊径,挖掘出个性化、有价值、有意义的新的应用。专心-专注-专业
限制150内