网上商城概要设计说明书-时序图-状态图-用例图
(面向对象)超市管理系统需求规格说明书

目录一、引言 (2)1.1.立项背景 (2)1.2.立项原因概述 (2)1.3.UML 概述 (2)1.4.参考文献 (3)二、项目概述 (3)2.1.面向的用户 (4)2.2.实现目标 (4)2.3.项目开发要求 (4)2.4.开发工具 (4)三、系统描述 (4)3.1.系统概述 (5)3.2.系统总体结构 (5)3.3各部分功能描述 (5)四、系统分析 (6)1.用例图 (6)2.活动框图 (20)3.时序图 (28)4.类分析 (31)5.类设计 (35)6.库存管理信息系统组件框图 (38)7.库存管理信息系统部署图 (39)五、系统接口 (40)5.1 用户接口 (40)5.2 硬件接口 (40)六、性能需求 (40)6.1 精度要求 (40)6.2时间特征 (41)6.3灵活性 (41)七、软件属性 (41)7.1 系统安全性 (41)7.2 可维护性 (42)八、其它需求 (42)8.1 数据库需求 (42)8.2 系统操作要求 (42)8.3 故障及其处理 (42)一、引言1.1.立项背景21世纪, 超市的竞争也进入到了一个全新的领域, 竞争已不再是规模的竞争, 而是技术的竞争、管理的竞争、人才的竞争。
技术的提升和管理的升级是超市业的竞争核心。
零售领域目前呈多元发展趋势, 多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。
如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模, 成为超市营业者努力追求的目标。
1.2.立项原因概述针对超市的特点, 为了帮助超市解决现在面临的问题, 提高小型超市的竞争力, 我们将开发一个超市管理系统1.3.UML 概述面向对象的系统分析与设计, 包括OOA(面向对象分析)与OOD(面向对象设计)两个部分。
其中OOA 的主要任务是分析问题, 找出问题解决方案。
同时, 发现对象并分析对象内部构成和外部关系, 建立软件系统的对象模型。
OOD 的主要任务是根据已确立的系统对象模型, 运用面向对象技术, 设计对象与类, 进而设计系统结构、人机界面、数据管理、任务管理等子系统。
第2章 统一建模语言UML

UML 2.0
1997年对象管理组织(Object Management Group
,OMG)采纳UML作为其标准建模语言,并通过严 格有序的OMG过程对其进行修订和维护。 1999,UML 1.3,相对稳定成熟阶段 2001-05, UML 1.4 2003年6月宣告完成了UML 2.0 : Infrastructure(底层结构) Superstructure(上层结构) OCL(对象约束语言) Diagram Interchange(图形交换)
关联类
关联类用来记录与关联(关系)有关的信息,提
供与关联有关的操作。
+Employee +Employer
Person
* 1
Company
Employment +Contract
(2)包图
包图在UML中可以看作是类图的一部分。
包用来对一组元素进行划分,是对复杂模型的一
种分而治之的层次划分。 常用来描述一个复杂系统逻辑上的子系统划分。 包图主要由包和包之间的关系组成。 包的划分应遵循高内聚、低耦合的原则,一个包 中可以包含多个类和子包。 包图的图元: 包、依赖关系、导入关系、合并关系
UML 2.0的建模机制
类图 (Class Diagram) 包图 (Package Diagram) 对象图 (Object Diagram) 结构建模 (Structure) 构件图 (Component Diagram)
组合结构图 (Composite Structure Diagram)
UML 2.0 建模机制
* 1
OrderItem
Order
泛化(继承)关系
Person
如何写概要设计

概说概要设计怎么做来源:希赛网作者:厦门巨龙软件工程有限公司卢琳生 [2003/12/22] 摘要:本文是在概要设计实践和学习中的一些心得与学习笔记,希望与大家分享,如有不妥之处欢迎指正。
关键字:概要设计,结构化,OOD正文:在需求明确、准备开始编码之前,要做概要设计,而详细设计可能大部分公司没有做,有做的也大部分是和编码同步进行,或者在编码之后。
因此,对大部分的公司来说,概要设计文档是唯一的设计文档,对后面的开发、测试、实施、维护工作起到关键性的影响。
一、问题的提出概要设计写什么?概要设计怎么做?如何判断设计的模块是完整的?为什么说设计阶段过于重视业务流程是个误区?以需求分析文档还是以概要设计文档来评估开发工作量、指导开发计划准确?结构化好还是面向对象好?以上问题的答案请在文章中找。
二、概要设计的目的将软件系统需求转换为未来系统的设计;逐步开发强壮的系统构架;使设计适合于实施环境,为提高性能而进行设计;结构应该被分解为模块和库。
三、概要设计的任务制定规范:代码体系、接口规约、命名规则。
这是项目小组今后共同作战的基础,有了开发规范和程序模块之间和项目成员彼此之间的接口规则、方式方法,大家就有了共同的工作语言、共同的工作平台,使整个软件开发工作可以协调有序地进行。
总体结构设计:功能(加工)->模块:每个功能用那些模块实现,保证每个功能都有相应的模块来实现;模块层次结构:某个角度的软件框架视图;模块间的调用关系:模块间的接口的总体描述;模块间的接口:传递的信息及其结构;处理方式设计:满足功能和性能的算法用户界面设计;数据结构设计:详细的数据结构:表、索引、文件;算法相关逻辑数据结构及其操作;上述操作的程序模块说明(在前台?在后台?用视图?用过程?······)接口控制表的数据结构和使用规则其他性能设计。
四、概要设计写什么结构化软件设计说明书结构(因篇幅有限和过时嫌疑,在此不作过多解释)任务:目标、环境、需求、局限;总体设计:处理流程、总体结构与模块、功能与模块的关系;接口设计:总体说明外部用户、软、硬件接口;内部模块间接口(注:接口≈系统界面)数据结构:逻辑结构、物理结构,与程序结构的关系;模块设计:每个模块“做什么”、简要说明“怎么做”(输入、输出、处理逻辑、与其它模块的接口,与其它系统或硬件的接口),处在什么逻辑位置、物理位置;运行设计:运行模块组合、控制、时间;出错设计:出错信息、处错处理;其他设计:保密、维护;OO软件设计说明书结构1 概述系统简述、软件设计目标、参考资料、修订版本记录这部分论述整个系统的设计目标,明确地说明哪些功能是系统决定实现而哪些时不准备实现的。
ICONIX方法(用例分析方法实例教程).ppt

Scope-从用例到类图
用例图
ICONIX
类图
What-ICONIX概览
动态
GUI 原型
2. 分析(Analysis)
3. 设计(Design)
4. 交付(Delivery)
Step1:需求
GUI 原型
用例图
有时被称为”探 索”(discovery)阶段
领域模型
发现(Discover)客户真正 想要的东西 发现系统将要如何构建
目标是建立一个清晰的 词汇表(coherent vocabulary)
领域模型
类图 代码
Step4:交付(Delivery)
4.1 编写单元测试用例 4.2 编写代码 4.3 单元测试及集成测试 4.4 系统测试 4.5 验收测试 里程碑:部署
源代码 二进制代码(+安装部署代码) 系统测试记录 验收测试记录
里程碑2:初步设计评审
健壮性分析的目的
对用例进行一致性检查 完整性检查: 是不是处理的所有的分支 继续发现对象 概要设计
三种类型的对象
边界类(Boundary objects) 与用户交互的对 象,如窗口,对话框等等 实体类(Entity objects)长期存在的数据,典 型地是映射到数据库的表结构 控制类(Control objects)包含应用程序逻辑 (intelligence) 实质就是Model-View-Controller(MVC)模式
软件项目概要设计说明书(模板)Word版

××_软件项目概要设计说明书版本:编制:审核:批准:颁布日期:2017年4月18日受控状态:■受控□非受控分发范围:项目组、财务部、质量管理部修订记录传播优秀Word版文档,希望对您有帮助,可双击去除!目录1 引言 (1)1.1 概述 (1)1.2 目的 (1)1.3 范围 (1)1.4 缩略语 (1)1.5 术语 (2)2 参考资料 (2)3 交付需求列表 (2)4 系统物理架构 (2)4.1 系统运行的硬件环境 (2)4.2 系统运行的软件环境 (3)4.3 系统运行的网络环境 (3)4.4 系统部署图 (3)4.5 安装部署说明 (4)5 系统逻辑架构 (5)5.1 子系统一 (5)1.1.1子模块一 (5)1.1.2子模块二 (5)5.2 子系统二 (5)6 实现视图 (5)7 进程视图 (6)8 数据库设计 (6)9 设计约束 (6)10 内部接口定义 (6)11 外部接口 (6)12 开发环境说明 (7)13 技术难点 (7)14 附录 (8)14.1 模型文件 (8)14.2 XXXX (8)××_软件项目概要设计说明书1引言1.1概述{应包括:a. 项目的委托单位、开发单位和主管部门;b. 该软件系统与其他系统的关系。
}本项目交办方为,承办方为。
}1.2目的{阐明编写概要设计说明书的目的,指明读者对象。
}本文档是在用户和开发方对系统进行需求开发,形成软件需求规格说明书后,设计人员分析各个详细需求后,对软件的概要设计。
本文档作为软件概要设计和软件详细设计的重要依据。
软件概要设计人员和软件详细设计人员依此作为工作依据。
1.3读者对象本系统设计说明书的使用读者为:业务经理、软件设计、UI设计人员、测试人员。
1.4范围概要设计要考虑对架构有影响的需求,将系统划分为{子系统一,子系统二},从物理架构,逻辑架构,实现视图,进程视图等四个方面对架构进行描述,定义子系统之间的接口,明确系统依赖的外部接口,说明系统开发准则,选取开发环境,对技术难点进行分析说明。
UML概述ppt课件

用例与用例图
场景:是用来描述用户和系统之间交互的顺序的步骤 用例:是为了达到某一用户目标而组合在一起的一组场景
用例是文本形式的情节描述。用于 需求的发现和记录。参与者使用系统达到的目标, 系统向参与者提供的行为。也就是系统能提供给 参与者什么样的功能
用例图:用来显示在系统(或其它实体)内的用例与系统 参与者之间的关系
UML是一种表达方式
1. 用UML画图很容易
摆脱符号烦恼
但知道要画什么是困难的! 全心面对问题
2. UML仅仅是一种表达形式
用好UML首先需要掌握OOAD的基本原则和 方法,并在一定的软件开发过程(如统一过程 UP/USDP/RUP、ICONIX等)的指导下进行 有取舍的运用
UML历史
U日M发1L9布最97的.版9公U本1布M9为9L7:2.U1O.M01ML.1G1纳.712为0标U0M准8L年1.16被月OM1G2接 工
主要使用场合:需求获取、定义、分析
-14-
用例图元语
用例 参与者
<<exte <nd<>in>clu de>>
扩展 包含 泛化
系统边界 关联
注释体 注释连接
-15-
示例03-01:POST系统
销售点终端(Point-Of-Sale Terminal,POST) 系统
是一个计算机自动化系统 用来记录商品销售信息 处理客户的支付信息 客户可以使用现金、信用卡、支票等多种支付手段 主要用于零售的百货商店 包括计算机和条形码扫描仪等硬件设备和系统运行软
UML的目标
最重要目标:UML是所有建模人员可以使用 的通用建模语言。它包含主流建模方法的 概念,从而可以替代现有的软件分析和设 计方法,比如:OMT,Booch,OOSE等。
Startuml画流程图使用方法

Startuml 画流程图使⽤⽅法程序员难免要经常画流程图,状态图,时序图等。
以前经常⽤ visio 画,经常为矩形画多⼤,摆放在哪等问题费脑筋。
有时候修改⽂字后,为了较好的显⽰效果不得不再去修改图形。
今天介绍的⼯具是如何使⽤ Sublime + PlantUML 的插件画流程图,状态图,时序图等。
这是⼀种程序员看了就会爱上的画图⽅式:⾃然,⾼效。
Alt+d ⽣成图⽚什么是 PlantUMLPlantUML 是⼀个画图脚本语⾔,⽤它可以快速地画出:时序图流程图⽤例图状态图组件图简单地讲,我们使⽤ visio 画图时需要⼀个⼀个图去画,但使⽤ PlantUML 只需要⽤⽂字表达出图的内容,然后就可以直接⽣成图⽚。
看⼀个最简单的例⼦时序图TIPS :使⽤ 来指定标题'->' 和 '-->' 来指⽰线条的形式在每个时序后⾯加冒号 来添加注释使⽤ 来显⽰备注,备注可以指定显⽰在左边或右边使⽤ 来分隔时序图使⽤ 来表⽰延迟省略号节点可以给⾃⼰发送消息,⽅法是发送⽅和接收⽅使⽤同⼀个主体即可⽤例图⽤例图⽤例图是指由参与者(Actor )、⽤例(Use Case )以及它们之间的关系构成的⽤于描述系统功能的静态视图上有简易的⼊门资料,其中⽤例之间的关系 (include, extends) 是关键使⽤ 来定义参与者使⽤括号 来表⽰⽤例,⽤例⽤椭圆形表达使⽤不同的线条表达不同的关系。
包括参与者与⽤例的关系,⽤例与⽤例的关系流程图@startumltitle 时序图== 鉴权阶段 ==Alice -> Bob: 请求Bob -> Alice: 应答== 数据上传 ==Alice -> Bob: 上传数据note left: 这是显⽰在左边的备注Bob --> Canny: 转交数据... 不超过 5 秒钟 ...Canny --> Bob: 状态返回note right: 这是显⽰在右边的备注Bob -> Alice: 状态返回== 状态显⽰ ==Alice -> Alice: 给⾃⼰发消息@endumltitle :note == xxx ==...@startumlleft to right directionactor 消费者actor 销售员rectangle 买单 {消费者 -- (买单)(买单) .> (付款) : include(帮助) .> (买单) : extends(买单) -- 销售员}@endumlactor (xxx)@startumlstart:"步骤1处理";:"步骤2处理";TIPS :使⽤ 来表⽰流程开始,使⽤ 来表⽰流程结束顺序流程使⽤冒号和分号 来表⽰条件语句使⽤ 来表⽰条件语句可以嵌套组件图我们经常使⽤组件图来画部署视图,或者⽤来画系统的拓扑结构图。
软件概要设计和详细设计精要

前段时间在项目上因为阅读某公司的软件详细设计说明书,引发了我的一些思考,这既是自己多年来感悟的一次梳理,也作为我从事企业模型咨询工作的一次总结。
因为涉及的内容太广泛,以下尽量用简洁的语言来叙述。
传统的面向结构的设计,概要设计主要是给出系统整体功能菜单,模块之间的调用关系描述,还有软件系统工作环境的说明;详细设计则主要针对一个模块的算法设计,屏幕界面设计,按钮操作设计等等。
面向结构的软件设计缺点主要有以下两点:1、从业务逻辑到功能菜单的跳跃太大,导致需求及变更的追溯性难以保证;2、结构化开发方法不区分内外,不区分层次,编码语句会把信息全部平铺暴露,使用不当会形成太多的耦合点,修改起来牵一发而动全身,所以应变性很差。
软件行业发展变化太快,上世纪颁布的国家标准都不适应了现在的工程实践。
特别是从软件工程转到面向对象的设计,还有所谓的快速迭代开发方法,完全打乱了原来面向结构的设计步骤。
但是,越是变化快,就越需要理出“变中不变”的约束和规范来。
因此,如何才能划分好概要设计与详细设计的界限,明确其设计的基本思想和原则具有至关重要的意义。
从概要到详细,首先就是要贯彻由整体到局部、由概括到细节,由概念模型到物理模型,由业务逻辑到IT技术实现,由“做什么”的描述到“如何做”的可执行步骤,这是一个由表及里、抽丝剥茧、层层深入的分析过程。
要体现企业架构的思想,既要把业务架构与应用架构平滑过渡,无缝连接,需求分析可追溯不跳跃不中断;又要整体架构可扩充,可伸缩,具有松耦合的特点,这样就便于发生需求变动进行修改。
要体现出概要设计与详细设计之间的“松耦合”和“可验收”的两大特点,就必须找到这两者之间的不变量,就是设计的提交物应该达到可检验的颗粒度,形成成果物体现出“变中不变”的抽象关系。
这样从不变量的角度讲,可以说明概要设计书的确完成了任务,作为详细设计的输入起到了约束条件的作用;从可变的角度讲,就明确了在详细设计阶段必须补充的需求调研,这也是设计者具有的主观能动性可以有所作为的部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北大青鸟网上商城系统
概要设计说明书
第一部分:引言
1.1编写目的
本说明是北大青鸟网上商城电子商务系统案例研究项目软件产品的总体设计和实现说明,记录了系统整体实现上技术层面上的考虑,并且以需求说明作为依据,同时该文档将作为产品实现、特性要求和控制的依据。
软件开发小组的每一位参与开发成员应该阅读本说明,以清楚产品在技术方面的要求和实现策略,本手册将进行技术评审和技术的可行性检查,同时为下一步的详细设计说明提供框架。
1.2背景
A、软件系统的名称:北大青鸟网上商城系统
B、任务提出者:北大青鸟九月J2EE班级第三小组
开发者:北大青鸟九月J2EE班级第三小组
实现完成的系统将作为线销售系统使用,所应用的网络为Internet网络。
C、本系统将是一个独立的系统,目前所产生的输出都是独立的。
本系统将使用Oracle9i作为数据库存储系统.
1.3定义
1.4参考资料
相关的文件包括:
A、内部文件《北大青鸟网上商城电子商务系统案例研究项目》;
B、北大青鸟网上商城电子商务系统案例研究项目分析会议备忘录;
C、《北大青鸟网上商城电子商务系统案例研究项目可行性分析》;
参考资料:
A、北大青鸟Aptech ACCP3.0 Y2《基于软件开发项目的毕业设计》;
B、国家标准《软件需求说明书(GB856T——88)》;
C、亚马逊网站的软件需求说明;
合同:
A、《北大青鸟网上商城电子商务系统案例研究项目合同20040510 - 2》;
第二部分:总体设计
2.1需求规定
需求规定的详细内容,请参考独立的文档《北大青鸟网上商城项目需求说明》.
2.2运行环境
2.2.1、硬件设备要求:
客户程序硬件要求:
具有Pentium III 处理器且满足以下要求的计算机:
最低64 MB 内存
最小 2.1 GB 硬盘
鼠标
键盘
服务器硬件需求:
具有Pentium III 处理器且满足以下要求的计算机:
最低512MB 内存
最小8 GB 硬盘
鼠标
键盘
2.2.2、支持程序
客户程序软件:
Windows 98/NT /2000或更高版本
数据库服务器软件:
Windows NT / 2000 Server 或更高版本
Oracle9i/SQL Server 2000/My Sql/Access
2.3基本设计概念和处理流程
本系统的实现采用典型的三层模式、B/S结构来实现,不同的客户端程序共同访问中心
数据库,系统结构如图1:
Oracle9i服务器/
SQL Server2000
图1:系统结构
设计说明:
1、每一个计算机需要安装浏览器;
2、每个客户程序通过中间件访问中央的数据库服务器;
3、数据库服务器使用Oracle9i或SQL Server2000来实现;
4、多用户并发访问和处理、数据加锁、事务协调,由Oracle9i/SQL Server 数据库和数据库
服务器来完成;
2.4结构
应用程序的内部结构采用分层编码来实现,并且为保证各子系统的独立性,结合了JavaBean组件技术。
系统规划的结果采用图2来表示。
图2:系统逻辑结构(分层编码)
功能和模块的划分:
图3:系统模块划分
模块划分说明:
1、登录和安全被独立地设计为一个JavaBean控件;
2、数据访问模块设计为一个独立的JavaBean组件,以方便其他应用程序开发重用;
用例图:
说明:该用例图详细用户和系统之间的交互细节,体现本系统的业务逻辑.在整个开发过程中将依照以上业务逻辑确定解决问题方案.
时序图
1:
说明:以上是管理员与系统交互的时序图.体现了管理员与系统交互的细节和管理员的权限.
时序图2:
说明:以上是普通用户和系统交互的时序图,描述普通用户在不同时间段的业务状态.
数据访问架构层:
跨数据库的DAO模式框架:
管理员状态图:
用户状态图:
2.5功能需求与程序的关系
在需求说明中规定要实现的功能,对应的模块和程序实现如下:
说明:
1、主界面组织了这些功能和模块,为用户操作提供一个框架;
2、论坛是一个单独的模块,通过WinSock控件、TCP/IP协议来实现;
3、以上划分的模块、子系统,在逻辑上相对独立,因此被划分成相对独立的模块,这种方式的划分为系统的实现能够提供更加明确的思路,但是,这些模块在实现的时候不能够达到完全的内聚,因此,实现的成员安排,请参考项目计划中的人员安排;
4、模块之间的接口设计,请参考以下的说明;
2.6人工处理过程
(不适用)
2.7尚未问决的问题
需求中的问题在本设计中已经全部实现,但是,基于一般的考虑,可能会在开发过程或者后期版本中增加的功能包括:
1、公司人力资源管理系统;
2、财务管理系统;。
(说明:若已经解决了需求中存在的问题,以上的可以不属于尚未解决的问题;)第三部分、接口设计
本系统采用JA V A进行开发,所提供的不同层次的接口,都具有高度的集成性,本系统没有采用低级语言设计和完成自定义的接口,因此接口设计大部分已经由不同方式的JavaBean组件来完成了,以下只做简单的说明。
3.1用户接口
本系统提供可视化的操作方式,不提供命令控制语句进行输入控制,从而用户只需要使用鼠标进行命令操作,使用键盘输入系统接收的参数。
用户接口集中在图2中的界面层,用户主要通过窗体、控件、对话框等可视化元素进行交互。
输入输出,界面接口操作包括以下的方面:
详细的接口设计和说明,请参考《北大青鸟网上商城案例研究项目详细设计说明》。
3.2外部接口
JA V A应用程序包括了支持程序,主要的支持程序为JavaBean,有关JavaBean的相关说明,请参考其他资料。
“网上商城”通过JavaBean接口访问数据库,纯Java方式对数据库访问对象进行了层次式的封装,详细的有关纯Java方式的说明,请参考纯Java方式相关的技术资料。
与数据库的接口设计,主要集中在图2中数据库访问模块的独立封装部分,详细的接口、访问调用,请参考《北大青鸟网上商城系统详细设计说明》。
3.3内部接口
内部接口主要集中在两个方面,在图2中,包括:
A、中间处理层对数据库访问层数据的调用和处理;
B、界面层对中间数据库处理层的调用、控制命令的响应;
中间的数据处理层对数据访问层的数据调用可以用图4来描述:
包含不同的业务对象的业务集合对象,作为调用者的参数进行传递。
对于只执行T-SQL的操作,由业务对象组装T-SQL,直接调用数据库访问对象。
界面层对中间数据库处理层的调用、控制命令的响应接口描述如图5;
图5:界面层与数据处理层的接口
不同的业务逻辑对象,实现不同界面层的接口。
详细的接口设计,请参考《北大青鸟网上商城系统详细设计说明》。
说明:
1、若应用程序采用了多态实现的Implements语句实现不同组件之间的扩展接口,需要在内部接口中进行描述;
2、采用低级语言实现的接口,需要在对应的部分加以描述;
3、接口设计可以采用不同形式的图表来说明;
)。