软件项目总体设计

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_42323788/article/details/102692604

1.导言

1.1目的

该文档根据Learning path软件学习系统的功能和性能,阐述了Learning
path软件学习系统的概要设计,包括框架设计,功能模块设计,数据库设计,界面设计等部分。

本文档的预期读者包括:

  • 设计开发人员
  • 项目管理人员
  • 测试人员
  • 用户

1.2范围

该文档的目的是解决整个项目系统的“怎么做”的问题。在这里,主要是根据

用户提出的项目需求进行的全面设计。

1.3参考资料

《软件工程案例教程软件项目开发实践 第三版》 韩万江等 机械工业出版社

2.项目设计原则简介

软件英语学习系统(Learning path)主要是针对在校学生英语学习而做的。该平台融合了主流教学平台的特点,同时具有传统的英语翻译功能。方便日常英语学习以及师生间的英语反馈。
在整个系统设计的过程中遵循以下的设计原则:

  1. 实用性:实用性是系统的主要设计原则,系统设计必须最大可能地满足用户的需求,做到操作方便、界面友好、可即时更新,能适应不同层次用户的需求。

  2. 先进性:信息技术发展迅速,系统设计尽可能采用先进的技术标准和技术方法。

  3. 以用户为中心的处理:个性化服务充分体现了这一点,根据用户当前展业重点,配置页面功能布局及展现内容,贴合用户操作。

  4. 使用便捷。系统要有设计良好的人机交互界面,即使系统的操作界面简单易用,又能具有较强的适用性,满足不同计算机使用水平的用户使用。

  5. 灵活和易维护:采用开放的体系架构,基于开放源代码的技术框架和数据库系统,使用高效率的开源和免费开发工具,具备完整的文档说明。在维护方面,主要考虑两个层面,一是对于开发人员来讲,系统编码容易调整,可适应需求的变化和调整;二是对于系统管理维护人员来说,能够对系统进行便捷的维护和管理。

  6. 安全可靠:选择安全可靠的软硬件运行平台,并在系统设计和实现的时候关注系统的安全控制和执行效率,提供相应的安全防护功能,保证系统具有较高的安全性和可靠性。安全性方面,要考虑系统的安全、数据管理的安全、网络安全。保证用户权限、数据安全和系统的稳定性。

  7. 单一职责原则:我们系统在面向对象设计部分采取单一职责原则,其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。从而最终提高我们系统的可修改性和可维护性。

本概要设计涵盖了体系结构设计、模块设计、数据库设计、界面设计等。

3.功能模块设计

3.1功能模块设计总述

本系统主要包括的模块为两部分:客户端子系统功能模块图、管理端子系统功能模块图,如图
3-1 所示。其中,图 3-2 是客户端子系统功能模块图,图 3-3
是管理端子系统功能模块图。
在这里插入图片描述
图3-1 主要模块图
在这里插入图片描述
图3-2 Learning path客户端子系统功能模块图
在这里插入图片描述

图 3-3 是管理端子系统功能模块图

3.2 客户端子系统模块设计

3.2.1 模块 CM1 :静态页面

编号:CM1

模块名称:静态页面

功能简介:本模块为系统的静态页面模块。

输入:鼠标点击事件

输出:调用的页面

操作流程:

在这里插入图片描述

图3-4静态页面模块图

3.2.2 模块 CM2:系统登录

编号:CM2

模块名称:系统登录

功能简介:本模块为系统登录模块,即用户登录系统的入口。在此模块中,用户输入自己的用户名和密码,在此用户名为学号或职工号,系统在后台数据库进行查询操作后,返回布尔值,表示该输入是否正确,输入正确则进入系统,错误则对用户进行相应提示。

输入:用户名,密码

输出:用户是否登录成功

操作流程:

在这里插入图片描述

图3-5系统登录模块图

3.2.3 模块 CM3 :注册模

编号:CM3

模块名称:系统注册

功能简介:本模块为系统注册模块。用户首次进入系统时。可通过本模块进行注册。在此模块中,系统显示注册界面,用户输入相关必要的身份信息,单击确定。若注册成功,系统将以学生学号作为账号,用户设定密码作为密码存入后台数据库。注册完成后,用户可使用注册成功的账号和密码登录系统。

输入:用户名,密码

输出:用户是否注册成功

备注:对于未登录系统的游客用户,系统将自动限制一部分功能的显示

操作流程:

在这里插入图片描述

图3-6注册模块图

4.数据库设计

4.1 数据库种类及特点

本项目采用了MySQL 的数据库。MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL具有以下几个特性:

(1) MySQL为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、

Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。

(2) 优化的 SQL查询算法,有效地提高查询速度。

(3) 提供多语言支持,常见的编码如中文的
GB 2312、BIG5,日文的 Shift_JIS

等都可以用作数据表名和数据列名。

(4) 提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。

(5) 提供用于管理、检查、优化数据库操作的管理工具。

(6) 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

(7) MySQL 使用标准的 SQL数据语言形式。

4.2 数据库逻辑结构

经过充分的调研和分析,我们将“Learning path”的数据中设计了七个实体,其中包括管理员、教师、学生、单词识别、班级、生词本、题库。针对每个实体,又有其对应的属性。他们之间的关系主要包括以下几项:管理员表、学生信息表、教师信息表是独立存在的,管理员负责管理学生信息、普通用户信息和教师信息。因此管理员与教师、普通用户和学生是一对多关系。

 教师负责班级管理,其中一个老师可以管理多个班级,因此老师与班级是一对多的关系

一套试卷可能包含多道题目,同样的一道题目可能被包括在多套试卷中,

所以试卷与题目之间是多对多的关系。

 知识点与题目之间是包含的关系,所以知识点与题目之间是一对多的关

 一个学生可以参加多次试卷测评,一套试卷可以被多个学生使用,所以

试卷与学生之间是多对多的关系

综上分析,软件项目管理课程平台的实体关系图(概念数据模型)如下图5-1

所示。

4.3E-R图

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42323788/article/details/102692604