软件项目总体设计

article/2025/9/14 4:09:57

软件项目总体设计
目录
1.导言 1
1.1目的 1
1.2范围 1
1.3参考资料 2
2.项目设计原则简介 2
3.功能模块设计 2
3.1功能模块设计总述 2
3.2 客户端子系统模块设计 4
3.2.1 模块 CM1 :静态页面 4
3.2.2 模块 CM2:系统登录 5
3.2.3 模块 CM3 :注册模块 6
4.数据库设计 7
4.1 数据库种类及特点 7
4.2 数据库逻辑结构 7
4.3E-R图 8

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图
在这里插入图片描述
图4-1E-R图


http://chatgpt.dhexx.cn/article/0XpMo9C1.shtml

相关文章

软件概要设计的过程与任务

在完成对软件系统的需求分析之后,接下来需要进行的是软件系统的概要设计。一般说来,对于较大规模的软件项目,软件设计往往被分成两个阶段进行。首先是前期概要设计,用于确定软件系统的基本框架;然后是在概要设计基础上…

软件工程技术--第四章 概要设计

第四章 概要设计 4.1 软件设计概述 4.1.1 软件设计的概念与重要性 ​ 软件设计是软件工程的重要阶段,是一个将软件需求转换为软件表示的过程。软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务,即确定系统的物理模型&#xff0…

ios 新建项目关于Main.storyboard的处理

使用xcode新建新建项目时,都会带一个main.storyboard的主界面。如果你不进行代码控制,默认APP启动会加载main.storyboard这个界面。怎么使用这个界面来加载这里就不在介绍了,这里只说用代码加载主页,不使用main.storyboard时&…

storyboard 使用

Storyboard是一项令人兴奋的功能,在iOS5中首次推出,在开发app的界面时可以极大地节省时间。 如下图所示,这就是一个完整的应用的storyboard,接下来我们要学习如何通过这种方式创建应用。 现在你可能还不是很精确地知道我们的应用可…

ios storyboard简单用法

使用xcode5中的storyboard,做个简单的界面,第一次用简直一头雾水,摸索下来感觉也蛮方便的。 从左到右,从上到下,控件依次是:UITextFiled,UIButton, UILabel, UIPickerVi…

iOS开发18:Storyboard的简单使用

之前做的例子,我们经常会用到.xib文件,在其中我们可以进行界面的设计。不过如果想切换视图,我们就得自己写很多代码。自从苹果推出了Storyboard,我们可以在一个编辑区域设计多个视图,并通过可视化的方法进行各个视图之…

如何在xcode中使用storyboard

StoryBoard是iOS 5的新特征,目的是代替历史悠久的NIB/XIB,对于已经习惯了xib文件的孩子们来说,StoryBoard还不是那么熟悉。经过两天的研究,有了一些心得,在此分享。 一、如何使用storyboard简单实现Push页面&#xff…

Storyboard Reference

在某些情况下,你开发的应用可能包含有各种各样的复杂界面,如果你使用Storyboard来管理这些界面,通常你会将这些界面按照相应的逻辑分成许多子模块,放在不同的storyboard里,比如注册相关的放到Register.Storyboard&…

storyboard使用教程

Storyboard是最先在iOS 5引入的一项振奋人心的特性,大幅缩减构建App用户界面所需的时间。 要介绍Storyboard是什么,我打算从这张图讲起。下面是您将会在本教程中构建的Storyboard: image 或许你现在并不清楚这个App是用来做什么的&#xff0c…

关于storyboard的使用入门

 在iOS5以前,一直使用纯代码进行处理界面,尽管能够严格数据信息,但是操作上相比storyboards操作效率低,现就这个时尚的storyboards进行简要学习总结。 一 创建storyboards。 创建storyboards的方式有多种…

Storyboard入门

Storyboard 是iOS 5 中令人兴奋的一个新特性,他将为你在创建用户界面上节省很多时间。 那么究竟什么是Storyboard呢?我将用一幅图片来向你展示: 下面这个就是本教程中即将用到的Storyboard。 你或许不能精确的知道这个应用是做什么的,但是你可…

IOS开发入门之五——storyboard的使用(上)

需要iOS开发视频资料可以加我微信: 1914532832 验证信息请注明:IOS开发 上节介绍了纯代码开发,就是所有页面全部用代码来写,纯代码开发缺点就是比较慢的,而且很不直观,需要在App运行后才能看到页面效果。这节介绍重点…

IOS开发之——更换Storyboard

一 概述 新建项目的默认面板为Main.storyboard,用于向界面中添加控件并显示向项目中添加新的storyboard,并替换Main.storyboard 二 添加新的Storyboard 在Main.storyboard上右键,选择New File 在User Interface 分类下,选择Stor…

使用storyboard

story board是xcode4.2新增的一个特性,它将原有工程中的所有xib文件集成在一起,用拖拽的方式建立2个viewController之间的跳转关系,使得整个程序的UI跳转逻辑清楚明了。使用storyboard后,界面相关的代码编写将更少。 简单说…

Storyboard使用心得

最近接触IOS7新特性,之前项目都是使用xib,没有使用过storyboard,今天就研究下。首先,说下storyboard优缺点,优点:a). 流程结构清晰b). 有内置的segue支持c). 方便的实例化ViewController缺点:a). 所有的Vie…

Storyboard 自适应布局

原文链接:http://justsee.iteye.com/blog/2148987 通用的Storyboard 通用的stroyboard文件是通向自适应布局光明大道的第一步。在一个storyboard文件中适配iPad和iPhone的布局在iOS8中已不再是梦想。我们不必再为不同尺寸的Apple移动设备创建不同的storyboard文件&a…

IOS开发之Storyboard应用

(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图: 现在,你就可以清楚的看到这个应用究竟是干些什么…

Storyboard的使用

创建一个Storyboard工程 storyboard是在ios5中引入的新控件,能够更加清晰、简单的整合多个ViewController的关系,下面主要介绍一下怎么初建一个storyboard的工程。有关storyboard的介绍在后面的文章中提到。 首先利用xcode4.2创建一个新项目,…

Storyboard全解析

原文地址:Storyboard全解析 作者:Capacity 故事版(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图&…

Storyboard 解析

故事版(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图: 现在,你就可以清楚的看到这个应用究竟是干…