.编写目的
编写此需求分析报告,实现商场、中小企业或个人在互联网上进行新产品展示,网上通信留言功能,重点实现网上商品的查找、在线购买功能。实现普通用户只能浏览,注册用户可以在线定购,后台管理人员可以进行产品上传更新、注册用户的管理等功能。
1.2.项目背景
项目名称:ASP网上购物系统
项目委托单位: hyst105040701
项目开发单位:040701班
项目简介:本系统主要实现网上产品展示与在线定购及人员的管理,一、不同身份有不同的权限功能(管理人员、注册用户、游客) 二、在线产品展示(分页显示) 三、在线定购 四、后台管理(用户管理、商品的管理)
(本系统为040701班的毕业设计项目)
1.3.问题陈述
对用户提供的服务有:
l 在线产品展示
l 在线查找功能
l 在线下订单。
l
2.任务概述
2.1.需求概述
2.1.1.在线展示
只要登录到网站后,就可以在线浏览展示商品,
最新商品动画展示
在线购买商品从后台数据库动态显示商品图片与产品名。
单击产品名或图片就看到产品的详细介绍。要添加购买与收藏功能。
2.1.2.在线下订单:
只有注册用户才能利用该系统下订单。注册后并且处于激活状态才可以购物下订单。非注册用户和处于非激活状态的用户,只能浏览商品的基本情况。用户登录后,就可以使用系统提供的各种功能。
单击产品对应的购买按钮后,要显示购物车界面,在该界面中要实现购买产品数量统计、总价格统计及每种产品的购买时间。
在购物车中,可以实现继续购买、产品数量的修改、删除购买物品、到收银台付款功能。
在信息填写与提交中,要实现“返回上一步”修改功能,实现所以信息统计界面。实现产生订购单号功能。
2.1.3后台管理服务
管理员修改功能
商品管理功能
会员管理功能
2.1.4留言功能
2.2.运行环境
服务器端: ASP+SQLSERVER2000+IIS 5.0
客户端: IE浏览器
2.3.开发环境
SQLServer数据库+IIS5.0+Windows2000+Dreamweaver2004
2.5.限制和约束
l 一个客户在系统中只有一个账号。
l 客户要想购物必须先登陆。
l 管理员只能进行三次登录
3.总体设计
3.1.参与者(不同使用身份)
Ø 游客
Ø 注册用户
Ø 管理员
3.2购物流程
1) 注册用户(注:在欢迎页面,未登陆的用户可浏览商品信息)
2) 用户登陆(注:在欢迎页面)
3) 浏览商品信息
4) 选择购物和数量(攒机或是单一购买)
5) 选择付款方式(如汇款定单状态默认为3)
6) 确定购买(插入数据库购物单表)
7) 系统处理购物单表插入定单表并设置1,(返回订单id)
8) 定单查询(可按定单号和全部查询),定单状态为1、3的可以取消,状态为6的付款方式为货到付款的可以取消。
9) 定单收到后,由客户签字,把定单状态改为2
3.3系统管理员流程
1) 登陆
2)修改管理员密码
3)会员用户的删除、修改、添加
4)商品的添加,
5)购买商品的浏览、删除与更新
4 数据描述
本系统中共有6张表,管理员表、用户信息表、产品表、产品类型表、购物单表、留言表。每种表具体字段及类型见下表:(可以根据自己的需要增加表,但主要表的字段不能少。)
管理员表-admins
字段名 字段 类型 长度 说明
管理员ID u_id 自增 not null 主
姓名 u_Name varchar(10) not null 10
密码 u_Pwd char(8) not null 定长 8
用户信息表-userInfo
字段名 字段 类型 长度 说明
用户名 u_Name varchar(10) 10 主
真实姓名 u_TrueName varchar(8) 8
身份证号 u_IDcard char(18) not null 18 定长
性别 u_Sex char(2) not null 2 定长
年龄 u_Age tinyint not null 2
住址 u_Add nvarchar(40) not null 40
联系电话 u_Tel char(11) not null 11 定长
邮编 u_ Postalcode char(6) not null 6 定长
E-mail u_Email varchar(40)
备注 u_Remark nvarchar(100)
产品表-goods
字段名 字段 类型 长度 说明
商品ID 1.1 goods_id char(2) 主
商品类型ID 1.1 goodsType_id char(2) not null 外
商品名 goods_name nvarchar Not NULL 8
价格 goods_price smallmoney not null 18
会员价 Goods_price1 nvarchar(40) 80
图片 goods_photo varchar(80) 80 图片的位置
描述 goods_depict nvarchar(100) 200
产品类型表-goodsType
字段名 字段 类型 长度 说明
1.1 商品类型ID 1.1 goodsType_id char(2) not null
软件概要设计的编写要注意哪些方面??最好是技术上的!!!
概要设计一定是在用户需求分析的基础上进行的,是对需求的技术响应。
简单的说,首先要明确阐述系统的建设目标、建设原则,给出系统的功能模块组成(用层次结构图表示出系统应具有那些功能或子系统,每个功能或子系统下面又包含哪些模块),如果涉及到数据库,至少要分析出需要哪几个表。
目前有国家一些这方面(软件工程)的技术规范,给出了大致内容,可以参照模板进行撰写。
如何看待软件概要设计
在需求明确、准备开始编码之前,要做概要设计,而详细设计可能大部分公司没有做,有做的也大部分是和编码同步进行,或者在编码之后。因此,对大部分的公司来说,概要设计文档是唯一的设计文档,对后面的开发、测试、实施、维护工作起到关键性的影响。
一、问题的提出
概要设计写什么?概要设计怎么做?
如何判断设计的模块是完整的?
为什么说设计阶段过于重视业务流程是个误区?
以需求分析文档还是以概要设计文档来评估开发工作量、指导开发计划准确?
结构化好还是面向对象好?
以上问题的答案请在文章中找。
二、概要设计的目的
将软件系统需求转换为未来系统的设计;
逐步开发强壮的系统构架;
使设计适合于实施环境,为提高性能而进行设计;
结构应该被分解为模块和库。
三、概要设计的任务
制定规范:代码体系、接口规约、命名规则。这是项目小组今后共同作战的基础,有了开发规范和程序模块之间和项目成员彼此之间的接口规则、方式方法,大家就有了共同的工作语言、共同的工作平台,使整个软件开发工作可以协调有序地进行。
总体结构设计:
功能(加工)->模块:每个功能用那些模块实现,保证每个功能都有相应的模块来实现;
模块层次结构:某个角度的软件框架视图;
模块间的调用关系:模块间的接口的总体描述;
模块间的接口:传递的信息及其结构;
处理方式设计:满足功能和性能的算法
用户界面设计;
数据结构设计:
详细的数据结构:表、索引、文件;
算法相关逻辑数据结构及其操作;
上述操作的程序模块说明(在前台?在后台?用视图?用过程?······)
接口控制表的数据结构和使用规则
其他性能设计。
四、概要设计写什么
结构化软件设计说明书结构(因篇幅有限和过时嫌疑,在此不作过多解释)
任务:目标、环境、需求、局限;
总体设计:处理流程、总体结构与模块、功能与模块的关系;
接口设计:总体说明外部用户、软、硬件接口;内部模块间接口(注:接口≈系统界面)
数据结构:逻辑结构、物理结构,与程序结构的关系;
模块设计:每个模块“做什么”、简要说明“怎么做”(输入、输出、处理逻辑、与其它模块的接口,与其它系统或硬件的接口),处在什么逻辑位置、物理位置;
运行设计:运行模块组合、控制、时间;
出错设计:出错信息、处错处理;
其他设计:保密、维护;
OO软件设计说明书结构
1 概述
系统简述、软件设计目标、参考资料、修订版本记录
这部分论述整个系统的设计目标,明确地说明哪些功能是系统决定实现而哪些时不准备实现的。同时,对于非功能性的需求例如性能、可用性等,亦需提及。需求规格说明书对于这部分的内容来说是很重要的参考,看看其中明确了的功能性以及非功能性的需求。
这部分必须说清楚设计的全貌如何,务必使读者看后知道将实现的系统有什么特点和功能。在随后的文档部分,将解释设计是怎么来实现这些的。
2 术语表
对本文档中所使用的各种术语进行说明。如果一些术语在需求规格说明书中已经说明过了,此处不用再重复,可以指引读者参考需求说明。
3 用例
此处要求系统用用例图表述(UML),对每个用例(正常处理的情况)要有中文叙述。
4 设计概述
4.1 简述
这部分要求突出整个设计所采用的方法(是面向对象设计还是结构化设计)、系统的体系结构(例如客户/服务器结构)以及使用到的相应技术和工具(例如OMT、Rose)
4.2 系统结构设计
这部分要求提供高层系统结构(顶层系统结构、各子系统结构)的描述,使用方框图来显示主要的组件及组件间的交互。最好是把逻辑结构同物理结构分离,对前者进行描述。别忘了说明图中用到的俗语和符号。
4.3 系统界面
各种提供给用户的界面以及外部系统在此处要予以说明。如果在需求规格说明书中已经对用户界面有了叙述,此处不用再重复,可以指引读者参考需求说明。如果系统提供了对其它系统的接口,比如说从其它软件系统导入/导出数据,必须在此说明。
4.4 约束和假定
描述系统设计中最主要的约束,这些是由客户强制要求并在需求说明书写明的。说明系统是如何来适应这些约束的。
另外如果本系统跟其它外部系统交互或者依赖其它外部系统提供一些功能辅助,那么系统可能还受到其它的约束。这种情况下,要求清楚地描述与本系统有交互的软件类型以及这样导致的约束。
实现的语言和平台也会对系统有约束,同样在此予以说明。
对于因选择具体的设计实现而导致对系统的约束,简要地描述你的想法思路,经过怎么样的权衡,为什么要采取这样的设计等等。
5 对象模型
提供整个系统的对象模型,如果模型过大,按照可行的标准把它划分成小块,例如可以把客户端和服务器端的对象模型分开成两个图表述。在其中应该包含所有的系统对象。这些对象都是从理解需求后得到的。要明确哪些应该、哪些不应该被放进图中。所有对象之间的关联必须被确定并且必须指明联系的基数。聚合和继承关系必须清楚地确定下来。每个图必须附有简单的说明。
6 对象描述
在这个部分叙述每个对象的细节,它的属性、它的方法。在这之前必须从逻辑上对对象进行组织。你可能需要用结构图把对象按子系统划分好。
为每个对象做一个条目。在系统对象模型中简要的描述它的用途、约束(如只能有一个实例),列出它的属性和方法。如果对象是存储在持久的数据容器中,标明它是持久对象,否则说明它是个临时对象(transient object)。
对每个对象的每个属性详细说明:名字、类型,如果属性不是很直观或者有约束(例如,每个对象的该属性必须有一个唯一的值或者值域是有限正整数等)。
对每个对象的每个方法详细说明:方法名,返回类型,返回值,参数,用途以及使用的算法的简要说明(如果不是特别简单的话)。如果对变量或者返回值由什么假定的话,Pre-conditions和Post-conditions必须在此说明。列出它或者被它调用的方法需要访问或者修改的属性。最后,提供可以验证实现方法的测试案例。
7 动态模型
这部分的作用是描述系统如何响应各种事件。一般使用顺序图和状态图。
确定不同的场景(Scenario)是第一步,不需要确定所有可能的场景,但是必须至少要覆盖典型的系统用例。不要自己去想当然地创造场景,通常的策略是描述那些客户可以感受得到的场景。
7.1 场景(Scenarios)
对每个场景做一则条目,包括以下内容:
场景名:给它一个可以望文生义的名字
场景描述:简要叙述场景是干什么的以及发生的动作的顺序。
顺序图:描述各种事件及事件发生的相对时间顺序。
7.2 状态图
这部分的内容包括系统动态模型重要的部分的状态图。可能你想为每个对象画一个状态图,但事实上会导致太多不期望的细节信息,只需要确定系统中一些重要的对象并为之提供状态图即可。
8 非功能性需求
五、概要设计怎么做
结构化软件设计方法:
详细阅读需求规格说明书,理解系统建设目标、业务现状、现有系统、客户需求的各功能说明;
分析数据流图,弄清数据流加工的过程;
根据数据流图决定数据处理问题的类型(变换型、事务型、其他型);
通过以上分析,推导出系统的初始结构图;
对初始结构图进行改进完善:所有的加工都要能对应到相应模块(模块的完整性在于他们完成了需求中的所有加工),消除完全相似或局部相似的重复功能(智者察同),理清模块间的层次、控制关系,减少高扇出结构,随着深度增大扇入,平衡模块大小。
由对数据字典的修改补充完善,导出逻辑数据结构,导出每种数据结构上的操作,这些操作应当属于某个模块。
确定系统包含哪些应用服务系统、客户端、数据库管理系统;
确定每个模块放在哪个应用服务器或客户端的哪个目录、哪个文件(库),或是在数据库内部建立的对象。
对每个筛选后的模块进行列表说明。
对逻辑数据结构进行列表说明。
根据结构化软件设计说明书结构对其他需要说明的问题进行补充说明,形成概要设计说明书。
OO软件设计方法:
在OOA基础上设计对象与类:在问题领域分析(业务建模和需求分析)之后,开始建立系统构架。
第一步是抽取建立领域的概念模型,在UML中表现为建立对象类图、活动图和交互图。对象类就是从对象中经过“察同”找出某组对象之间的共同特征而形成类:
对象与类的属性:数据结构;
对象与类的服务操作:操作的实现算法;
对象与类的各外部联系的实现结构;
设计策略:充分利用现有的类;
方法:继承、复用、演化;
活动图用于定义工作流,主要说明工作流的5W(Do What、Who Do、When Do、Where Do、Why Do)等问题,交互图把人员和业务联系在一起是为了理解交互过程,发现业务工作流中相互交互的各种角色。
第二步是构建完善系统结构:对系统进行分解,将大系统分解为若干子系统,子系统分解为若干软件组件,并说明子系统之间的静态和动态接口,每个子系统可以由用例模型、分析模型、设计模型、测试模型表示。软件系统结构的两种方式:层次、块状
层次结构:系统、子系统、模块、组件(同一层之间具有独立性);
块状结构:相互之间弱耦合
系统的组成部分:
问题论域:业务相关类和对象(OOA的重点);
人机界面:窗口、菜单、按钮、命令等等;
数据管理:数据管理方法、逻辑物理结构、操作对象类;
任务管理:任务协调和管理进程;
软件概要设计文档应该具有什么内容
一、概论1、编写目的2、编写背景3、对系统的大致描述二、业务概述和逻辑设计1、对系统几大主体的描述2、对系统几大业务流程描述3、用UML对其进行总体描述三、技术架构在此章决定使用那种技术体系,具体的技术有那些,描述他们之间是怎么协同运作的。四、功能模块设计描述系统有那些主要功能,这些功能应该用何种技术,大致是如何实现的五、接口设计六、应急系统设计七、安全设计描述系统应该具有的安全级别,以及达到此安全等级的所采用的技术措施八、运行环境设计从硬件网络方面描述概要设计的目的就是希望一个从来没有接触过的人一看就能从各个方面都对系统的作用,功能,实现方面有一个大概了解,并为以后的各类详细设计文档提供一个指引和方向。
软件概要设计说明书怎么写
通用的软件概要设计说明书国家有标准。例如概要设计说明书(GB8567-88)包括如下内容:
1引言
1.1编写目的
1.2背景
1.3定义
1.4参考资料
2总体设计
2.1需求规定
2.2运行环境
2.3基本设计概念和处理流程
2.4结构
2.5功能器求与程序的关系
2.6人工处理过程
2.7尚未问决的问题
3接口设计
3.1用户接口
3.2外部接口
3.3内部接口
4运行设计
4.1运行模块组合
4.2运行控制
4.3运行时间
5系统数据结构设计
5.1逻辑结构设计要点
5.2物理结构设计要点
5.3数据结构与程序的关系
6系统出错处理设计
6.1出错信息
6.2补救措施
6.3系统维护设计
根据具体项目内容可以有所微调。
软件工程里面概要设计和详细设计各自做到什么程度怎么界定啊?看了很多介绍,还是不满意呀。
概要设计主要阐述系统的目标、建设原则,系统的功能模块及数据库概要设计(有哪些表名),概要设计面向设计人员和用户,简单说,用户也能看得懂,不要求太细节,是对用户需求的技术响应,是二者沟通的桥梁。
详细设计则是在概要设计的基础上对系统的各个模块进一步细化,分析各个模块的子模块,甚至给出各子模块的算法;数据库设计方面则要求到具体每张表的字段。通常面向开发人员,应该是开发人员看了你的详细设计,就可以直接写代码。
为什么要写软件概要设计说明书
必须的。方便管理和后期研发的项目把控。
那概要设计说明书的目的怎么写,读者对象是谁?
设计来干啥用的就是啥目的。读者对象得看你那软件的用途。开发者和管理层肯定会过目。其它就看会不会牵涉到使用者咯。 你可以在网上搜一些说明书的范例做参考。
转载请注明出处51数据库 » 软件概要设计报告 软件概要设计说明书
亖呉?盀