软件设计方案
目录
一.系统概述... 2
1.软件实现目标及应用环境... 2
2.软件主要功能... 2
二.软件总体结构... 2
1.软件开发环境... 2
2.软件基本结构:... 3
三.各功能模块设计... 3
1.情景模式管理模块... 3
2.PC机管理模块... 4
3.用户接口模块... 4
四.PC机管理模块及其子模块详细设计... 5
1.窗口管理模块... 5
2.显示管理模块... 6
一.系统概述
1.软件实现目标及应用环境
该软件主要用于对电脑的窗口和各种配置进行管理,在软件运行过程中,可以根据用户操作设置各种情景模式,并支持各种情景模式之间的切换,各情景模式中包括对窗口、显示、声音、网络配置、主题元素等的管理。该软件可用于任何安装有windows操作系统的PC机上。
2.软件主要功能
该软件的主要功能包括以下部分:
窗口管理:为每个情景模式指定一部分软件及软件的默认打开文档,包括浏览器和部分默认网址,在模式切换时根据配置打开这些窗口,关闭或隐藏当前窗口。
显示管理:为每个情景模式进行亮度、色彩、分辨率等设置。
音频管理:为每个情景模式设置一个声音方案,具体内容包括音量、开关机声音等。
主题元素管理:为每个情景模式设置一套主题元素,其中包括窗口的字体和颜色、壁纸、屏幕保护程序等。
网络配置管理:为每个情景模式设置相应的网络配置,包括IP地址、子网掩码、网关、DNS等的设置
桌面任务栏管理:为每个情景模式设置相应的快捷方式、默认输入法、任务栏所包含的软件及其消息提示方式等。
CPU、内存状态管理:
笔记本电池管理:
文件及软件隐藏管理:
用户可根据需要对这些管理选项进行设置,并支持各模式之间的快速切换。
二.软件总体结构
1.软件开发环境
操作系统:windows
开发语言:C++
开发平台:VS2005
2.软件基本结构:
该软件包括情景模式管理模块、PC机管理模块及实现各个具体功能的子模块、用户接口模块。
情景模式管理模块主要支持对情景模式的增加和删除、并通过调用各功能子模块来实现情景模式的快速切换。
用户接口模块主要包括储存当前情景模式、调用各子模块进行情景模式各选项的设置,并支持各种快捷键的设定。
PC机管理模块主要包括:窗口管理模块、显示管理模块、音频管理模块、主题元素管理模块、网络配置管理模块、CPU及内存状态管理模块、笔记本电池管理模块等。
各模块的具体关系如图2-1所示:
三.各功能模块设计
1.情景模式管理模块
定义存储各情景模式及其相关信息的向量:vector <CEnvironment*> g_vetEnvironList;
定义管理该向量的类:
类名:CEnvironListManagement
数据成员:
vector <CEnvironment*> vetEnvironList;//情景模式列表
int nEnvironNum;//情景模式数目
支持的操作:
增加情景模式;
删除情景模式;
情景模式数目的获取;
………
定义管理各个情景模式的类:
类名:CEnvironment
数据成员:
vector <CBaseMode*> vetModeList;//各子模式的列表,如果用户设置不考虑该模块则在此列表中不存在该模块对应的对象指针。
支持的操作:
AddMode();//向列表中增加某子模式
RemoveMode(CBaseMode *pBaseMode);//删除列表中的某子模式
UseEnviroment();//应用当前情景模式;
LeaveEnviroment();//离开当前情景模式;
TransEnviroment(CEnvironment dest, CEnviroment src);//情景模式的转换;
2.PC机管理模块
定义一个虚基类来规定各子模块所要包含的基本操作:
类名:CBaseMode;
数据成员: bool bIsActive;//表示是否定义该模块的管理规则,如果不定义,切换时不进行与此模块相关的操作。
支持的操作:
bool IsActive();//返回bIsActive;
UseMode();//应用该子模块定义的规则。
LeaveMode();//离开此情景模式时所要进行的操作,若无任何操作则函数体可为空
GetConfig();//获取该子模块定义的规则;
SetConfig();//设置该子模块定义的规则;
各个子模块均用此基类的派生类实现,视具体情况添加相应的函数。
3.用户接口模块
支持的操作:
储存当前的情景模式;
进行各种快捷键的设定;
PC机管理模块和情景模式管理模块中已定义了各种与用户之间的接口。
四.PC机管理模块及其子模块详细设计
该部分主要包括窗口管理模块、显示管理模块、音频管理模块、主题元素管理模块、网络配置管理模块、CPU及内存状态管理模块、笔记本电池管理模块和任务栏管理模块等,可视具体情况添加或删除。
1.窗口管理模块
定义一个结构体来存放窗口的相关信息
struct WindowInfo
{
string strFilePath;//窗口对应的文件路径
HWND hWnd;//窗口句柄
int nDisplayMode;//窗口显示方式,0为普通,1为最大化,2为普通,3为最小化
bool bIsFront;//是否始终置前
bool bIsHide; //是否隐藏;
bool bIsTransparent; //是否设为半透明;
……//还可添加一些其它内容,如窗口的颜色、大小、字体、显示位置等;
}
定义一个类来对各情景模式下的窗口进行管理
类名:CWindowMode
数据成员:
vector<WindowInfo> vetFilePath;//储存要打开的文件路径、软件的exe路径以及网址
int nEnterConfig;//设置进入该情景模式时是否打开还未打开的窗口,0为不打开,1为打开
int nLeaveConfig;//设置退出该情景模式时隐藏或关闭窗口,0为隐藏,1为关闭
支持的操作:
bool IsActive();//返回bIsActive;
UseMode();//打开所设置的窗口。
LeaveMode();//根据设置显示或隐藏该情景模式中的窗口以及当前打开的其它窗口。
GetConfig();//获取该子模块定义的规则;
SetConfig();//设置该子模块定义的规则;
GetCurrentWindows();//获取当前打开的窗口;
其它函数根据结构体WindowInfo中的内容来添加。
2.显示管理模块
………..
第二篇:软件项目设计方案模板
XXX项目/软件/系统
详细设计说明书
XXXX公司
20##年10月
文档过程记录表
目 录
第一章 引言..................................................................................... 1
1.1 编写目的..................................................................................................... 1
1.2 背景............................................................................................................. 1
1.3 参考资料..................................................................................................... 1
1.4 术语定义及说明......................................................................................... 1
第二章 设计概述............................................................................. 1
2.1 任务和目标................................................................................................. 1
2.2 需求概述..................................................................................................... 1
2.3 运行环境概述............................................................................................. 1
2.4 条件与限制................................................................................................. 1
2.5 详细设计方法和工具................................................................................. 1
第三章 系统详细需求分析.............................................................. 1
3.1 详细需求分析............................................................................................. 1
3.2 详细系统运行环境及限制条件分析接口需求分析................................. 1
第四章 总体方案确认...................................................................... 1
4.1 系统总体结构确认..................................................................................... 1
4.2 系统详细界面划分..................................................................................... 1
4.2.1 应用系统与支撑系统的详细界面划分........................................................ 1
4.2.2 系统内部详细界面划分............................................................................. 1
第五章 系统详细设计...................................................................... 1
5.1 系统结构设计及子系统划分..................................................................... 1
5.2 系统功能模块详细设计............................................................................. 1
5.3 系统界面详细设计..................................................................................... 1
5.3.1 外部界面设计........................................................................................... 1
5.3.2 内部界面设计........................................................................................... 1
5.3.3 用户界面设计........................................................................................... 1
第六章 数据库系统设计.................................................................. 1
6.1 6.1设计要求................................................................................................... 1
6.2 6.2 信息模型设计.......................................................................................... 1
6.3 数据库设计................................................................................................. 1
6.3.1 设计依据.................................................................................................. 1
6.3.2 数据库种类及特点.................................................................................... 1
6.3.3 数据库逻辑结构........................................................................................ 1
6.3.4 物理结构设计........................................................................................... 1
6.3.5 数据库安全............................................................................................... 1
6.3.6 数据字典.................................................................................................. 1
第七章 非功能性设计...................................................................... 1
第八章 环境配置............................................................................. 1
第一章 引言
1.1 编写目的
说明编写详细设计方案的主要目的。
说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)和数据库系统的设计考虑,为程序员编码提供依据。
如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设计说明书中不重复部分合并编写。
方案重点是模块的执行流程和数据库系统详细设计的描述。
1.2 背景
应包含以下几个方面的内容:
A. 待开发软件系统名称;
B. 该系统基本概念, 如该系统的类型、从属地位等;
C. 开发项目组名称。
1.3 参考资料
列出详细设计报告引用的文献或资料,资料的作者、标题、出版单位和出版日期等信息,必要时说明如何得到这些资料。
1.4 术语定义及说明
列出本文档中用到的可能会引起混淆的专门术语、定义和缩写词的原文。
第二章 设计概述
2.1 任务和目标
说明详细设计的任务及详细设计所要达到的目标。
2.2 需求概述
对所开发软件的概要描述, 包括主要的业务需求、输入、输出、主要功能、性能等,尤其需要描述系统性能需求。
2.3 运行环境概述
对本系统所依赖于运行的硬件,包括操作系统、数据库系统、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。
2.4 条件与限制
详细描述系统所受的内部和外部条件的约束和限制说明。包括业务和技术方面的条件与限制以及进度、管理等方面的限制。
2.5 详细设计方法和工具
简要说明详细设计所采用的方法和使用的工具。如HIPO图方法、IDEF(I2DEF)方法、E-R图,数据流程图、业务流程图、选用的CASE工具等,尽量采用标准规范和辅助工具。
第三章 系统详细需求分析
主要对系统级的需求进行分析。首先应对需求分析提出的企业需求进一步确认,并对由于情况变化而带来的需求变化进行较为详细的分析。
3.1 详细需求分析
包括:
? 详细功能需求分析
? 详细性能需求分析
? 详细资源需求分析
? 详细系统运行环境及限制条件分析
3.2 详细系统运行环境及限制条件分析接口需求分析
包括:
? 系统接口需求分析
? 现有硬、软件资源接口需求分析
? 引进硬、软件资源接口需求分析
第四章 总体方案确认
着重解决系统总体结构确认及界面划分问题。
4.1 系统总体结构确认
对系统组成、逻辑结构及层次进行确认,对应用系统、支撑系统及各自实现的功能进行确认,细化集成设计及系统工作流程,特别要注意因软件的引进造成的系统本身结构和公司其他系统的结构变化。包括:
? 系统组成、逻辑结构及层次确认
? 应用系统结构确认
? 支撑系统结构确认
? 系统集成确认
? 系统工作流程确认
4.2 系统详细界面划分
4.2.1 应用系统与支撑系统的详细界面划分
应用系统与支撑系统之间的界面包括系统主服务器与其他服务器的服务范围及访问方式,网络及数据库对应用系统的支撑方式,全局数据的管理与存取方式等。
4.2.2 系统内部详细界面划分
系统各功能之间的界面包括覆盖范围,模块间功能调用涉及到的系统模块及方法,全局数据格式,系统性能要求等。
第五章 系统详细设计
5.1 系统结构设计及子系统划分
对系统的组成及逻辑结构进行设计前确认。
划分系统功能模块或子系统(如果有或者有必要,特别是大型的软件系统)。
5.2 系统功能模块详细设计
按结构化设计方法,在系统功能逐层分解的基础上,对系统各功能模块或子系统进行设计。此为详细设计的主要部分之一。
用层次图描述系统的总体结构、功能分解及各个模块之间的相互调用关系和信息交互,用IPO图或其他方法描述各模块完成的功能。 以上建议采用HIPO图进行功能分解与模块描述,更高的要求建议采用IDEF0方法进行功能模型设计。
详细设计应用系统的各个构成模块完成的功能及其相互之间的关系,用IPO或结构图描述各模块的组成结构、算法、模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系。
每个模块的描述说明可参照以下格式:
模块编号:
模块名称:
输入:
处理:
算法描述:
输出:
其中处理和算法描述部分主要采用伪码或具体的程序语言完成。
对详细设计更高的要求建议用IDEF0图进行各功能模块的设计。
如果对软件需进行二次开发(包括功能扩展、功能改造、用户界面改造等),则相应的设计工作应该设立子课题完成。
5.3 系统界面详细设计
系统界面说明应用系统软件的各种接口。整个系统的其他接口(如系统硬件接口、通讯接口等)在相应的部分说明。
5.3.1 外部界面设计
根据系统界面划分进行系统外部界面设计,对系统的所有外部接口(包括功能和数据接口)进行设计。
5.3.2 内部界面设计
设计系统内部各功能模块间的调用关系和数据接口。
5.3.3 用户界面设计
规定人机界面的内容、界面风格、调用方式等,包括所谓的表单设计、报表设计和用户需要的打印输出等设计。此部分内容可能比较多。
第六章 数据库系统设计
此数据库设计可单独成册,尤其对大型的数据库应用系统,即有一个单独的《数据库设计说明书》。
6.1 6.1设计要求
6.2 6.2 信息模型设计
确定系统信息的类型(实体或视图),确定系统信息实体的属性、关键字及实体之间的联系, 详细描述数据库和结构设计,数据元素及属性定义,数据关系模式,数据约束和限制。
6.3 数据库设计
6.3.1 设计依据
说明数据被访问的频度和流量,最大数据存储量,数据增长量,存储时间等数据库设计依据。
6.3.2 数据库种类及特点
说明系统内应用的数据库种类、各自的特点、数量及如何实现互联,数据如何传递。
6.3.3 数据库逻辑结构
说明数据库概念模式向逻辑模式转换所采用的方法论及工具,完成数据库概念模式向逻辑模式的转换。 详细列出所使用的数据结构中每个数据项、记录和文件的标识、定义、长度及它们之间的相互关系。此节内容为数据库设计的主要部分。
6.3.4 物理结构设计
列出所使用的数据结构中每个数据项的存储要求、访问方法、存取单位和存取物理关系等。建立系统程序员视图,包括:
? 数据在内存中的安排,包括对索引区、缓冲区的设计;
? 所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;
? 访问数据的方式方法。
6.3.5 数据库安全
说明数据的共享方式,如何保证数据的安全性及保密性。
6.3.6 数据字典
编写详细的数据字典。 对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。
第七章 非功能性设计
第八章 环境配置
开发。测试、运行环境