资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
ASP.NET软件开发案例教程,任务五 网络在线考试系统详细设计(架构设计),任务描述,通过本任务,明确详细设计的目的及其在软件设计过程中的重要性,并在网络在线考试系统开发概要设计基础上掌握详细设计的方法和过程。 通过对CMMI3详细设计规范的学习,完成网络在线考试系统的详细设计说明书及架构设计,并放入VSS基线库。,任务分析,详细设计阶段的目的是为编程制定一个周密计划。根据“由外向内”的思想方法,设计阶段分为概要设计和详细设计。在概要设计中我们初步规划了网络在线考试系统 “怎么做”的问题,本任务中将进一步细化此问题,具体将完成软件开发流程中的详细设计过程,确定每个模块的内部功能及各模块内部的详细执行过程,为后期的系统实现完成实施依据。详细设计的参与人员主要包括:项目经理、项目配置人员、系统分析人员及软件设计人员。 在详细设计中的一个主要任务就是架构设计,而根据需求阶段的规划,在网络在线考试系统的的架构设计时,选择了三层架构。由于使用三层架构进行系统开发的基础是要搭建系统框架,本任务还将从三层架构的介绍入手,通过完成基于三层架构的“在线考试系统”框架的搭建,让读者掌握三层架构的搭建过程,重点在于表示层、逻辑层、会话层的构建及用户创建各层之间依赖关系的模型层的实施,难点在于实施模型层过程中的各个实体类的创建。,任务准备,1.三层架构介绍,传统的的设计中,界面代码、业务逻辑代码一级操作数据库的代码是混合在一起的,设计人员必须对美工、业务逻辑和数据库各方面的知识都非常了解,如果要对程序的数据库、业务逻辑或界面的某一方面进行微小的改动,可能要是涉及整个程序大面积的修改,给程序的开发和维护带来了极大的不便。 为了克服上述问题,人们总结程序开发的经验,提出采用分层的方式进行处理,具体来讲,就是把不同功能的代码放到不同的项目,规定各项目之间的依赖关系和接口,分块进行开发和维护。分层的方案有很多种,其中影响力最大也最成熟的就是三层架构的分层方案。,任务准备,通常意义上的三层架构的“三层”是指用户界面表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL),如图所示。 1.用户界面表示层:直接和用户进行交互,把数据内容呈现给用户或接收用户输入的数据部分。对于Web应用程序来说,表示层就是网页:对于Windows应用程序来说,表示层就是Windows窗体。,任务准备,2.业务逻辑层:主要是处理业务方面的逻辑,如判断用户输入的内容是否符合要求,负责把用户输入的数据传输给数据访问层,并把来自数据访问层的数据返回给用户。业务逻辑层是用户界面表示层和数据访问层之间通信的桥梁,它在体系架构中的位置很关键,处于数据访问层与用户界面表示层中间,起到了数据交换中承上启下的作用。 3.数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,只有他能够直接访问数据库,对数据库进行增、删、改、查的操作,其他的两个层都不能直接访问数据库。 在三层架构中,客户端不能直接与数据库进行交互,而是经过中间层与数据库进行交互。,任务准备,三层架构具有以下优点: (1)开发人员可以只关注整个结构中的其中某一层; (2)可以很容易地用新的实现来替代原有层次的实现; (3)可以降低层与层之间的依赖; (4)有利于标准化; (5)利于各层逻辑的复用。,任务准备,三层架构中除了用户界面表示层、业务逻辑层和数据访问层之外,还有一个模型层。模型层包含所有与数据库中的表相对应的实体类。三层之间的数据传递是通过传输模型层的实体对象来实现的 。,小贴士,任务准备,2.在线考试系统的系统结构,在线考试系统的架构,先创建解决方案(取名OnLine),在解决方案下创建4个项目:第一个项目是用户界面表示层(取名OnLineWeb),第二个项目是业务逻辑层(取名OnLineBLL),第三个项目是数据访问层(取名为OnLineDAL);除了这三个层之外,还有一个模型层(取名OnLineModels)。,任务准备,3. CMMI3的详细设计规范,详细设计又称过程设计,是编码的先导步骤。详细设计阶段所产生的设计文档及质量,将直接影响编码实现阶段的程序质量。详细设计阶段的工作就是为软件结构图(SC图)中的每一个模块确定采用的算法和数据结构,用某种选定的表达工具给出清晰的描述。这一阶段的工作任务主要有以下4个方面的内容: 1.为每个模块确定所采用的算法选择适当的工具表达算法过程,写出模块的详细过程性描述。 2.确定每一个模块使用的数据结构。,任务准备,3.确定模块接口的细节,包括对系统外部的接口和用户界面,系统内部模块的接口,异界模块输入、输出数据和局部数据的全部细节。 4.要为每一个模块设计出测试用例,一边在编码阶段对模式代码进行预测是。模块的测试用例是软件测试计划的重要组成部分,通常包括输入数据、期望输出等内容。 在详细设计结束时,要编写详细设计说明书,就是把详细设计的内容规范化,并且还要通过复审形式正式文档交付给编码阶段。,任务实施,1.程序设计说明,1. 程序描述 给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点 本程序分为三个功能部分,用户登陆,考生考试和交卷部分,分别调用多个模块。 (1)验证模块 考试系统中的身份验证是很重要的,它关系到考试的严肃性。在传统的计算机考试中,简单的口令机制就能取得很好的效果,因为系统本身不会将口令泄漏出去在线考试系统也不例外。以学号这一条件限制,这就使有资格的考试者才能注册考试。考试者注册时,系统便要验证其学号和口令与考试者信息库所备案的是否一致,以及其是否己经参加过考试,这样就保证了考试者的身份是合法的。,任务实施,用户登陆调用身份验证模块,如图所示,用于验证进入考试系统的人员身份和考试资格,通过验证后就以进行下一步的考试操作。,任务实施,(2)评卷模块 当启用评卷功能时,机器首先将标准答案表和考生答案表调出来并设初始成绩为0,根据试卷中的试题标号逐个对答案进行比对(与运算),运算结果为1,则说明考生答案和标准答案相同,找到其对应的分值,则考生成绩=初始成绩+分值。逐次比对累加,直到所有试题都已批阅完毕。最后,输出考生成绩本模块用于考试试卷评分。首先是对把考生的答案与试卷标准答案对比,相同的话根据每一题的分值加分,错误不加分。,任务实施,评卷模块流程图如图所示。,任务实施,(3)时间控制模块 时间控制模块作用为用来控制考试时间,流程如图5-8所示。时间模块中的时间是不断减小,直到考试结前5分钟,提醒考生要注意提交试卷,考试时间结束,禁止考生继续答题,任务实施,(4)生成试题模块 生成试题模块有选择题模块、判断题模块,流程图见图所示。 这些模块抽取试题算法基本相同,现在只简单说一下判断题模块生成。判断题模块主要生成判断题。判断题是调用读取数据库存信息随机抽取数据库中题,任何一套选择题不会相同,客观上能客观防止作弊。,任务实施,2.用三层架构搭建“在线考试系统”系统框架,(1)创建空白解决方案 (2)搭建用户界面表示层 (3)搭建业务逻辑层 (4)搭建数据访问层 (5)搭建模型层 (6)添加各层之间的依赖关系,任务实施,1)右击用户界面表示层OnLineWeb,在弹出的快捷菜单中选择“添加引用”命令,打开“添加引用”对话框。 2)在该对话框中选择“项目”选项卡,按下Ctrl键选中,添加各层间的依赖关系步骤:,OnLineBLL和OnLineModels项目,单击“确定”按钮。 3)用同样的方法在业务逻辑层(OnLineBLL)引用数据访问层(OnLineDAL)和模型层(OnLineModels);在数据访问层(OnLineDAL)引用模型层(OnLineModels)。,归纳总结,软件设计的主要任务是根据需求分析阶段产生的需求规格说明书导出系统的实现方案,在本任务中,基于概要设计说明书来实施目标系统的详细设计过程,并最终完成在VSS基线库中的详细设计文档部署,为后续的系统实施提供了依据。 在网络在线考试系统架构设计时采用三层架构,将整个业务应用划分为,表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL),目的是为了在系统开发过程中实现系统各个模块的“高内聚,低耦合”。,Thank You !,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号