软件工程三、设计模型
数据设计
架构设计
界面设计
模块设计三、设计模型
数据设计将需求分析阶段产生的信息模型转换为实现软件的数据结构。数据对象、数据之间的关系以及数据的内容是数据设计活动的基础。
架构设计定义软件中各个主要结构元素之间的关系,
架构模型主要是确定一种设计模式。
界面设计定义了与系统的交互以及人机操作界面等。
模块设计是将软件架构的结构元素变换为软件模块的处理。
三、设计模型
1、架构设计
软件架构又称为软件的体系结构。软件系统的架构用来描述系统各部分的结构、接口以及它们用于通信的机制。
1)以数据为中心的结构
2)基于数据流的结构
3)调用 -返回结构
4)面向对象的体系结构
5)分层体系结构三、设计模型
1)以数据为中心的系统
以数据为中心的架构中,数据(数据库、文件)是整个架构的中心,其他的模块经常对这些数据进行增加、删除、修改等操作。模块的独立性很好。
三、设计模型
2)基于数据流的系统
该体系结构用于输入数据通过一系列计算或操纵构件变换为输出数据的情形。这种结构中每一个组成成分都有一套输入和输出数据,都依输入数据 -处理 -输出结果的方式工作。
过滤器
管道三、设计模型
3)调用 -返回体系结构
该体系结构相对容易修改和扩张的程序结构。
主程序 /子程序架构
远程调用模式。
三、设计模型
4)面向对象的体系结构
系统的构件封装数据和必须应用到该数据上的操作。
构件通过消息传递进行通信和协作。
O bj ect 1 O bj ect 2 O bj ect 3
对象消息三、设计模型
5)分层体系结构
体系结构中定义一系列不同的层次,各自完成操作。在最外层,构件完成用户界面操作,在最内层,构件完成操作系统接口,这些操作不断地变得和机器指令集接近。
中间的层次提供实用程序服务和应用软件功能。
三、设计模型
系统体系结构又可以从另外一个角度上分为逻辑体系结构和物理体系结构。
1)逻辑体系结构
逻辑体系结构涉及到系统的功能,把功能分配到系统的不同部分,并详细地指明解决方案是如何工作的。
UML中以用例图、类图、对象图、状态图、活动图、协作图和时序图来描述逻辑体系结构。
三、设计模型
三层结构的公共逻辑体系结构
U I P a cka g e
M i c r o so f t F o u n d a t i o n
C l a sse s
A p p l i ca t i o n
Wi n d o w s
A c t i ve X C o m p o n e n t s
P a cka g e
B u si n e ss O b j e ct s P a cka g e
S e r vi ce
I n t e r f a c e
C o n t r o l B u si n e s s
O b j e ct s
E x t e r n a l B u si n e ss O b j e ct s
( L e g a cy S yst e m Wr a p p e r )
E n t i t y B u s i n e ss
O b j e ct s
D B P a cka g e
O b j e ct T o R e l a t i o n a l
T r a n sl a t i o n P a ck a g e
S Q L G e n e r a t o r
P a cka g e
三、设计模型
2)物理体系结构
物理体系结构涉及系统的详细描述,它显示了硬件的结构,
包括不同的节点和这些节点之间如何连接,它还展示了代码模块(这些代码模块实现了逻辑体系结构中定义的概念)
的物理结构和依赖关系,并展示了对进程、程序、构件的软件在运行时的物理分配。
UML中物理体系结构用构件图和配置图来描述。
三、设计模型
2、数据设计
数据设计主要进行数据库的设计。
数据模型可以分为概念数据模型( CDM)和物理数据模型( PDM)。
概念数据模型设计的目标是产生反应系统信息需求的整体数据库概念结构,即概念数据模型就是数据库的逻辑设计,描述的主要工具是 E-R( Entity-
Relationship)图。
物理数据模型是将概念结构转换成特定 DBMS(数据管理工具系统)所支持的数据模型的过程,是数据库的物理设计,即物理表。
三、设计模型
工具,Sybase公司 --PowerDesigner
业务处理模型( BPM)
概念数据模型( CDM)
物理数据模型( PDM)
面向对象模型( OOM)
三、设计模型
1)概念数据模型( conceptual data model,
简称 CDM)
主要用在系统开发的数据库设计阶段,是按用户的观点来对数据和信息进行建模,并用实体 -关系图
( E-R图)来体现。
CDM静态地描述系统中的各个实体以及相关实体之间的关系。
三、设计模型
学生选课系统的 CDM
R e la tio n sh ip _ 4
R e la tio n sh ip _ 3
R e la tio n sh ip _ 5
R e la tio n sh ip _ 6
R e la tio n sh ip _ 7
教师教师编号教师姓名院系性别学历
< p i> N 1 0
V A 2 0
V A 5 0
BL
V A 1 0
< M >
< M >
< M >
< M >
< M >
P ro fe sso r_ ID < p i>
学生学号姓名院系专业年级班级
< p i> N 1 0
V A 2 0
V A 5 0
V A 5 0
V A 2 0
V A 2 0
< M >
< M >
< M >
< M >
< M >
< M >
S tu d e n t_ ID < p i>
课程登记表流水号必选课程 1
必选课程 2
必选课程 3
备选课程 1
备选课程 2
< p i> I
N 1 0
N 1 0
N 1 0
N 1 0
N 1 0
< M >
< M >
< M >
< M >
< M >
lsh ID < p i>
课程目录流水号开课学年开课院系
< p i> N 1 0
V A 2 0
V A 5 0
< M >
< M >
< M >
C _ ID < p i>
课程课程编号课程名称课程类别学时学分开课学期授课层次
< p i> N 1 0
V A 2 0
V A 1 0
N 1 0
SF
I
V A 1 0
< M >
< M >
< M >
< M >
< M >
< M >
< M >
C o u rse _ ID < p i>
课程开设信息流水号开课地点
< p i> N 1 0
V A 2 0
< M >
< M >
C P _ ID < p i>
三、设计模型
2)物理数据模型( physical data model,简称 PDM)
提供了系统初始设计所需要的基础元素,以及相关元素之间的关系。
物理数据模型是以常用的 DBMS理论为基础,将
CDM中所建立的现实世界模型生成相应的 DBMS的
SQL语言脚本,利用该 SQL脚本在数据库中产生现实世界信息的存储结构(表、约束等),并保证数据在数据库中的完整性和一致性。
三、设计模型
学生选课系统 PDM
F K _ S C H E D U L E _ R E L A T I O N S _ S T U D E N T
F K _ S T U D E N T _ R E L A T I O N S _ S C H E D U L E
F K _ C O U R S E O F _ R E L A T I O N S _ C O U R S E
F K _ C O U R S E C A _ R E L A T I O N S _ C O U R S E
F K _ C O U R S E O F _ R E L A T I O N S _ P R O F E S S O
F K _ S C H E D U L E _ R E L A T I O N S _ C O U R S E
教师教师编号教师姓名院系性别学历
n u m e r ic( 1 0 )
v a r ch a r ( 2 0 )
v a r ch a r ( 5 0 )
b it
v a r ch a r ( 1 0 )
< p k>
学生学号流水号姓名院系专业年级班级
n u m e r ic( 1 0 )
in t
v a r ch a r ( 2 0 )
v a r ch a r ( 5 0 )
v a r ch a r ( 5 0 )
v a r ch a r ( 2 0 )
v a r ch a r ( 2 0 )
< p k>
< f k>
课程登记表流水号学号课程编号必选课程 1
必选课程 2
必选课程 3
备选课程 1
备选课程 2
in t
n u m e r ic( 1 0 )
n u m e r ic( 1 0 )
n u m e r ic( 1 0 )
n u m e r ic( 1 0 )
n u m e r ic( 1 0 )
n u m e r ic( 1 0 )
n u m e r ic( 1 0 )
< p k>
< f k1 >
< f k2 >
课程目录流水号课程编号开课学年开课院系
n u m e r ic( 1 0 )
n u m e r ic( 1 0 )
v a r ch a r ( 2 0 )
v a r ch a r ( 5 0 )
< p k>
< f k>
课程课程编号课程名称课程类别学时学分开课学期授课层次
n u m e r ic( 1 0 )
v a r ch a r ( 2 0 )
v a r ch a r ( 1 0 )
n u m e r ic( 1 0 )
r e a l
in t
v a r ch a r ( 1 0 )
< p k>
课程开设信息流水号课程编号教师编号开课地点
n u m e r ic( 1 0 )
n u m e r ic( 1 0 )
n u m e r ic( 1 0 )
v a r ch a r ( 2 0 )
< p k>
< f k1 >
< f k2 >
三、设计模型
学生选课系统数据库表关系图三、设计模型
3、用户界面设计
用户界面是任何计算机进行沟通的媒介,它遵循一定的设计原则,表示界面和相应的操作,
创建屏幕布局设计,以此作为用户界面原型的基础。
三、设计模型
4、模块设计
将数据模型、架构模型、界面模型变为可操作的软件。
四、体系结构介绍
1、主机模式
2,C/S模式
3,B/S模式
4,MVC
四、体系结构介绍四、体系结构介绍
1)视图
视图是用户看到并与之交互的界面,视图像用户现实相关的数据,并接受用户的输入数据,但是并不进行任何实际的业务逻辑,视图可以向模型查询业务状态,但不能改变模型,视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。
2)控制器
控制器接受用户的输入并调用模型和视图完成用户的需求,当 Web用户发送 HTML表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图显示模型返回的数据。
四、体系结构介绍
3)模型
模型是应用程序的主体部分,模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据,由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。
五、概要设计过程及概要设计文档
1、概要设计过程
概要设计过程是根据产品规格或者需求规格对系统的结构、接口、模块等进行设计,并根据设计结果产生系统设计报告的过程。
在设计过程中,可根据系统的情况,采用不同的设计方法(如结构化设计方法、面向对象的设计方法等)和不同的体系结构对系统进行设计。
具体过程 P88
五、概要设计过程及概要设计文档
2、概要设计说明书
概要设计说明书 课本 P89
六、案例说明
网上招聘系统的概要设计
系统功能简介
系统结构设计
系统功能模块; Struts体系结构;
系统接口设计
数据设计
模块设计
界面设计总结
概要设计方法
设计模型
软件体系结构