当前位置:文档之家› 5:新闻发布系统概要设计-软件工程与UML项目化实用教程(第2版)-刘振华-清华大学出版社

5:新闻发布系统概要设计-软件工程与UML项目化实用教程(第2版)-刘振华-清华大学出版社

本部分以新闻发布系统为例,介绍面向对象设计过程和技术。
任务目录

新闻发布系统体系结构设计

选择开发环境和运行平台

新闻发布系统模式设计

新闻发布系统动态结构设计
任务目录

编制软件测试计划
六 编写软件概要设计说明和数据库设计说明
5.1案例——新闻发布系统模块设计报告
5.1.1文档介绍 5.1.2模块命名规则 5.1.3模块设计
5.2.2面向对象设计原则
1.开闭原则 2.里氏替换原则 3.依赖倒置原则 4.接口隔离原则
5.单一职责原则 6.迪米特法则 7.组合/聚合复用原则 8.简洁化设计
体系结构设计表示计算机软件系统的基础架构,主要从高层描述各组成部分的 关系以及它们的接口。体系结构设计已经成为决定软件系统成功与否的关键因 素。
任务5:新闻发布系统 概要设计
能力目标和知识目标
能力目标
知识目标
1、能够看懂设计图,理解设计 原则。
2、能够使用面向对象设计建模方 法建立系统设计模型。
3、能够运用软件设计的原理及方 法进行功能模块设计、数据库设 计。
4、能根据项目需要选择开发环 境和运行平台。
5、能够编写软件概要设计说明 和数据库设计说明。
1、理解面向对象设计(OOD)概 念。
2、掌握面向对象设计的原则。
3、明确概要设计的任务与步骤。
4、掌握常用软件体系结构知识。
5、掌握结构化软件设计方法和面 向对象软件设计方法。
任务导入
小型、简单的软件系统,一旦明确了要求,就可以立即编写程序。但对于大型软件系统 来说,不能急于进入编程阶段。为了保证软件产品的质量,提高软件开发效率,必须先 制定系统设计方案,确定软件的总体结构,这称为概要设计或结构设计。概要设计阶段 要确定软件的体系结构、模块设计(对象或类设计)和数据库设计,编写数据库设计说 明、用户手册、测试计划,选用相关的软件工具来描述软件结构等。
5.4开发环境及运行平台的选择
新闻发布系统开发环境及运行平台的选择如下: 操作系统:Windows 7。 数据库:SQL Server 2008。 Web服务器:Tomcat 6.0。 开发工具:MyEclipse JSP Editor ,JDK1.5.X 或以上版本。
5.5新闻发布系统模式设计
常用的软件体系结构主要有传统客户机/服务器(C/S)结构、三层C/S结构 、浏览器/服务器(B/S)结构和C/S与B/S混合体系结构。一个小型的软件 可能具有一种软件体系结构,而大型的软件一般由多种软件体系结构组成。
一个软件系统的体系结构设计的好不好,可以用合适性、结构稳定性、 可扩展性、可复用性等特征来评估。
2.MVC结构图
3.MVC Mo5.5.2 DAO设计模式
DAO(Data Access Object的缩写,即数据访问对象)模式在JAVA项目开发 中的应用非常广泛,它能够实现数据库层和业务层的分离及跨数据库平台的移植。
1.DAO 设计模式组成 (1)数据库连接类。 (2)一个 DAO 接口。 描述系统的内部控制机制。过程视图由状态图、协作图以及活动图组成。 (3)一个实现了 DAO 接口的具体类。 (4)VO类。 (5)DAO工厂类。
5.2面向对象设计
面向对象设计(Object Oriented Design,简称OOD)是把分析阶段 得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。 从面向对象分析(OOA)到面向对象设计(OOD)是一个逐渐扩充模型 的过程。
用面向对象方法设计软件,原则上也是先进行概要设计(系统设计), 然后再进行详细设计(对象设计)。
网络应用软件的体系结构主要有两种:C/S结构和 B/S结构。 C/S结构使用之前必须要在每个客户机上安装客户端,且每次 升级或维护都要修改每个客户机上的客户端,非常麻烦,虽然 运行速度很快,但不适应于要求方便、灵活的校园新闻发布; B/S结构不需要在客户机安装客户端,客户机只需要有浏览器, 就可以使用,非常方便,故选择 B/S结构作为校园新闻发布系 统的运行模式。
2.体系结构的选择应考虑的因素
(1)是单机还是客户机/服务器系统。 (2)是常规应用开发还是底层开发(是否有单片机系统)。 (3)客户机最大终端数是多少。 (4)是否提供给第三方应用编程接口。 (5)网络(或数据通信)是什么连接方式。 (6)数据文件的保存方式(文本、本地数据库、大型数据库)。
1.MVC组成
(1)模型。是应用程序的主体部分,负责业务逻辑的处理以及业务规则的制定。其本 质上封装了包含对数据控制及修改的规则在内的数据和行为,提供了一套查询、改变模 型状态的方法。模型位于J2EE架构的业务逻辑层,通常用服务器端JavaBean或EJB实 现。
(2)视图。是应用程序中负责生成用户界面的部分。视图代表用户交互界面,是应用
在实际的软件开发过程中分析和设计二者的界限是模糊的。许多分析结果可以直接映射 成设计结果,而在设计过程中又往往会加深和补充对系统需求的理解,从而进一步完善 分析结果。因此,分析和设计活动是一个多次反复迭代的过程。
结构化设计方法是一种面向数据流的设计方法,它是以结构化方法分析阶段产生的文档 (数据流图、数据字典和软件需求说明书)为基础,自顶向下,逐步求精和模块化的过 程。结构化方法采用软件结构图来描述程序的结构。构成结构图的主要成分有模块、调 用和数据。
面向对象设计包括静态结构设计和动态结构设计。静态结构设计的内容有类 和对象设计、架构设计(设计模式)、包设计、接口设计和数据库设计等, 静态结构设计建模技术包括类的建模、对象的建模、组件图、配置图和数据 库设计类图;动态结构设计指状态和行为的设计,动态结构设计建模技术包 括状态建模(状态图)、行为建模(顺序图和交互图)。新闻发布系统采用 的是面向对象的设计方法。
程序的外在表现。视图一般位于J2EE架构的客户层和Web表示层,通常用JSP实现。
(3)控制器。是模型和视图的纽带,负责解释用户的输入并将其映射为模型的操作,
同时定义应用程序的行为,分派用户的请求并选择恰当的视图用于显示。通过控制器将 模型和视图连接起来,可以在模型和视图之间实现松耦散合。控制器位于J2EE架构 Web表示层,通常用Servelet实现。
相关主题