【转】概要设计说明书

概要设计说明书
一. 引言
1. 编写目的
从该阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。
2. 项目背景(略)
3. 定义
在该概要设计说明书中的专门术语有:

总体设计

接口设计

数据结构设计

运行设计

出错设计

具体的概念与含义在文档后将会解释。
 
4. 参考资料
<软件工程概论> 李存珠 李宣东 编著 南京大学计算机系出版 2001年8月
二. 任务概述
1. 目标
该阶段目的在于明确系统的数据结构和软件结构,此外总体设计还将给出内部软件和外部系统部件之间的接口定义,各个软件模块的功能说明,数据结构的细节以及具体的装配要求。
2. 运行环境
软件基本运行环境为Windows环境。
3. 需求概述(略)
4. 条件与限制
为了评价该设计阶段的设计表示的“优劣程度”,必须遵循以下几个准则:

1.软件设计应当表现出层次结构,它应巧妙地利用各个软件部件之间的控制关系。
2.设计应当是模块化的,即该软件应当从逻辑上被划分成多个部件,分别实现各种特定功能和子功能。
3.设计最终应当给出具体的模块(例如子程序或过程),这些模块就具有独立的功能特性。
4.应当应用在软件需求分析期间得到的信息,采取循环反复的方法来获得设计。
三. 总体设计
1.处理流程
系统的总体处理数据流程如下图:
 
图八总体处理流程图
 
2.总体结构和模块外部设计
模块是软件结构的基础,软件结构的好坏完全由模块的属性体现出来,把软件模块化的目的是为了降低软件复杂性,使软件设计,测试,调试,维护等工作变得简易,但随着模块数目的增加,通过接口连接这些模块的工作量也随之增加。从这些特性可得出如图九的一条总的成本(或工作量)曲线,在考虑模块化时,应尽量使模块数接近于图中的M,它使得研制成本最小,而且应尽量避免不足的模块化或超量。
 
图九模块化与总体成本
3.功能分配
从程序的结构中可以看出,学生的信息输入输出功能是由学生管理系统进行的。课程的信息输入输出是由课程管理系统进行的,而班级的信息流动则是班级管理系统进行的。
四. 接口设计
由于系统的各种内外部接口是通过借助数据库开发软件来实现的,是完全在数据库内部操作的,故在此略过此内容。
1. 外部接口(略)
2. 内部接口(略)
五. 数据结构设计
1. 逻辑结构设计
student_Info 学生基本信息表 
列名 数据类型 可否为空 说明
student_ID INT(4) NOT NULL 学生学号(主键)
student_Name CHAR(10) NULL 学生姓名
student_Gender CHAR(2) NULL 学生性别
born_Date DATETIME(8) NULL 出生日期
class_No INT(4) NULL 班号
tele_Number CHAR(10) NULL 联系电话
ru_Date DATETIME(8) NULL 入校时间
address VARCHAR(50) NULL 家庭住址
comment VARCHAR(200) NULL 注释
 
 
class_Info 班级信息表格
列名 数据类型 可否为空 说明
class_No INT(4) NOT NULL 班号(主键)
grade CHAR(10) NULL 年级
Director CHAR(10) NULL 班主任
Classroom_No CHAR(10) NULL 教室
 
 
course_Info 课程基本信息表
列名 数据类型 可否为空 说明
course_No INT(4) NOT NULL 课程编号(主键)
course_Name CHAR(10) NULL 课程名称
course_Type CHAR(10) NULL 课程类型
course_Des CHAR(50) NULL 课程描述
 
 
gradecourse_Info 年级课程设置表
列名 数据类型 可否为空 说明
grade CHAR(10) NULL 年级
course_Name CHAR(10) NULL 课程名称
 
 
result_Info 学生成绩信息表
列名 数据类型 可否为空 说明
exam_No CHAR(10) NOT NULL 考试编号
student_ID INT(4) NOT NULL 学生学号
student_Name CHAR(10) NULL 学生姓名
class_No INT(4) NULL 学生班号
course_Name CHAR(10) NULL 课程名称
result FLOAT(8) NULL 分数
 
 
user_Info 系统用户表
列名 数据类型 可否为空 说明
user_ID CHAR(10) NOT NULL 用户名称(主键)
user_PWD CHAR(10) NULL 用户密码
user_DES CHAR(10) NULL 用户描述
 
图十数据库逻辑结构图表
2. 物理结构设计
系统的物理结构具体由数据库来设计与生成,此处略。
3. 数据结构与程序的关系
系统的数据结构由标准数据库语言SQL生成。

具体的例如创建系统用户表格 user_Info的程序用SQL表示就是:

CREATE TABLE[dbo].[user_Info](
[user_ID][char](10)COLLATE Chinese_PRC_CI_AS NOT NULL,
[user_PWD][char](10)COLLATE Chinese_PRC_CI_AS NULL,
[user_Des][char](10)COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
 
六. 运行设计
1. 运行模块的组合
具体软件的运行模块组合为程序多窗口的运行环境,各个模块在软件运行过程中能较好的交换信息,处理数据。
2. 运行控制
软件运行时有较友好的界面,基本能够实现用户的数据处理要求。
3. 运行时间
系统的运行时间基本可以达到用户所提出的要求。
七. 出错处理设计
1. 出错输出信息
在用户使用错误的数据或访问没有权限的数据后,系统给出提示:“对不起,你非法使用数据,没有权限!”而且用户的密码管理可以允许用户修改自己的密码,不允许用户的匿名登录。
2. 出错处理对策
由于数据在数据库中已经有备份,故在系统出错后可以依靠数据库的恢复功能,并且依靠日志文件使系统再启动,就算系统崩溃用户数据也不会丢失或遭到破坏。但有可能占用更多的数据存储空间,权衡措施由用户来决定。
八. 安全保密设计
系统的系统用户管理保证了只有授权的用户才能进入系统进行数据操作,而且对一些重要数据,系统设置为只有更高权限的人员方可读取或是操作。系统安全保密性较高。
九. 维护设计
由于系统较小没有外加维护模块,因为维护工作比较简单,仅靠数据库的一些基本维护


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hackbomb2008/archive/2008/02/22/2113849.aspx

转载于:https://www.cnblogs.com/jeffrey725/archive/2009/10/12/1581724.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序异常异常代码: 0xc0000005_Java基础:看完这篇你还怕碰到异常吗?

前言在日常的开发以及平时的学习练习中&#xff0c;异常相信对于大家来讲并不陌生&#xff0c;但是对于异常的具体使用、底层实现以及分类等等可能并不是很了解。今天我就抽出了一点时间系统的整理了异常的各个知识点&#xff0c;希望能够帮助到大家对于Java 异常的理解与学习。…

写给初中级前端工程师的进阶指南

学习一门新技术的时候&#xff0c;最大的苦恼之一&#xff0c;大概就是不知道从何入手。典型的情况是&#xff0c;你大概知道学会以后&#xff0c;这门技术可以帮你解决什么问题。但是&#xff0c;怎么才能学会、循序渐进的学习路线是什么、学习范围有多大的深度和广度、涉及到…

同一页面中引入多个JS库产生的冲突解决方案(转)

发生JS库冲突的主要原因&#xff1a;与jQuery库一样&#xff0c;许多JS库都使用‘$’符号作为其代号。因此在一个页面中引入多个JS库&#xff0c;并且使用‘$’作为代号时&#xff0c;程序不能识别其代表哪个库&#xff08;这个是我自己的解释&#xff0c;但更深的原因就必须深…

不用安装Oracle Client如何使用PLSQL Developer

1. 下载oracle的客户端程序包&#xff08;30M&#xff09;只需要在Oracle下载一个叫Instant Client Package的软件就可以了&#xff0c;这个软件不需要安装&#xff0c;只要解压就可以用了&#xff0c;很方便&#xff0c;就算重装了系统还是可以用的。下载地址&#xff1a;http…

input file的默认value清空与赋值方法

转载链接&#xff1a;http://www.jb51.net/article/24872.htm出于安全性考虑&#xff0c;JS是不能直接设置File的value值的&#xff0c;下面是我总结出来的方法第1个方法是大多人传统做法&#xff0c;替换HTML代码&#xff0c;楼上的已经用到了&#xff0c;我不过是用正则优化一…

python中o_Python I/O与进程的详细讲解

I/Owith语句with context_expression [as target(s)]:with-bodycontext_expression返回值遵从上下文管理协议&#xff0c;包含__enter__()与__exit__()方法&#xff0c;as语句的target(s)得到的是__enter__()返回值&#xff0c;执行with-body后会调用上下文管理器的__exit__()方…

千层套路 - Vue 3.0 初始化源码探秘

关注若川视野, 回复"pdf" 领取资料&#xff0c;回复"1"&#xff0c;可加群长期交流学习刘崇桢&#xff0c;微医云服务团队前端工程师&#xff0c;左手抱娃、右手持家的非典型码农。9 月初 Vue.js 3.0 正式发布&#xff0c;代号 "One Piece"。大秘…

css网页布局兼容性有哪些要点与诀窍

IE vs FFCSS 兼容要点&#xff1a;DOCTYPE 影响 CSS 处理FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中FF: 设置 padding 后, div 会增加 height 和…

js 下拉底部加载|滑轮滚动到页面底部ajax加载数据的实例

转载链接&#xff1a;http://www.cnblogs.com/thinksley/archive/2013/05/12/3074237.html 滚动下拉到页面底部加载数据是很多瀑布流网站的做法&#xff0c;那来看看配合jsonp是如何实现的吧&#xff0c;小菜总结记录之用&#xff0c;高手勿喷。 当然本例子采用的是jquery库&…

python并行for循环_Python并行执行for循环

简介在介绍如何最简单地利用 python 实现并行前&#xff0c;我们先来看一个简单的代码。words [apple, bananan, cake, dumpling]for word in words:print word上面的例子中&#xff0c;我们用一个 for 循环打印出 words 列表中的每个单词。问题来了&#xff0c;这里我们打印完…

C语言之指针与数组总结

和指针相关的问题口诀1&#xff1a; 1. 地址变量得地址&#xff0c;得谁地址指向谁 和指针相关的问题要画图: 内容变量画房子&#xff0c;指针画箭头 ---->口 ---------------------------------------------------- 和指针相关的两个特殊运算符&#xff1a; 一、"&…

2020年大前端技术趋势解读

导Lead语如今的前端早已不再拘泥于满足页面展示&#xff0c;而是开始延展到通过全栈来闭环产品。这表明前端已经有能力透过业务深入产业&#xff0c;继而影响商业结果。这种表象的改变背后是本质的转变&#xff0c;从更为宏观的角度来说&#xff0c;前端正在通过持续的技术革新…

HTML默认样式表CSS属性

转载链接&#xff1a;http://www.xiao-a.com/index.php/archives/440.html 开始的时候 *{margin:0;padding:0;}&#xff0c;当需要使用边距的时候&#xff0c;就需要还原HTML默认CSS值了。以前一直在找这份 文档&#xff0c;今天偶然在w3上看到了。除了inline和block的定义&…

第六集 MSF构思阶段项目团队的组建

第六集 MSF构思阶段项目团队的组建__Note转载于:https://www.cnblogs.com/zencorn/archive/2009/10/18/1585495.html

lc滤波器是利用电感的感抗_你对LC谐振电路你都了解吗

根据在电路中电感器L和电容C的连接方式不同&#xff0c;可以有两种LC谐振电路&#xff0c;LC并联谐振电路和LC串联谐振电路。LC并联、串联谐振电路在应用中的变化较多&#xff0c;是电路中分析的一个难点&#xff0c;只有掌握LC并联、串联电路的阻抗特性等基本概念&#xff0c;…

给小程序再减重 30% 的秘密​(京喜小程序首页瘦身实践)

前言—在 web 开发场景&#xff0c;减少代码体积虽然是性能优化的一个方向&#xff0c;还没到锱铢必较的程度。但是在小程序场景&#xff0c;由于代码包上传阶段限制了主包 2M 和总包 16M&#xff08;近期微信官方正在内测将总包上限调整至 20M &#xff09;的尺寸&#xff0c;…

rfc mail content-type

转载链接&#xff1a;http://www.w3.org/Protocols/rfc1341/0_TableOfContents.html RFC 邮件正文类型列表&#xff1a; Note: this is a hypertext versionof RFC1341 which has been obsoletedby RFC1521, of which no hypertextversion currently exists. Text …

Coolite Toolkit入门指南

Coolite Toolkit 简介 Coolite Toolkit 是一个支持ASP.NET AJAX的Web控件Coolite Toolkit是基于跨浏览器的ExtJS 库开发而来的&#xff0c;并且简化了开发步骤&#xff0c;包含有丰富的Ajax运用Coolite Toolkit和ExtJS 都是开源的可能通过SVN直接获取Coolite 的代码简单的说,就…

本周ASP.NET英文技术文章推荐[10/21 – 10/27]

这一篇是《本周ASP.NET英文技术文章推荐》系列的第一篇&#xff0c;在这个系列中&#xff0c;我将介绍5-10篇比较有价值的、本周发布的、与ASP.NET相关的英文技术文章&#xff0c;帮助各位朋友从良莠不齐的大量文章中挑出一些我认为非常有价值阅读的&#xff0c;在进行一段简要…