在线考试系统系统开发文档

淩亂°似流年 2023-06-01 03:30 122阅读 0赞

1. 概述

系统基于.Net 4.0开发,采用C#语言,开发工具为Microsoft Visual Studio 2010;数据库采用了Sqlserver2005。

整个系统基于B/S架构,采用了传统的三层开发模型,数据层采用了ORM,使用的是Mysoft.Data的组件;业务层与表现层之间用了spring.net的IOC组件;表现层采用了Vtemplate组件进行模型与控制、视图的分离。

2. 解决方案描述

在解决方案中,共分为五个项目。如下图

251429-20190814084259432-1681385020.png

2.1. 业务层

BLL解决方案文件夹下,是业务层的两个项目;

Song.ServiceInterfaces是所有业务层的接口

Song.ServiceImpls 是业务层(Song.ServiceInterfaces)的接口实现。

之所以分成两个项目,是为了基于面向接口编程,例如当业务层代码需要变动时,只需要改动实现,不用改动接口。实口与实现类的关系是在Song.Site项目中的web.config中配置的。如下图

251429-20190814084311617-1992137565.png

上图定义了接口名称,以及其实现类。这里是用了Spring.net的IOC(控制反转)组件。

2.2. 数据层

Song.Entities是数据实体。

数据层的处理采用了ORM方式处理,这里是用了Mysoft.Data开源组件,网上可以找到下载。使用方法如下:

在Lib解决方案文件夹下,有WeiSha.Data.Generete.exe,双击打开。如下图步骤操作。

251429-20190814084325749-545160780.png

生成实体后,在Song.ServiceImpls项目中引用Song.Entities

在编写时,例如增加一个记录

  1. /// <summary>
  2. /// 添加
  3. /// </summary>
  4. /// <param name="entity">业务实体</param>
  5. public void Add(Accessory entity)
  6. \{
  7. entity.As\_CrtTime = DateTime.Now;
  8. Song.Entities.Organization org = Business.Do<IOrganization>().OrganCurrent();
  9. if (org != null)
  10. \{
  11. entity.Org\_ID = org.Org\_ID;
  12. entity.Org\_Name = org.Org\_Name;
  13. \}
  14. Gateway.Default.Save<Accessory>(entity);
  15. \}

其中关键性语句是 Gateway.Default.Save(entity);

2.3. 表现层

Song.Site是表现层,主要是aspx网页,Js,css等文件构成。

当在表现层调用业务层代码时,采用如下示例代码

Song.Entities.Subject[] subj = Business.Do().SubjectCount(Organ.Org_ID, true, 0);

上述代码是调用专业的接品,取当前机构下所有专业。

Vtemplate**组件的使用**

Vtemplate组件实现了模型与视图的分离,可以通过它来实现更换模板风格等操作。

使用方法是,在Song.Site项目中的.ashx文件继承于Basepage.cs类,Basepage实现了一个模型与视图的匹配控制。例如About.ashx的视图是指向Templates/(当前选中的模板库)/ About.htm

2.4. 其它项目

Song.Extend是一些扩展类,其中包括用户登录等。

转载于:https://www.cnblogs.com/Jeely/p/11349704.html

发表评论

表情:
评论列表 (有 0 条评论,122人围观)

还没有评论,来说两句吧...

相关阅读

    相关 在线考试系统

    > 项目背景和意义 目的:本课题主要目标是设计并能够实现一个在线考试的java系统,整体使用了基于浏览器的B/S架构,技术上使用了基于java的springboot框架;

    相关 在线考试系统思路总结

    最近正在完成一个电网的在线考试系统,这个项目的整个业务部分和功能模块部分已经确定。 在这个项目中,主干部分主要难点是四个部分,分为:设计数据库、考试随机出题、提

    相关 在线考试系统经验累积

    项目是一个在线考试系统。目标是在单个服务器上支持400人同时在线考试。这个过程很漫长。 产品服务于小型学校。 前期,去学校采集用户需求。整理需求点,非常