软件项目概要设计.docx
- 文档编号:3105054
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:8
- 大小:116.36KB
软件项目概要设计.docx
《软件项目概要设计.docx》由会员分享,可在线阅读,更多相关《软件项目概要设计.docx(8页珍藏版)》请在冰点文库上搜索。
软件项目概要设计
项目名称***
概要设计说明书
****公司
1引言
1.1编写目的
本概要说明书是**项目(一期)管理项目程序的研发概要设计,确定各模块的功能和用户接口,以此作为详细设计的依据和基础。
将项目开发进程中或者项目结束后提供给双方人员使用,同时也可以作为实施后期的维护人员使用。
1.2项目背景
作为软件开发的前期文档,可以帮助程序设计人员和管理人员提供清晰的设计思路,在软件开发后期的维护阶段也起到至关重要的作用。
项目背景简介****。
1.3定义
B/S :
(Browser/Server结构)结构即浏览器和服务器结构。
需求:
用户解决问题或达到目标所需的条件和功能;系统或系统部要满足合同、标准,规范或其他正式文档所需具有的条件及权能。
2任务概述
2.1目标
系统建设目标简介。
2.2运行环境
Web服务器:
1U及以上服务器内存32G以上,存储空间1T以上,操作系统Linux;
数据库服务器:
1U及以上服务器内存16G以上,存储空间500G以上,操作系统Linux;
用户端:
PC兼容机内存1M以上,显示分辨率1024*768及以上,操作系统WindowXP、Win7、Win8及Win10等
手机端:
IOS8.0及以上版本;
Android6.0及以上版本;
2.3需求概要
Ø需求1
Ø需求2
Ø需求3
Ø需求4
3总体设计
3.1基本设计概念
设计概要描述。
如图所示,设计概念及整体规划
此处需要替换业务架构图
3.2模块设计
3.2.1功能模块1
模块功能简介
3.2.1.1子模块1
子模块功能简介。
按钮1功能简介:
***;
按钮2功能简介:
***;
3.2.1.2子模块2
子模块功能简介。
按钮1功能简介:
***;
按钮2功能简介:
***;
3.2.2功能模块2
模块功能简介
3.2.2.1子模块1
子模块功能简介。
按钮1功能简介:
***;
按钮2功能简介:
***;
3.2.2.2子模块2
子模块功能简介。
按钮1功能简介:
***;
按钮2功能简介:
***;
3.2.2.3统计报表
项目后期根据业务需要,系统出具相关统计报表,为运营管理提供直观的数据参考。
3.3接口设计
3.3.1三方系统接口1
接口简介***
3.3.2三方系统接口2
接口简介***
4数据库选型
结合当前技术发展现状及行业应用特点来看,目前较为常用的数据库主要是ORACLE和MYSQL数据库,下面从主要方面分析下二者的区别
Ø并发性:
mysql以表级锁为主,对资源锁定的粒度很大,如果一个session对一个表加锁时间过长,会让其他session无法更新此表中的数据。
虽然InnoDB引擎的表可以用行级锁,但这个行级锁的机制依赖于表的索引,如果表没有索引,或者sql语句没有使用索引,那么仍然使用表级锁。
oracle使用行级锁,对资源锁定的粒度要小很多,只是锁定sql需要的资源,并且加锁是在数据库中的数据行上,不依赖与索引。
所以oracle对并发性的支持要好很多。
Ø一致性:
oracle支持serializable的隔离级别,可以实现最高级别的读一致性。
每个session提交后其他session才能看到提交的更改。
oracle通过在undo表空间中构造多版本数据块来实现读一致性,每个session查询时,如果对应的数据块发生变化,oracle会在undo表空间中为这个session构造它查询时的旧的数据块。
mysql没有类似oracle的构造多版本数据块的机制,只支持readcommited的隔离级别。
一个session读取数据时,其他session不能更改数据,但可以在表最后插入数据。
session更新数据时,要加上排它锁,其他session无法访问数据。
Ø事物的支持情况:
oracle很早就完全支持事务。
mysql在innodb存储引擎的行级锁的情况下才支持事务。
Ø数据持久性:
oracle保证提交的数据均可恢复,因为oracle把提交的sql操作线写入了在线联机日志文件中,保持到了磁盘上,如果出现数据库或主机异常重启,重启后oracle可以考联机在线日志恢复客户提交的数据。
mysql默认提交sql语句,但如果更新过程中出现db或主机重启的问题,也许会丢失数据。
Ø逻辑备份:
oracle逻辑备份时不锁定数据,且备份的数据是一致的。
mysql逻辑备份时要锁定数据,才能保证备份的数据是一致的,影响业务正常的dml使用。
Ø热备份方式:
oracle有成熟的热备工具rman,热备时,不影响用户使用数据库。
即使备份的数据库不一致,也可以在恢复时通过归档日志和联机重做日志进行一致的恢复。
mysql:
myisam的引擎,用mysql自带的mysqlhostcopy热备时,需要给表加读锁,影响dml操作。
innodb的引擎,它会备份innodb的表和索引,但是不会备份.frm文件。
用ibbackup备份时,会有一个日志文件记录备份期间的数据变化,因此可以不用锁表,不影响其他用户使用数据库。
但此工具是收费的。
innobackup是结合ibbackup使用的一个脚本,他会协助对.frm文件的备份。
ØSql语句的扩展和灵活性:
mysql对sql语句有很多非常实用而方便的扩展,比如limit功能,insert可以一次插入多行数据,select某些管理数据可以不加from。
oracle在这方面感觉更加稳重传统一些。
Ø性能诊断:
oracle有各种成熟的性能诊断调优工具,能实现很多自动分析、诊断功能。
比如awr、addm、sqltrace、tkproof等
mysql的诊断调优方法较少,主要有慢查询日志。
Ø管理工具:
oracle有多种成熟的命令行、图形界面、web管理工具,还有很多第三方的管理工具,管理极其方便高效。
mysql管理工具较少,在linux下的管理工具的安装有时要安装额外的包(phpmyadmin,etc),有一定复杂性。
结合两种数据库的应用特点,及本项目预期数据规模和中外运华北有限公司现有技术环境等综合因素考虑,最终决定实施本项目将选用ORACLE数据库。
5运行设计
5.1运行模块的组合
根据系统需求及实际使用场景需要,本平台系统分为电脑PC端操作、手机APP端操作同时在特定使用场景下支持平板电脑操作,各端操作在实际运行过程中保持信息同步能够很好的交换信息,处理数据。
5.2运行控制
系统运行时有较为友好的操作界面,基本上能够实现用户对数据进行处理的操作要求。
5.3运行时间
不同使用场景下进行相应的优化策略,使系统运行时间达到用户所要求的响应时间。
6出错处理设计
6.1出错输出信息
在用户使用错误的数据或访问没有权限的数据时,系统会根据实际操作场景给出友好提示:
“对不起,您当前没有操作权限,请联系管理员配置权限!
”而且用户的密码管理可以允许用户修改自己的密码,不允许用户的匿名登录。
6.2出错处理对策
由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。
但有可能占用更多的数据存储空间,权衡措施由用户来决定。
6.3系统恢复设计
对系统版本更新及发布有规范的管理准则,发布脚本及数据库文件有相应备份机制,如果当前系统出现不可解决的异常,而影响了用户的正常使用,开发人员可以根据代码备份及数据库备份文件对系统进行恢复操作,保证系统的正常运行。
7安全保密设计
7.1权限控制
对系统的操作用户进行权限管理,只有授权用户才能进入系统进行相关功能的操作。
7.2数据加密
对一些如密码及敏感度较高的重要数据在传递、存储过程中进行数据加密处理,保证了系统安全保密性更高。
8维护设计
8.1变量参数化
变量参数化,利于维护和变更;
8.2基础信息管理
设计基础数据信息管理模块,将常用基础数据进行分类管理,便于维护;
8.3角色、权限设计
单独用户、角色、权限设置,方便人员增减、权限变更等常用操作;
计划实现分级授权,方便管理;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 概要 设计