软件系统分析与设计

2024-08-30 版权声明 我要投稿

软件系统分析与设计(精选8篇)

软件系统分析与设计 篇1

软件工程基础知识 1.1软件工程知识体系

 软件需求(Software Requirements) 软件设计(Software Design)

 软件构造(Software Construction) 软件测试(Software Testing) 软件维护(Software Maintenance)

 软件配置管理(Software Configuration Management) 软件工程管理(Software Engineering Management) 软件工程过程(Software Engineering Process)

 软件工程工具和方法(Software Engineering Tools and Methods) 软件质量(Software Quality)

1.2软件生存周期与软件开发模型

 1.2.1 软件生存周期

 Boehm定义的软件生存周期模型

 GB 8566-1988定义的软件生存周期模型

 GB/T 8566-1995定义的软件生存周期过程模型  GB/T 8566-2001定义的软件生存周期过程模型  UP定义的软件生存周期模型

 1.2.2 软件开发模型

 瀑布模型(waterfall model)

 快速原型模型(rapid prototype model) 演化模型(evolutionary model) 增量模型(incremental model) 螺旋模型(spiral model)

 喷泉模型(water fountain model)

1.3软件质量模型与软件质量管理

 1.3.1 软件质量模型

 软件产品的内部质量、外部质量和使用质量  质量特性、质量子特性和度量

 功能性:适宜性、准确性、互用性、依从性、安全性  可靠性:成熟性、容错性、可恢复性  可用性:可理解性、易学性、可操作性  效率:时间特性、资源特性

 可维护性:可分析性、可修改性、稳定性、可测试性  可移植性:适应性、易安装性、一致性、可替换性

 1.3.2 软件质量管理

 质量需求分析  质量计划  质量保证  质量控制  质量改进

 软件质量管理体系

         

 

            

  

1.4软件配置管理

 1.4.1 软件配置项与基线

计算机软件配置项(CSCI)基线(baseline)

功能基线(functional baseline)指派基线(allocated baseline)产品基线(product baseline)

 1.4.2 软件配置管理过程

对象标识 版本控制 变化控制 配置审计 配置报告

1.5软件过程管理

 1.5.1 软件能力成熟度模型(CMM)

CMM的5个等级:初始级、可重复级、已定义级、已管理级、优化级 CMM的关键过程域(KPA):需求管理、软件项目计划、软件项目跟踪和监控、软件子合同管理、软件质量保证、软件配置管理、组织级过程焦点、组织级过程定义、培训大纲、集成软件管理、软件产品工程、组间协调、同行评审、定量过程管理、软件质量管理、缺陷预防、技术变更管理、过程变更管理

 1.5.2 软件过程与软件能力成熟度评估

第一步,建立评估组 第二步,填写提问单 第三步,响应分析 第四步,现场考察

第五步,提出调查发现清单

第六步,制作关键过程域(KPA)剖面图

 1.5.3 软件过程改进

第一步,比较“目标状态”与“目前状态”,找出所有差距 第二步,确定改进目标 第三步,制定改进计划 第四步,执行改进计划

第五步,总结本轮改进经验,开始下一轮改进

1.6

小节

软件工程学是研究如何有效地组织和管理软件开发的工程学科。

软件产品所要经历的计划、分析、设计、编程、测试、维护直至被淘汰这样一个全过程被称为软件生存周期。用不同的方式将软件生命周期中的所有开发活动组织起来,可以形成不同的软件开发模型。

软件质量就是软件与明确地和隐含地定义的需求相一致的程度。软件质量管理是指软件开发机构为保证软件项目满足客户需求所要实施的质量活动。软件配置管理是在软件的整个生命期内管理变化的一组活动,目标是使变化更正确且更容易被适应。

软件过程是指人们用于开发和维护软件及其相关产品的一系列活动,包括软件工程过程和软件管理过程。软件过程管理的目的就是提升软件组织的提高软件开发能力。

 1. 1.    

                       

第2章

项目管理基础知识 2.1项目与项目管理  2.1.1 项目

项目是在特定条件下、具有特定目标的一次性任务,是在一定时间内、满足一系列特定目标的多项相关工作的总和。项目的临时性 项目的独特性 项目的渐进性

2.1.2 项目管理

项目管理就是将各种知识、技能、工具和技术应用于项目之中,以达到项目的要求。项目范围 项目时间 项目成本 项目质量

2.2项目管理过程与过程组  2.2.1 过程与过程组

过程就是一组为了完成一系列事先指定的产品、服务或成果而需执行的互相联系的行动和活动。软件项目管理过程可归纳为五个过程组。启动过程组(initiating process group)规划过程组(planning process group)实施过程组(executing process group)

监控过程组(monitoring and controlling process group)收尾过程组(closing process group)

 2.2.2 项目管理过程的交互作用

项目管理过程并不是互不相干的一次性事件

项目管理过程组之间是一种前后衔接、承前启后的关系

项目管理过程组之间有时又是一种时间交错、空间并行的关系 项目管理过程组之间还是一种信息收集、存储、处理和传递的关系 某些过程组的关联具有重复迭代性

规划过程组、执行过程组和监控过程组之间形成一种闭环的关系 过程组的交互作用往往还会跨越项目阶段 项目阶段和过程之间有相互联系

 2.2.3 项目管理过程的裁剪

不同类型的软件项目应选用不同的项目管理过程 不同阶段的软件项目应选用不同的项目管理过程 不同软件项目的管理过程会有不同的具体过程 不同软件项目的管理过程会有不同的具体过程顺序 不同软件项目的管理过程会有不同的条件与约束 不同软件项目的管理过程会有不同的简化程度 不同软件项目的管理过程需要不同的集成程度 项目变更会使项目管理过程随之变化

2.3项目管理知识体系

项目综合管理 项目范围管理

          项目时间管理 项目成本管理 项目质量管理 项目人力资源管理 项目沟通管理 项目风险管理 项目采购管理

2.4小节

项目管理就是将项目管理知识、技能、工具和技术应用于项目活动之中,可以将软件项目管理活动视做一系列相互联系的过程。

项目管理过程可归纳为5个过程组:启动过程组、规划过程组、实施过程组、监控过程组与收尾过程组。

项目管理包括9个知识领域:项目综合管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理与项目采购管理。

第3章

软件开发技术 3.1软件开发平台

 3.1.1 Microsoft.NET平台

Microsoft.NET Framework:.NET CLR(通用语言运行环境);.NET BCL(基础类库);ASP.NET;ADO.NET。

Microsoft Visual Studio.NET:ADO.NET组件;XML数据组件;Windows表单组件;ASP.NET应用服务;ASP.NET Web表单;Web服务支持。

 3.1.2 J2EE平台

组件-容器:搭建体系架构平台标准服务 多层应用模型

3.1.3 Microsoft.NET与J2EE的异同

类似的平台基础构造 相同的三层/多层体系 不同的移植、性能和扩展 在Web支持方面的比较 第三方厂商的支持 潜在的市场

3.2中间件技术  3.2.1 中间件简介

终端仿真/屏幕转换中间件 数据访问中间件 远程过程调用中间件 消息中间件 交易中间件 对象中间件

Web服务器中间件 安全中间件

 3.2.2 消息代理中间件  

     1.  1.       

        

              

 构件化的结构

可恢复性、易于管理、灵活性 具有数据转换设施。可靠高效的通信 多样的管理能力 丰富的应用开发环境

 3.2.3 面向数据库的中间件

ODBC JDBC 数据库网关

3.3构件技术  3.3.1 构件库

构件的存储

构件的分类与检索机制 构件库的编目

构件库的管理和维护

 3.3.2 构件模型

3C模型

刻面(Facet)模型 青鸟模型

 3.3.3 构件的属性与特点

构件是可独立配置的单元,构件必须自包容。

构件强调与环境和其他构件的分离,因此构件的实现是严格封装的,外界没机会或没必要知道构件内部的实现细节。

构件可以在适当的环境中被复合使用,因此构件需要提供清楚的接口规范,可以与环境交互。

构件没有个体特有的属性,最多仅有特定构件的一份副本。

 3.3.4 构件与中间件

中间件,本质上是对分布式应用的抽象,中间件与系统架构实际上是从两种不同的角度看待软件的中间层次。

中间件促进了构件化软件,基于中间件开发的应用系统是构件化的,中间件提供了构件的体系结构,极大提高了构件化软件开发的效率和质量。构件化的软件设计思想在中间件发展中起到了重要的作用。

3.4小节

Microsoft.NET平台和J2EE平台是目前最常用的两大软件开发平台。作为彼此竞争的应用平台,Microsoft.NET平台和J2EE平台在目标和体系结构上极其相似,但在实现上又完全不同。二者总的关系是:异中有同,同中有异。中间件是处于操作系统和应用程序之间的软件。中间件保持了平台的透明性,抽象了典型的应用模式。应用软件开发者可以基于标准的中间件进行再开发,而不必再考虑操作系统的问题。

构件是可复用的软件成份,可被用来构造其他软件。中间件促进了构件化软件,应用系统在中间件提供的环境中可以更好地集中于业务逻辑上,并以构件的形式存在。构件思想也反过来推动了中间件的发展。

第4章

软件项目规划

4.1项目策划

 1. 1.从政策导向中寻找项目机会 从市场需求中寻找项目机会 从技术发展中寻找项目机会 从特定事件中寻找项目机会

4.2项目可行性分析 4.2.1 技术可行性分析

     1.         项目的必要性分析

软件组织水平与能力分析 项目技术来源分析 与项目相关的专利分析

项目负责人及技术骨干的资质分析 项目总体技术方案分析 项目创新点分析 项目技术风险分析 项目技术成熟性分析

 4.2.2 项目投资及效益分析

项目投资预算分析 项目投资来源分析

市场需求与产品销售额分析

产品成本、利润与盈亏平衡点分析 投资回收期、投资收益率分析 社会效益分析

4.3项目论证、评估与立项

 4.3.1 项目论证与评估的基本概念

项目论证是指对拟实施项目技术上的先进性、成熟性、适用性,经济上的合理性、盈利性,实施上的可能性、风险性进行全面科学的综合分析,为项目决策提供客观依据的一种技术经济研究活动。

项目评估指在项目可行性研究的基础上,项目投资者或项目主管部门或其委托的第三方权威机构根据国家颁布的政策、法律、法规、标准和技术规范,对拟开发项目的市场需求、技术先进性和成熟性、预期经济效益和社会效益等进行评价、分析和论证,进而判断其是否可行的过程。

项目论证与评估的内容、程序和依据大同小异,只是侧重点稍有不同,有时不加区分或合并进行。

 4.3.2 项目可行性报告的真实性评估

项目申请单位的资质真实性评估 项目申请单位的财务真实性评估 项目申请单位的技术真实性评估 其他事项的真实性评估

 4.3.3 项目可行性报告的客观性评估

技术创新点的客观性评估

技术先进性与成熟性的客观性评估 

     

    信息安全措施的客观性评估

采用标准、规范的先进性、合理性评估 项目风险及应对方案的客观性评估 其他事项的客观性评估

 4.3.4 评估报告

 项目概况  评估目标  评估依据  评估内容

 评估机构与评估专家  评估过程

 详细评估意见

 存在或遗漏的重大问题  潜在的风险  评估结论

 进一步的建议

 4.3.5 项目立项

项目立项的决定应当由项目团队之外的、适当级别的、并为项目出资的项目发起人或投资人作出,通常以项目立项决定(通知)书、项目批文、项目许可证书和项目任务书等形式发布。

4.4项目开发计划

 1.引言  2.引用文件  3.项目最终成果  4.需求与约束

 5.系统开发总体计划  6.项目开发详细计划  7.进度表与活动网络图  8.项目组织与资源  9.培训

 10.项目估算  11.风险管理  12.支持条件  13.注解  14.附录

4.5小节

 软件项目规划的任务主要包括项目策划、可行性研究、论证、评估、立项与项目开发计划的制订工作。

 项目策划,也称项目机会研究,其目的是选择投资机会、鉴别投资方向。

 项目可行性分析的目的是确定以下问题:项目有无必要?能否完成?是否值得去做?  项目论证与评估的目的是审查项目可行性研究的可靠性、真实性和客观性,为项目主管部门或投资机构的立项决策提供科学依据。

 项目开发计划是项目规划阶段的重要成果,编写软件项目开发计划时可依据《GB/T 8567-2006 计算机软件文档编制规范》中的软件开发计划模版。

 

    

        

第5章

系统分析方法学 5.1系统需求分析与软件需求

系统需求:系统总体功能和业务结构;硬件系统需求;软件系统需求;硬件系统和软件系统之间的接口需求。软件需求:软件能力需求;软件外部接口需求;软件内部接口需求;软件内部数据需求;适应性需求;安全性需求;保密性和私密性需求;软件环境需求;计算机资源需求;软件质量需求;设计和实现的约束;数据需求;操作需求;故障处理需求;算法需求;相关人员需求;相关培训需求;相关后勤需求;包装需求;其他需求。

5.2结构化分析

结构化分析(SA)方法是一种面向数据流的需求分析方法,基本思想是自顶向下逐层分解。

数据流图(DFD)和数据字典(DD)是结构化分析最常用的工具。数据流图用来描述数据流从输入到输出的变换流程。

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

数据流图和数据字典共同构成系统的逻辑模型。

5.3原型化方法

 5.3.1 原型化方法与结构化方法的比较

结构化方法的假设:所有的需求都能被预先定义;修改定义不完备的系统代价昂贵且实施困难;项目参加者之间能够清晰进行准确的通信;静态描述或图形模型对应用系统的反映是充分的;结构化方法的生命周期的各阶段都是固有正确的。

原型化方法的假设:并非所有的需求在系统开发以前都能准确地说明;有快速的系统建造工具;项目参加者之间通常都存在通信上的障碍;需要实际的、可供用户参与的系统模型;需求一旦确定,就可以遵从严格的方法;大量的反复是不可避免的、必要的,应该加以鼓励。

 5.3.2 原型生命周期及其策略

原型生命周期划分:选择开发方法;识别基本需求;开发工作模型;模型验证;修正和改进;判定原型完成;差别细部说明;严格说明细部;判定原型效果;整理原型和提供文档。

原型化的策略:建立数据模型;利用组合工程;剪裁和粘贴;用系统举例;字典驱动;文档的自动化;小的原型化队伍;交互式开发平台;陈述性规格说明;终端用户报表生成器;专业原型化人员;开发人员参加原型化。

5.4面向对象的分析

 5.4.1 面向对象方法学概述

对象与封装 类

继承与多态性 消息通信

面向对象方法学的优点

 5.4.2 面向对象的分析方法

OMT方法简介 建立对象模型 建立动态模型 建立功能模型

  

       1.  1.    

     

5.5小节

系统分析涉及系统需求的获取、分析、规格说明和确认。系统需求可分为以下几个方面:系统总体功能和业务结构、硬件系统需求、软件系统需求、硬件系统和软件系统之间的接口需求。

常用的系统分析方法包括结构化分析、原型化方法和面向对象的分析。

第7章

系统分析文档

7.1系统/子系统需求规格说明

引言 引用文件

需求:要求的状态和方式;需求概述;系统能力需求;系统外部接口需求;系统内部接口需求;系统内部数据需求;适应性需求;安全性需求;保密性和私密性需求;操作需求;可使用性、可维护性、可移植性、可靠性和安全性需求;故障处理需求;系统环境需求;计算机资源需求;系统质量需求;设计和构造的约束;相关人员需求;相关培训需求;相关后勤需求;包装需求;其他需求;需求的优先次序和关键程度 合格性规定 需求可追踪性 非技术性需求 尚未解决的问题 注解 附录

7.2接口需求规格说明

引言 引用文件 需求

合格性规定 需求可追踪性 注解 附录

7.3软件需求规格说明

引言 引用文件

软件需求:要求的状态和方式;需求概述;需求规格;软件能力需求;软件外部接口需求;软件内部接口需求;软件内部数据需求;适应性需求;安全性需求;保密性和私密性需求;软件环境需求;计算机资源需求;软件质量需求;设计和实现的约束;数据需求;操作需求;故障处理需求;算法需求;相关人员需求;相关培训需求;相关后勤需求;包装需求;其他需求;需求的优先次序和关键程度 合格性规定 需求可追踪性 尚未解决的问题 注解 附录

7.4小节

根据《GB/T 8567-2006 计算机软件文档编制规范》(Specification for computer

  

 

     

    

 software documentation),系统分析文档主要包括系统/子系统需求规格说明(SSS)、接口需求规格说明(IRS)和软件需求规格说明(SRS)。系统/子系统需求规格说明(SSS)为一个系统或子系统指定需求以及保证每个需求得到确认所使用的方法。

接口需求规格说明(IRS)描述为实现一个或多个系统、子系统、硬件配置项(HWCI)、计算机软件配置项(CSCI)、用户

软件需求规格说明(SRS)描述对计算机软件的需求以及确保每个需求得到确认所使用的方法。

第8章

系统设计基础 8.1系统设计概述

 8.1.1 系统级设计决策

系统级设计决策,是指系统行为的设计决策(忽略其内部实现,从用户角度出发,描述系统将怎样运转以满足需求)和其他对系统部件的选择和设计产生影响的的决策。系统级设计决策内容:有关系统接收的输入和产生的输出的设计决策;对每个输入或条件进行响应的系统行为的设计决策;系统数据库/数据文件如何呈现给用户的设计决策;为满足安全性、保密性和私密性需求所选用的方法;硬件或硬软件系统的设计和构造选择;为了响应需求而作出的其他系统级设计决策。

 8.1.2 系统架构设计

总体设计

系统部件设计 动态交互设计 接口设计

 8.1.3 运行设计

系统初始化——说明本系统的初始化过程。

运行控制——说明对系统施加不同的外界运行控制时所引起的各种不同的运行组件组合、每种运行所经历的内部组件和支持软件、每一种外界运行控制的方式方法和操作步骤、每种运行组件组合将占用各种资源的情况以及系统运行时的安全控制。运行结束——说明本系统运行的结束过程。

 8.1.4 系统出错处理设计

出错信息——包括出错信息表、故障处理技术等。补救措施——说明故障出现后可能采取的补救措施。

 8.1.5 系统维护设计

检测点的设计——说明在系统中专门安排用于系统检查与维护的检测点。

检测专用组件的设计——说明在系统中专门安排用于系统检查与维护的专用组件。

8.2软件设计概述

 8.2.1 软件级设计决策

软件级设计决策是指软件行为的设计决策(忽略其内部实现,从用户角度出发,描述软件将怎样运转以满足需求)和其他影响组成该软件的软件配置项的选择与设计的决策。

软件级设计决策内容:有关软件接收的输入和产生的输出的设计决策;对每个输入或条件进行响应的软件行为的设计决策;有关数据库/数据文件如何呈现给用户的设计决策;为满足安全性、保密性和私密性需求所选用的方法;为响应需求而作出的其他软件级设计决策。

 8.2.2 软件架构设计

           程序结构设计

全局数据结构设计 软件配置项设计 动态交互设计 接口设计

 8.2.3 软件详细设计

软件配置项设计决策

软件配置项设计中的约束、限制或非常规特征 软件配置项使用的编程语言考虑 软件配置项使用的过程式命令选取

软件配置项的局部数据与软件配置项的输入或输出数据设计 软件配置项的逻辑设计

8.3设计原则  8.3.1 组件化

组件的可分解性 组件的可组装性 组件的可理解性 组件的连续性 组件的保护性

 8.3.2 抽象

抽象就是抽出事物的本质特性而暂时忽略其细节,使得不同的事物可以当作相同的事务来处理。

软件工程过程的每一步都是对软件解法的抽象层次的一次精化。

软件设计中的抽象机制主要包括类、模板、过程抽象、数据抽象和控制抽象。

 8.3.3 内聚与耦合

内聚是指一个组件内各个元素彼此结合的紧密程度 内聚种类(由低到高排列):偶然内聚;逻辑内聚;瞬时内聚;过程内聚;通信内聚;顺序内聚;功能内聚

耦合是指一个软件结构内不同组件之间的互连程度 耦合种类(由高到低排列):内容耦合;公共耦合;外部耦合;控制耦合;标记耦合;数据耦合;非直接耦合

组件的高内聚、低耦合原则称为组件独立原则

 8.3.4 封装与信息隐蔽

第一,组件是其全部属性和全部服务紧密结合而形成的一个不可分割的整体。

第二,组件是一个不透明的黑盒子,表示组件状态的数据和实现操作的代码都被封装在黑盒子里面。使用一个组件的时候,只需知道它向外界提供的接口形式,无须知道它的数据结构细节和实现操作的算法。

 8.3.5 启发式规则

深度、宽度、扇出与扇入 作用域和控制域 功能的可预测性

8.4设计视图

 8.4.1 架构视图(静态视图)

架构描述语言(ADL)              

  

                  

  类图与对象图 组件图

协作责任卡(CRC)部署图

实体-联系图(E-R图)接口描述语言(IDL)结构图

Jackson结构图

 8.4.2 行为视图(动态视图)

活动图 协作图 顺序图 数据流图

决策表和决策图

流程图和结构化流程图 状态图

形式化描述语言 伪码

8.5小节

系统设计是定义一个系统或软件的架构、组件、接口和其它特征的过程。包括系统级设计决策、系统架构设计、运行设计、系统出错处理设计和系统维护设计。

软件设计主要包括软件级设计决策、软件架构设计(概要设计)与详细设计。软件架构设计的主要任务是程序结构设计、全局数据结构设计、软件配置项设计、动态交互设计和接口设计。软件详细设计是指每一个软件配置项的具体设计。

组件化、抽象、高内聚与低耦和、封装与信息隐蔽是软件设计的基本原则。软件设计视图通常可分为架构视图(静态视图)和行为视图(动态视图)两类。第9章

系统设计方法 9.1结构化设计

 9.1.1 结构化设计方法概述

分析系统的总体需求,并将需求逐步分解为基本、具体的功能。确定每个功能应当记录的数据。

列出系统中应提供的各项基本功能,并分析各项基本功能之间的耦合关系,根据高内聚、低耦和的原则分配到系统中适当的模块中。

 9.1.2 系统结构图

模块 调用 数据 控制 转接符号

 9.1.3 系统结构图分类

变换流与事务流 变换型系统结构图 事务型系统结构图   

       

 混合型系统结构图

9.2面向数据结构的设计

 9.2.1 面向数据结构的设计概述

分析并建立适合系统的数据结构;

根据数据结构在相应的层次建立程序结构;

罗列出程序中用到的各种基本操作,并将这些基本操作分配到程序结构中合适的模块中。

 9.2.2 Jackson图

顺序结构 选择结构 重复结构

改进的Jackson图

 9.2.3 Jackson方法

分析并确定输入和输出数据的逻辑结构,并利用Jackson 找出输入和输出数据结构中存在对应关系的数据单元。从描绘数据结构的Jackson图导出描绘程序结构的Jackson

列出所有操作和条件(包括分支条件和循环结束条件),并且把它们安排到程序结构图的适当位置。用伪代码表示。

9.3面向对象的设计

 9.3.1 面向对象的设计概述

面向对象设计的基本思想是通过建立和客观实际相对应的对象,并通过这些对象的组合来创建具体的应用。

面向对象设计具有基于抽象、信息隐藏、功能独立和模块性构造系统的能力。

对于面向对象的系统,可以定义一个四个层次的设计金字塔:子系统层;类及对象层;消息层;责任层。

 9.3.2 面向对象设计技术

 Coad/Yourdon方法  Booch方法  OMT方法  

 9.3.3 面向对象设计过程

系统设计过程:将分析模型划分为子系统;子系统分配及与问题的并发性;任务管理;数据管理;资源管理;人机界面;子系统间通信

对象设计过程:对象描述;算法与数据结构设计;接口设计与模块化

9.4设计模式

 9.4.1 设计模式概述

设计模式就是将面向对象软件的设计经验记录下,可供设计者能够复用的设计方案。设计模式极大提高了面向对象软件开发的效率,降低了软件的复杂度。

在软件设计中使用设计模式,将使用开发出来的软件更容易理解、更容易维护、更容易扩展,使用设计模式同时也能够提高开发团队和个人的开发能力。

 9.4.2 设计模式基本组成

模式名称:惟一标识一个设计模式。问题:描述应该在何时使用该模式。  

        

  

  

 

 解决方案:描述设计的组成要素,以及它们之间的相互关系及各自的职责与相互之间协作的方式。

 效果:描述应用设计模式的效果,以及使用设计模式必须考虑的限制和约束因素。

 9.4.3 设计模式分类

 面向对象模式  代码模式

 框架应用模式

 创建型模式、结构型模式与行为型模式  类模式与对象模式

 9.4.4 如何使用设计模式

 针对接口编程,而不是针对实现编程  优先使用对象组合,而不是类继承  找出变化并封装

9.5小节

 系统设计是一系列迭代的过程,主要任务包括数据结构、体系结构、接口及过程细节的设计等,而设计方法是软件设计活动中实现设计模型的方法。 系统设计方法主要包括面向过程的结构化设计方法、面向数据结构的设计,以及面向对象的设计方法与设计模式。

第10章

数据库设计 10.1数据建模

 10.1.1 数据模型分类

 概念数据模型  结构数据模型  物理数据模型

 10.1.2 实体-联系(E-R)模型

 实体  属性  联系  实体型  实体集  键  域

 10.1.3 数据模型

 层次数据模型(hierarchical model) 网状数据模型(network model) 关系数据模型(relational model)

 面向对象模型(object oriented model)

10.2数据规范化

 10.2.1 数据规范化的基本概念

 函数依赖

 非平凡函数依赖  完全函数依赖  部分函数依赖

 传递函数依赖  键

 10.2.2 范式

    第一范式(1NF)第二范式(2NF)第三范式(3NF)BC范式(BCNF)

10.3数据库设计过程  10.3.1 数据库需求分析

                     数据边界的确定 数据环境的确定 数据内部关系 数据字典

数据性能需求

数据需求分析说明书

 10.3.2 数据库概念设计

概念设计与概念模型 概念设计的主要方法 分解与抽象 局部概念模式 全局概念模式

 10.3.3 数据库逻辑设计

初始模式的形成 子模式设计

应用程序概要设计 模式评审 修正模式

 10.3.4 数据库物理设计

存储记录结构设计 确定数据存放位置 存取方法设计

完整性和安全考虑 程序设计

10.4小节

 数据库系统普遍采取数据模型表示和处理客观事物的数据特征与信息。数据模型主要由数据结构、数据操作和完整性约束三部分组成,从抽象层次上描述和模拟了系统的静态特征、动态行为和约束条件。

 关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库中常用的范式包括:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCNF。 数据库设计主要包括需求分析、概念设计、逻辑设计和物理设计等几个阶段。

第11章

用户界面设计

11.1基本概念

  

         

     

           

 11.1.1 界面设计目标

可用性目标:可行性、有效性、易学性、易记性、安全性、通用性

用户体验目标:令人满意、令人愉快、引人入胜、富有启发、激发创造„„

可用性目标主要从客观角度来评价系统界面,而用户体验目标则是从用户主观感受的角度来评价系统界面。

 11.1.2 界面设计原则

可视性:将系统功能呈现得一目了然。

反馈性:返回与活动相关的信息,以便用户能够继续这个活动。限制性:将用户的行为限制在一定的范围内。

对应性:明确系统某个控制与其控制效果之间的对应关系。一致性:用相似的元素表现相似的操作或相似的任务。启示性:界面元素应给予用户某种提示。

 11.1.3 界面设计过程

标识出用户的真实需要并建立需求模型 设计出候选方案

构建或实现设计的原型版本 对界面设计进行评估

11.2界面设计技术

 11.2.1 界面设计分析技术

GOMS模型及GOMS击键层模型 Hick律 Fitts律

 11.2.2 界面设计方法

原型设计方法

以用户为中心的设计方法 用户界面设计的支持工具

11.3界面设计评估

 11.3.1 构造性评估与总结性评估

构造性评估:在设计过程中对所设计的系统或产品界面进行评估以确保其满足用户需求。

总结性评估:对已经完成的产品或系统界面进行评估。

 11.3.2 评估范型

快速评估 可用性测试 实地研究 预测性评估

 11.3.3 评估方法与技术

观察用户

征求用户意见 征求专家意见 用户测试

用户执行情况的分析模型

 11.3.4 评估框架

明确(Determine)

        

发掘(Explore)选择(Choose)标识(Identify)决定(Decide)评估(Evalute)

11.5小节

用户界面体现了用户利用系统完成任务的方式以及系统对用户行为的响应方式,一个没有良好的用户界面设计的系统很可能会成为一个没有用户的系统。可用性目标与用户体验目标。

界面设计的量化模型:GOMS模型及其子模型-击键层模型,Hick律和Fitts律。构造性评估与总结性评估。

第12章

系统设计文档

12.1系统/子系统(结构)设计说明

                         引言 引用文件

系统级设计决策

系统体系结构设计:总体设计;系统部件设计;动态交互设计;接口设计 运行设计

系统出错处理设计 系统维护设计 尚未解决的问题 需求的可追踪性 注解 附录

12.2

接口设计说明

引言 引用文件 接口设计

需求的可追踪性 注解 附录

12.3

软件(结构)设计说明

引言 引用文件

软件级设计决策

软件体系结构设计:程序结构设计;全局数据结构设计;软件配置项设计;动态交互设计;接口设计 软件详细设计 需求的可追踪性 注解 附录

12.4数据库设计说明

        

    

引言 引用文件

数据库级设计决策 数据库详细设计

用于数据库操纵或访问的软件配置项的详细设计 需求的可追踪性 注解 附录

12.5

小节

根据《GB/T 8567-2006 计算机软件文档编制规范》,系统设计文档主要包括系统/子系统设计(结构设计)说明(SSDD)、接口设计说明(IDD)、软件(结构)设计说明(SDD)和数据库设计说明(DBDD)。

系统/子系统设计(结构设计)说明(SSDD)描述了系统(或子系统)的系统级(或子系统级)设计决策与体系结构设计。

接口设计说明(IDD)描述了一个或多个系统、子系统、硬件配置项(HWCI)、计算机软件配置项(CSCI)、用户或其他系统部件的接口特性。

软件(结构)设计说明(SDD)描述了计算机软件系统的软件级设计决策、软件体系结构设计(概要设计)与详细设计。

软件系统分析与设计 篇2

我们所设计的内容管理系统主要是针对日益发展的网站内容管理系统的建设, 提供一套用于快速搭建企业网站、事业单位网站的动态网站内容管理系统。

该网站管理系统将网页上的某些需要经常变动的信息, 类似新闻、文章、通告、新产品发布和业界动态等内容进行集中管理, 并通过内容的某些共性进行分类, 做到了自动管理大容量信息, 具有高度灵活性和可扩充性的系统框架。

2 系统需求分析

2.1 系统的功能需求

本系统主要包括首页、文章栏目、文章内容、模板管理、辅助功能、核心功能、网站配置管理六个模块。

(1) 文章内容:对文章进行添加、修改、删除操作。

(2) 文章栏目:对栏目进行添加、修改、删除操作。

(3) 模板管理:为网站提供模板, 对文章的模板进行添加、修改和删除操作。

(4) 辅助功能:为系统提供辅助功能点, 包括投票管理和友情链接管理。

a.投票管理:管理网站的投票主题, 可添加、修改和删除主题, 可按照投票人员的IP限制, 同一个IP仅允许投票一次。

b.友情链接管理:可添加、修改和删除链接地址, 并提供排序和是否显示功能, 满足前台网站底部友情链接要求。

(5) 核心功能:提供系统的核心功能, 包括如下:

a.功能菜单:管理系统的功能项, 可添加、修改和删除系统所有的功能链接, 并提供排序功能。

b.角色管理:对系统的角色进行维护, 可添加、修改和删除角色, 并对角色授予对应节点的访问权限。

c.用户管理:对用户进行添加、修改、删除操作。

d.管理员管理:对管理员进行添加、修改、删除操作;同时授予相应的角色, 设置系统权限。

e.内容属性:维护文章的内容属性, 可进行添加、修改、删除操作。

(6) 网站配置:配置系统相关的参数, 以便对系统进行管理维护。包括如下:

a.站点设置:设置网站的名称、简称、系统类型, 资源路径等参数。

b.邮件设置:设置系统的邮件服务器, 发送账号等, 便于系统内部调用。

c.系统设置:设置系统的默认参数, 如文章默认类型、允许访问的ip等。

d.全局设置:设置系统的全局参数, 如发布项目根路径名称和端口号。

2.2 系统的设计目标

从系统的应用角度和使用范围等因素来考虑, 对该网站内容管理系统提出一些基本的性能目标。

(1) 高可用性。操作应该方便、灵活。后台管理员应能快速地进行栏目设置、文章管理等操作。前台浏览者应能方便地浏览文章、搜索文章。

(2) 稳定性。系统应有较高的稳定性。系统响应时间不应过长, 更不应在操作无误情况下出现页面显示时间过慢, 甚至出现页面不显示的状况。

(3) 安全性。系统应有较高的安全性。系统的安全指数应较高, 可通过日志记录的方式查看系统操作记录, 以提高安全性。

(4) 集成与可扩展性。系统通过灵活丰富的接口实现可扩展性的优异表现, 内容经过管理之后, 必然提出数据、服务共享的要求, 设计中考虑多样化的服务组件和服务总线方式。

3 系统设计

3.1 系统架构设计

该内容管理系统使用了标准的3层体系架构, 他将应用功能分成表现层、逻辑层和数据层三部分。

表示层是应用的用户接口部分, 担负着应用于用户之间的交互功能。逻辑层相当于应用的本体, 它是将具体的应用处理逻辑编入程序当中。数据层就是实现对各种数据库和数据源的访问, 更使得逻辑层的设计和实现更集中于系统本身的功能。

3.2 系统功能设计

在以上设计思想的基础上, 设计了系统实际应该具有的功能。包括首页、文章栏目、文章内容、模板管理、辅助功能、核心功能、网站配置管理六个模块。各个模块, 又有各自的分支功能。

3.3 系统数据库设计

数据库的设计关系到整个系统性能、升级和移植的问题, 在数据库设计时要保证数据库的一致性和完整性, 尽可能降低数据的冗余。结合本系统的功能, 主要涉及到以下几个方面的表:

(1) 栏目表。栏目表主要用于存放栏目的相关属性, 如栏目标识, 栏目名称, 父栏目标识, 外部链接, 统计日期, 系统类型, 文档数量, 栏目路径等。

(2) 文章表。文章表存储系统发布的文章内容, 作者, 评论数量, 文章描述, 发表日期, 统计时间等。

(3) 用户表。用户表存储系统相关用户的基本信息, 包括:联系地址、出生年月、创建时间、当前登录IP和时间、电子邮箱、登录名、真实姓名、性别等。

3.4 系统维护设计

在系统运行时, 出错的防范及补救措施包括:

(1) 将整个系统周期性的建立副本, 当系统出现严重错误时可及时的调整到副本继续运行, 比如操作系统遭到病毒攻击, 物理磁盘出现错误等等严重性的问题。

(2) 及时备份系统数据, 当系统数据在操作不当或遭到黑客攻击出现数量混乱时及时进行数据库的恢复。

另外, 对于系统中插件的使用, 如果插件出现问题, 可在系统模块中方便的停止或删除插件的运行, 等修复完成后再通过插件管理模块恢复运行。系统中还提供相应的日志管理, 当出现问题时可以查询相应的日志, 查找到错误的发生源, 进行及时的补救措施和提前的防范措施。

参考文献

[1]孙鑫.Struts 2深入详解[M].北京:电子工业出版社, 2008.

[2]计文柯.Spring技术内幕-深入解析Spring架构与设计原理[M].北京:机械工业出版社, 2010.

[3]孙卫琴.精通Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社, 2010

软件系统分析与设计 篇3

关键词:环境预警 应急处置 系统分析 设计

中图分类号:X507文献标识码:A 文章编号:1674-098X(2012)12(c)-00-02

1 系统功能分析

环境预警与应急处置系统以GIS(地理信息系统)平台、数据库平台为依托,综合应用现代通讯技术和环境质量监测、污染源监测技术,结合现代风险管理理论,建立动态的环境质量数据库、重点风险源(污染源、放射源、固体废弃物、危险化学品)信息数据库、环境敏感点数据库以及集中各类环境应急事件处置资源的应急资源数据库,建立环境地理信息系统综合数据平台。环境预警与应急指挥系统以对重点风险源和环境质量的实时监测监控为基础,以全过程风险管理的思想为指导,自动监测数据为基础,依靠预测模型对环境风险事故进行危害预测,从而做到风险预警,并通过调用风险决策支持的相关信息,对环境污染事件进行应急支持。该系统具有以下功能模块。

1.1 GIS功能

地理信息系统(GIS)又称为“地学信息系统”或“资源与环境信息系统”,它是一种应用广泛的空间信息系统,它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。基于GIS平台开发和运行的系统,可根据需要在电子地图上显示环境质量监测点、环境风险源、重点保护目标以及应急物资、专家、预案、历史案例等应急资源的地理分布情况,实现电子地图的放大、缩小、漫游、图层控制、空间搜索、GPS定位、导航等功能,可在电子地图上直观显示事故扩散的模拟效果。

1.2 环境风险预警功能

系统通过采集环境质量、污染源、固体废弃物、核与辐射、危险化学品等基础数据,组成基础数据库,对基础数据进行综合分析,得到环境质量、污染源的现状、规律和变化趋势,并对相关的环境质量指标进行评价。系统实现对重点区域污染状况的综合分析,得到相应地区断面区间的污染物总量或污染负荷、污染类型以及污染企业行业分布等信息,输出相应的平面分布图或轴线变化图等,同时根据历史数据变化范围,设定相关指标的报警浓度限值,为环境预警提供决策支持。早期预警的信息,通过各种通讯手段、各种方式实行报警,使得能够及早查明原因,为及早预防和处置突发环境事件提供技术支持。

1.3 应急资源库功能

系统通过建立各类应急资源数据库,包括环境应急预案库、环境污染物扩散模型数据库、环境风险源库、历史环境应急事件库和应急处置专家库等,结合环境敏感点的相关信息,建立完善的环境预警和应急处置的系统信息资源。实现对环境应急所需的各类资源进行查询、分析,为突发环境应急事件及时、准确处置提供技术保障,为突发环境应急事件的指挥提供科学依据。

1.4 应急处置功能

系统以突发环境应急事件处置流程为向导,为应急事件接报、准备、指挥、救援、处置、善后、分析提供平台,通过事故的扩散模拟,为突发环境事件的应急处置提供决策辅助。对于某些无法在第一时间内确定事故源的环境事件,系统根据事故发生的症状、现场监测数据的特征,结合事故发生时的气象水文条件,自动划定涉嫌的风险源范围,并对涉嫌风险源进行事故扩散模拟,通过事故追踪分析,帮助应急指挥人员确定事故来源;通过对事故善后处置办法的选择、优化,提出事故善后处置的建议;系统对应急处置的所有数据、视频和语音信息,自动形成事件案例,为以后的事件处置分析、类似事件的处置提供真实生动的

借鉴。

1.5 系统信息维护和管理功能

构建应用系统门户,提供统一的用户管理,地区、部门管理,系统角色权限管理和系统配置管理;提供统一的系统资源管理原始数据和内容管理及服务;提供统一的系统升级策略,建立系统软件分发、升级、维护服务中心系统。系统管理主要包括:各种信息维护,人员帐号、权限维护,网络视频参数维护,报警管理维护,GIS管理维护等后台需要设置的维护功能。

2 系统设计

2.1 模块体系结构

系统采用基于.NET架构下搭建应用软件的框架结构,实现一个多层次的合理的框架体系,系统总体架构如图1所示。

体系自下而上依次为基础网络和运行平台、操作系统、数据库、应用服务器和应用系统层;系统运行于TCP/IP网络之上,采用业界主流的MS SQL SERVER2005关系数据库。在.NET平台之上是系统的应用服务器,包括数据存取接口、通讯接口、业务逻辑及GIS引擎,该部分提炼了软件系统一些通用的组件,可以灵活运用于不同的系统中,增强了软件的可重用性;应用系统基础平台之上是应用系统层,包括监测监控、风险预警、应急处置、综合查询和数据维护等各业务子系统。

整个系统构成遵循应用软件开发的相关规范及标准体系,提供全系统的安全支撑,并为基础运行平台提供监控和管理平台;安全保障体系包括物理安全、网络安全、系统安全、应用程序安全、数据资源安全和安全认证,从安全技术和安全管理机制两个方面为应用系统提供安全

保障。

2.2 数据库设计

环境预警与应急处置数据模块在系统框架中属于基础系统建设内容,系统包含了地理信息数据库和基础信息数据库,地理信息数据库由基础地理信息图层、环保专题图层、污染源扩散模拟图层等组成,基础信息数据库由环境质量数据库、风险源数据库、环境敏感点数据库、应急资源数据库、应急响应处置数据库等组成。建立的数据库不仅要充分考虑到与其他模块的关联性和整体性,还要考虑与环境应急系统原有数据库的兼容性。环境预警与应急处置数据库是一个以应急指挥中心为核心,各联动单位为节点的分布式异构数据库应急数据库的建立,为整个系统稳定、有效的运行提供了前提条件,环境决策者对事故响应也能做出快速的

判断。

2.3 系统实现

系统可使用Microsoft Visual Studio.NET 2005作为软件的开发工具,数据库平台采用Microsoft Windows SQL Server 2005,采用美国ESRI公司的ArcGIS Server及ArcSDE作为系统的GIS平台,为实现系统之间的数据交换,可采用接口数据库的方式实现数据交换,数据库结构根据相关系统的国家、省或行业标准进行设置。

3 结语

环境预警与应急处置系统是一个功能强大的环境信息管理系统,目前在苏州市已投入使用,系统体现了强大的实用性和先进性。系统的建成可以为城市日常环境管理提供一个包括环境质量、污染源等信息的数据综合分析预警和应急处置平台;能够更好的为环境管理和应急工作提供强大的技术支持。

参考文献

[1] 郭振仁,张剑鸣,李文禧.突發性环境污染事故防范与应急[M].北京:中国环境科学出版社,2006.

[2] 辛琰,魏振钢,巩丽丽.基于GIS的环境污染事故预警与应急指挥系统[J].计算机应用,2008,28(6):393-398.

[3] 张丹宁,许立峰.浅谈环境预警应急指挥中心的构建与运作[J].环境监测管理与技术,2007,19(2):1-3.

[4] 冯文钊,张宏,彭立芹,等.突发性环境污染事故应急预警网络系统的设计与开发[J].城市环境与城市生态,2004,17(1):9-10.

软件系统分析与设计 篇4

第一节 系统分析的任务p91

 系统分析阶段的基本任务是:系统分析员与用户在一起,充分了解用户的要求,并把

双方的理解用系统说明书表达出来。

 分析本质上就是一个发现过程,分析期间推动活动的关键词就是理解和发现。 系统分析是研制信息系统最重要的阶段,也是最困难的阶段。

 系统分析要回答新系统“做什么”这个关键性的问题。

1.2.3.4.5.6. 需求分析: 需求分析的目标与客户和其他涉众在系统的工作内容方面达成一致定义系统的用户界面,重点是用户的需要和目标 使系统开发人员能够更清楚地了解系统需求 定义系统边界(限定)为计划迭代的技术内容提供基础 为估算开发系统所需成本和时间提供基础 需求分析的任务

1.确定待开发的系统的用户类,并获取他们的需求信息。

2.分析用户的需求信息,并按需求的类型分类这些需求信息,同时也区别出不是需求的信息。

3.根据需求信息建立系统的逻辑模型或需求模型,并确认非功能需求和约束条件及限

制。

4.根据收集的需求信息和逻辑模型编写需求规格说明及其文档。

5.评审需求规格说明。

6.当需求发生变更时,对需求规格说明及需求变更实施进行管理。

系统需求一般分为两类:

1.业务性需求/功能性需求

2.技术性需求

需求分析法概述:

需求获取

进行用户需求调查,获取需求、识别问题。

分析建模

软件系统本质上是信息处理系统,应通过分析系统信息流的构成和相互之间的关系,确定:数据,数据处理。

编写需求文档

主要工作是需求描述。结果为以文档形式表述的可交流、可复审的系统逻辑模型。需求评审

专家、分析人员、开发人员、用户共同对需求分析的正确性、合理性、有效性进行检查,确保需求分析的全面、准确和一致性。

系统分析的困难主要来自三个方面:

1.对问题空间的理解

2.人与人之间的沟通

3.环境的不断变化

  1.2.3.4.

 最使系统分析员困惑的是环境的变化。系统分析员的知识水平和工作能力决定了系统的成败。一个称职的系统分析员不但应具备坚实的信息系统知识,了解计算机技术的发展,而且还必须具备管理科学的知识。直观的图表可以帮助系统分析员理顺思路,也便于与用户交流。20世纪70年代以来,出现了多种这样的工具,如现场工作流程图、作业流程图、实体生命周期和数据流图等。数据流图是结构化系统分析的主要工具。结构化系统分析采用介于形式语言和自然语言之间的描述方式,通过一套分层次的数据流图,辅以数据字典、小说名等工具来描述系统。图:p93 结构化系统分析方法就是通过自顶向下、逐层分解的方法,利用分解和抽象这两个基本手段控制系统的复杂性,把大问题分成小问题,然后分别解决,这就是分解。分而治之,正是系统工程的思路。系统开发的风险 项目失败或严重超支的8个最重要原因中有5个都与需求相关: 1.不完整的需求; 4.需求和需求规格说明的变更; 2.缺乏用户的参与; 5.提供许多不必要的功能。3.不实际的客户期望; 获取需求的常用方法

1.访谈法 4.实地考察

2.问卷调查 5.构造原型

3.情景分析

系统模型:

 信息系统模型的作用:

1.建立模型的过程可以使得分析员更深入地了解和定义信息系统的需求,并发现问题

2.对复杂问题进行简化

3.为设计人员的工作提供依据

4.有助于同开发小组的其他成员和客户交流

5.为以后的维护升级提供了文档

 基于不同的开发技术,有三类最核心的图示化模型:

1.功能模型:利用数据流图和数据字典描述系统的功能和数据的处理流程

2.数据模型:利用实体关系图ERD描述系统中的数据实体及其关系

3.对象模型:利用类图描述对象、对象之间的联系。和数据实体不同,对象在数据之

外增加了行为特性

 从而衍生出三种建模方法:

1.面向功能的建模——用例图与业务流程图

2.面向数据的建模——ERD

3.面向对象的建模——类图与对象图

第七节 新系统逻辑模型的提出p120

 系统分析阶段的任务是明确系统功能。通过对现行系统的调查分析,抽象出现行系统的逻辑模型,分析其存在的问题。

 新系统来自原系统,比原系统更合理,效率更高。

 从形式上讲,新系统的逻辑模型与旧系统的逻辑模型相比变化不大,可能只是在一个或

几个处理中引进新技术,改变几处数据的流程,或者改变某些数据存储的组织方式。 应该考虑以下因素,提出新的系统模型

1.新技术的使用

2.流程的改进

3.数据存储的组织方式的改变等

第八节 系统说明书p121

 系统说明书是系统分析阶段的成果

1.是系统所应满足的全部需求(功能性需求和非功能性需求),并可以文档的方式完整

和精确陈述这些需求。

2.是项目相关人员对将要开发的系统所达成的共识,是进行系统设计、实现、测试和

验收的基本依据,也是整个系统开发过程中最重要的文档。

 该文档描述了系统的需求,也称《需求规格说明书》

 系统说明书的内容

1、引言

2、项目概述 3、实施计划

(1)项目的主要工作内容(1)工作任务的分解

(2)现行系统的调查情况(2)进度

(3)新系统的逻辑模型(3)预算

 系统说明书的品质要求

1.正确性 5.可修改性

2.完整性 6.可跟踪性

3.一致性 7.可验证性

4.无二义性

 评审

• 评审分为用户评审和同行评审两类。

• 目的:是否满足用户需求;

发现那些潜在的缺陷或错误,避免这些错误和缺陷遗漏到项目的后续阶段。

• 评审遵从用户意见第一的原则

第七章 结构化系统设计

第一节 系统设计的任务要求

 系统设计要回答的中心问题是系统“怎么做”。即如何实现系统说明书规定的系统功能。

在这一阶段,要根据实际的技术条件、经济条件和社会条件,确定系统的实施方案,即系统的物理模型。

 设计保准:

设计系统之前,先看看评价信息系统的标准,这些标准对任何设计方法都适用:

1.信息系统的功能:是否满足用户的需求

2.系统的效率:响应时间、操作的方便性

3.系统的可靠性:抗干扰能力、故障恢复

4.系统的工作质量:准确性、使用效果

5.系统的可变更性:修改和维护的难易程度

6.系统的经济性:系统收益与支出比

 如何提高系统变更性

1.结构简单

a)系统各组成元素分工明确,易于理解

b)元素之间的关系清晰简洁

2.变动灵活

a)谨防软件维护中的“水波效应”

b)使系统各组成元素内部的改变容易实现,改动对其它部分的影响尽量减少

c)提前考虑将来最易出现的扩展和变更

 系统设计的内容:

1.总体设计

– 也称概要设计。

– 明确软件的体系结构(也称架构architecture)、组成元素及其关系(也称structure)。

– 架构表示抽象的框架模式,结构则是指具体元素及其关系。

2.详细设计

– 各项具体细节,设计硬件软件的各个方面

 系统设计的内容

系统设计阶段的任务是提出实施方案。该方案是这个阶段工作成果的体现,这个方案以书面的正式文件———系统设计说明书提出,批准后将成为系统实施阶段的工作依据。

1.把总任务分解成许多基本的、具体的任务

这些具体任务合理地组织起来构成总任务。这称为总体设计(architectural design),又称为概要设计(preliminary design),其基本任务是:

1)将系统划分成模块

2)决定每个模块的功能

3)决定模块的调用关系

4)决定模块界面,即模块间信息的传递

系统越大,总体设计的影响越大。

2.为各个具体任务选择适当的技术手段和处理方法

这便是详细设计,包括代码设计、数据库设计、输入设计、输出设计、人机对话设计、处理过程设计。

第六节 输出设计

信息系统只有通过输出才能为用户服务。输出决定输入,即输入信息只有根据输出要求才能确定。

 输出设计包括以下几方面的内容:

1)确定输出内容

2)选择输出设备与介质

3)确定输出格式

 报表时最常见的输出形式。组成:表头、表体、表尾。输出形式:打印输出、磁盘文件

输出。

第七节 输入设计

 输入设计的原则:

1)最小量原则 3)早检验原则

2)简单性原则 4)少转换原则

 输入设计的内容包括

1)确定输入数据的内容

2)确定数据的输入方式

3)确定输入数据的记录格式

4)输入数据的正确性校验

5)确定输入设备

设备的选用应考虑一下一些因素:

a)输入的数据量与频度

b)数据的来源、形式、收集环境

c)输入类型、格式的灵活程度

d)输入速度和准确性要求

e)输入数据的校验方法、纠正错误的难易程度

f)可用的设备与费用

 数据记录格式本质上分为两部分:预先印刷部分和插入数据的空格

 数据出错有三种情况

1)数据内容错

2)数据多余或不足

3)数据的延误

 数据校验方法

1)重复校验 7)逻辑校验

2)视觉校验 8)界限校验

3)分批汇总校验 9)记录计数校验

4)控制总数校验 10)平衡校验

5)数据类型校验 11)匹配校验

6)格式校验 12)代码自身校验

第八节 人机对话设计

 人与计算机进行信息交流就是人机对话

 人机对话设计的原则

1)对话要清楚、简单,用词要符合用户观点和习惯

2)对话要适应不同操作水平的用户,便于维护和修改

3)错误信息设计要有建议性

4)关键操作要有强调和警告

 人机对话的方法

a)选单式 c)回答法

b)填表法 d)提问法

 图形用户界面已成为一种流行的界面设计技术,并将成为信息系统用户界面的主流。

 图形用户界面优点:

1.容易学习使用,使用选单而不必记忆指令名称,大大减少键盘输入的数量与错误

2.具有高度的图形功能,直观生动,如采用直线图、趋势图、动画等。

3.多个视窗并用,同时显示多样信息,并可对同样信息提出多种不同角度的表达。 图形用户界面的缺点:

与文字指令相比,图形形式的指令不能表达复杂的符合指令。指令数目太大时,不容易在屏幕上安排选单。对于熟练的使用者而言,键盘输入的速度要快于鼠标选项的输入。 图形界面设计的原则:

1.用户界面的各个画面设计在整体上应保持相同或相似的外观。

2.用户界面使用的词汇、图示、颜色、选取方式、交流顺序,其意义与效果应前后一

致。

3.要正确使用图形的表达能力。

4.由于图形对象占用系统资源较多,处理速度慢,因此在时间影响要求高,而硬件资

源档次较低环境中,不宜采用图形界面。

第九节 计算机处理过程的设计

模块的外部特征:功能和界面

计算机处理过程的设计则要确定每个模块的内部特征,即内部的执行过程,包括局部的数据组织、控制流、每一步的具体加工要求及种种实施细节。

处理过程设计的关键是用一种合适的表达方法来描述每个模块的执行过程。

1.流程图

基本成分:

1)加工步骤,用方框表示 3)控制流,用箭头表示

2)逻辑条件,用菱形表示优点是直观、形象。

2.盒图(NS图)

与流程图相比,NS图的优点在于:

1)它强制设计人员按结构化程序设计方法进行思考并描述其方案。

2)图像直观,容易理解设计意图,为编程、复查、测试、维护带来方便。

3)简单易学

3.程序设计语言PDL

第十节 计算机系统的选择

 选择计算机系统的依据是:

1)功能要求 5)通信和网络要求

2)容量要求 6)市场和国情要求

3)性能要求 7)经济、技术条件等方面的限制

4)外部设备配置要求

第十一节 系统设计说明书

设计完成,提交系统设计书,两种形式:

单册报告,分章节介绍总体模块设计、代码设计、输入/输出、人机交互、数据库等各部分内容

系统分析与设计方法读书笔记 篇5

《系统分析与设计方法》,顾名思义,是论述软件开发过程中涉及到的分析与设计过程的方法论。作者依照软件开发过程将书划分为四个部分:系统开发项目环境、系统分析方法、系统设计方法、系统分析和设计完成后的工作。同其他美国作者一样,作者通过一个贯穿全书的案例--音阶公司系统项目,向我们详细地讲解了开发一个软件系统过程中设计到的知识。

第一部分“系统开发项目环境”介绍信息系统开发的概念和过程。第二部分“系统分析方法”涵盖了生命周期前期活动、工具和技术,这些内容用于分析业务问题、说明信息系统业务需求以及制定业务和系统方案。第三部分“系统设计方法”涵盖了生命周期中期活动、工具和技术,特别强调应用架构的概要设计和详细设计、快速开发和原型设计、外部设计(输出、输入和界面)、内部设计(如数据库和软件工程)以及面向对象设计。第四部分“系统分析和设计完成后的工作”通过纵览生命周期后期活动,透视系统分析和设计工作。

《系统分析与设计方法》这本书围绕软件开发这一中心,详细讲解了从需求分析到后期维护各个阶段中,如何运用文档与周围的人员进行有效沟通和协作。文档,作为各类人员之间的桥梁和纽带,如使用得当,有以下几个好处:

1.提高软件开发过程的能见度。把开发过程中发生的事件以某种可阅读的形式记录在文档中。管理人员可把这些记载下来的材料作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理。

2.提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、从而减少返工。并且可在开发早期发现错误和不一致性,便于及时加以纠正。

3.作为开发人员在一定阶段的工作成果和结束标志。

4.记录开发过程中的有关信息,便于协调以后的软件、开发、使用和维护。

5.提供对软件的运行、维护和培训的有关信息,便于管理人员、开发人员、操作人员、用户之间的协作、交流和了解。使软件开发活动更科学、更有成效。

6.便于潜在用户了解软件的功能、性能等各项指标,为他们选购符合自己需要的软件提供依据。

也正是基于这样的好处,软件行业才会定义、开发各种沟通表达工具和建模语言来统一沟通方法,从而便于各种人员的团结合作。以UML为例。从1989

年到1994年,建模语言数量从不到十种增加到了五十多种。90年代中,又一批新方法出现,其中最引人注目的是Booch 1993、OOSE和OMT-2等。但到目前为止,UML这一统一建模语言脱颖而出,它贯穿软件开发周期中的每一个阶段,并被OMG采纳作为业界的标准。就如书中所讲,UML是一个标准的图形表示法,它不是面向对象的分析和设计,也不是一种方法,它仅仅是一组符号。UML是在开发阶段,说明,可视化,构建和书写一个面向对象软件密集系统的制品的开放方法。作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。所以说,运用优秀的沟通工具与各种角色进行有效地沟通在一定程度上决定着系统能否保质保量的成功完成。在这个崇尚团结与合作的社会,作为新一代的软件开发人员,我们更应该认真学习书中说讲的各种文档编写方法,更好的运用到实际开发中去。

首先,需求分析人员从接触到深入了解客户业务有一个渐进的过程,如果一开始就深入到业务的细节中去,不但容易迷失方向,而且很容易显露出你对业务的无知,客户会因此而失去与你沟通的兴趣。

其次,沟通双方都有自己习惯的沟通方式。所以在双方能够达成默契之前,不要急于深入业务细节,而是圈定范围,先就一些大框框进行沟通,借此了解客户的沟通方式。客户是喜欢开放型问题还是封闭型问题?客户是很健谈还是很含蓄?客户是主导型沟通者还是被动型沟通者?客户是具有很强逻辑思维的人,可以将一个问题有条不稳地讲清楚,还是一个发散型思维的人,总是没有什么目的地想到什么就讲什么?如果双方的沟通方式不能切合 rf4ss,必定会造成沟通的障碍。

再次,客户的时间是有限的,很多时候不能有整块的时间来配合需求调研。由于项目的周期也是有限的,因此每一次会面都需要争分夺秒,用最快的时间把问题搞清楚。另一方面,客户通常不会为需求调研做好准备,往往是等着回答问题的。如果需求分析人员寄希望于客户能有条不理的把一套业务都能讲解很清楚,整个业务形成闭环往往是很不现实的。这就要求需求分析人员根据经验提前要做好调研计划和内容,逐个进行落实。

系统分析与设计的方法主要包括结构化生命周期法(又称瀑布法)、原型化方法(迭代法)、面向对象方法。

按时间过程来分,开发方法分为生命周期法和原型法,实际上还有许多处于中间状态的方法。原型法又按照对原型结果的处理方式分为试验原型法和演进原型法。试验原型法只把原型当成试验工具,试了以后就抛掉,根据试验的结论做出新的系统。演进原型法则把试好的结果保留,成为最终系统的一部分。按照系统的分析要素,可以把开发方法分为三类:

①面向处理方法(Processing Oriented,简称PO)。

②面向数据方法(Data Oriented,简称DO)。

③面向对象的方法(Object Oriented,简称OO)

系统分析和设计应遵循的原则有:

系统开发是面向客户的,应从客户的角度考虑。

诸如系统开发生命周期之类的产品更新换代机构应该在所有的信息系统开发项目中建立起来。

信息系统开发的过程并不是一个顺序的过程,它允许步骤的重叠和倒转等。如果系统的成功可能性受到很大限制时,应取消整个项目。

文档材料是系统开发生命周期中重要的可递交成果,应加以重视

系统分析与设计实验指导书 篇6

前言

信息系统分析与设计是一门研究管理信息系统开发与维护的普遍原理和技术的工程学科。随着信息系统概念及应用的发展,成功的经验与失败的教训使人们认识到:信息系统建设过程是复杂的社会过程,系统观点是系统建设的重要思想武器,科学的开发过程和规范的项目管理要比开发技术本身更为重要,严格遵循系统分析与设计的方法论可以大大提高信息系统开发的成功率,显著减少系统开发和维护中的问题。

按该课程的特点,实验内容包括软件开发的两大方法学的专题训练,即结构化(生命周期学)的方法学和面向对象的方法学,通过对一个具体的信息系统项目,要求学生利用结构化软件开发技术或面向对象的软件开发技术完成对该项目的开发。因此设置四个实验项目,从项目开发的准备工作,系统分析过程,系统设计过程,到文档的整理和完善,覆盖软件开发的主要过程,此外又引入我国国家《计算机开发规范》,以规范技术文档的书写标准,提高实验教学质量。

通过实验训练,达到如下目的:

使学生进一步了解和掌握系统分析与设计原理,提高对实际项目的分析和设计能力,通过实验课程,熟悉和基本掌握软件开发方法学、软件开发的过程,文档资料的编写格式及规范,全面领会和贯通所学习的理论知识,从而培养学生综合运用所学课程知识,分析解决问题的能力,培养学生理论联系实际作风,实事求是,严肃认真的科学态度和良好的工作作风,为今后从事科学研究工作打下基础。

实验一:项目开发的准备工作--------------------1 实验二:系统分析过程----------------------------1 实验三:系统设计过程----------------------------2 实验四:系统文档整理----------------------------3

附录一:--------------5 附录二:--------------6 附录三:--------------11

实验一:项目开发的准备工作

实验学时:2

实验类型:验证性

一、目的与任务

目的:确定课题,组织组员,合理分工,熟悉软件开发环境,培养团队精神。

任务:学习软件开发小组的组织和管理,合理分工,将项目开发各阶段的任务明确,并熟悉相应的软件开发环境。

二、内容、要求与安排方式

1、实验内容与要求:

根据各组选择的课题,实行项目经理制,各组推荐一名组长,统一管理整个项目的实施过程,并和理调整资源和负责项目全局;根据项目的难易合理分配组员的任务,对问题达成一直的看法;针对项目的实施,熟悉相应的软件开发工具的使用环境。

2、实验安排方式:

本实验为开放实验,各组可同时进行实验,每组2—3人。3.准备参考资料和阅读相关的国家有关软件开发的标准文档。

三、思考题

1. 2. 3. 项目开发首先要做的事是什么?

你认为该软件应具备的最重要的特性是什么。你认为怎样分工是最合理的?

实验二:系统分析过程

实验学时:4

实验类型:验证性

一、目的与任务

目的:确定项目的可实施性,在此基础上完成系统的逻辑功能模型的建立。任务:采用不同的软件开发技术,完成对项目的分析过程,给出系统的逻 1 辑功能模型,数据字典以及规格说明书。

二、内容、要求与安排方式

1、实验内容与要求:(1)结构化分析

明白项目的业务流程图,绘制数据流程图,编写数据字典,数据加工处理的描述,实体关系图(ER图),需求规格说明书。

(2)面向对象分析

弄清信息系统的业务流程,绘制系统的用例图,书写用例规格说明;初步绘制系统的静态结构——类图;初步绘制系统动态行为——顺序图、协作图、活动图、状态图。最后利用Word写出系统的需求规格说明书。

2、实验安排方式:

本实验为开放实验,各组可同时进行实验,每组2—3人。

三、思考题

1. 2. 3. 4. 需求分析在软件开发中真的有那么重要吗?

分析系统流程图,流程图和数据流图的区别和各自的特点。怎样写合乎规范的数据流图和数据词典? 怎样组织对该工作的评审?

实验三:系统设计过程

实验学时:4

实验类型:技能性

一、目的与任务

目的:在实验二基础上完成系统的体系结构的建立和系统详细设计,并给出相应的规格说明书。

任务:认真分析实验二的结果,给出系统合理的体系结构,描绘系统结构图,并合理划分系统的各组成模块,最后给出系统的各部分设计规格说明书。

二、内容、要求与安排方式

1、实验内容与要求:(1)结构化设计

软件体系结构图(HIPO图或模块结构图)设计,模块处理流程设计,输出设计(主要指打印输出设计),存储文件格式设计(数据库结构设计),输入设计(主要指数据录入卡设计),代码设计,系统设计说明书

(2)面向对象设计

设计系统合理的体系结构;在Rational Rose环境中对实验二的分析模型进行细化、精化,使之成为计算机能够实现的物理模型。最后利用Word写出系统的设计规格说明书。

2、实验安排方式:

本实验为开放实验,各组可同时进行实验,每组2—3人。

三、思考题

1.系统设计和需求分析的关系是什么?两者必须先后关联吗? 2.怎样描绘系统的体系结构? 3.怎样绘制复合规范的流程图。4.怎样组织对设计阶段工作的评审?

实验四:系统文档整理

实验学时:2

实验类型:验证性

一、目的与任务

目的:系统运行和软件后期制作。

任务:总结软件开发中的得失,正确书写软件说明书和用户手册。

二、内容、要求与安排方式

1、实验内容与要求:

完善系统所涉及的程序框图,源程序,模拟运行数据,打印报表,软件使用说明书和用户手册等。

2、验安排方式:

本实验为开放实验,各组可同时进行实验,每组2—3人。

三、思考题

1.怎样合理选择软件开发的工具?

2.怎样进行用户说明手册和使用手册的编写。3.总结项目实施中的得失。

附录一:

实验要求

软件工程实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。具体要求如下:

1. 班级按项目小组进行分组,每组不得超过4人

2. 每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目

3.项目开的每项任务要落实到人且规定该任务的起止日期和时间 4.每个项目小组可以参照附录中给定的文档规范标准提供项目文档 5.题目自定或采用附录二中的题目

6.软件开发的方法学自定(结构化或面向对象的方法学)

附录一:实验题目

题目一:“教务管理系统之子系统——学院课程安排”

1. 系统简介

每个学期的期中,学校教务处向各个学院发出下各学期的教学计划,包括课程名称、课程代码、课时、班级类别(本科、专科、成人教育、研究生)、班号等;学院教学主管人员根据教学任务和要求给出各个课程的相关限制(如:任课教师的职称、上课的班数、最高和最低周学时数等);任课教师自报本人授课计划,经所在教研室协调任可,将教学计划上交学院主管教学计划的人员,批准后上报学校教务处,最终由教务处给出下个学期全学院教师的教学任务书。

假设上述排课过程全部由人工操作,现要求为上述过程实现计算机自动处理过程。2. 限定条件

(1)每位教师的主讲课程门数不超过2门/学期:讲师以下职称的教师不能承担学院定主课的主讲任务。

(2)学院中层干部的主讲课时不能超过4学时/周。

(3)本学期出现严重教学事故的教师不能承担下各学期的主讲任务。

(4)本系统的输入项至少包括:教务处布置的教学计划,学院教师自报的授课计划和学院定的有关授课限制条件。

(5)本系统的输出项至少包括:教务处最终下达全院教师的教学任务书和学院各个班级下各学期的课程表(可以不含上课地点)。

题目二:“学校教材定购系统”

1. 系统简介

本系统可以细化为两个子系统:销售系统和采购系统。

销售系统的主要工作过程为:首先由教师或学生提交购书单,经教材发行人员审核是有效购书单后,开发票、登记并返给教师或学生领书单,教师或学生可以到书库领书。

采购系统的主要工作过程为:若是教材脱销,则登记缺书,发缺书单给书库采购人员;一旦新书入库后,即发进书通知给教材发行人员。

以上功能要求在计算机上实现。2. 技术要求和限制条件

(1)当书库中的各种书籍数量发生变化(包括进书和出书)时,都应修改相关的书库记录,如库存表或进/出库表。

(2)在实现上述销售和采购的工作过程时,需考虑有关的合法性验证。

6(3)系统的外部项至少包括:教师、学生和教材工作人员。

(4)系统的相关数据存储至少包括:购书表、库存表、缺书登记表、待购教材表、进库表和出库表。

题目三:“机票预定系统”

1. 系统简介

航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。2. 技术要求和限制条件

(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。

(2)对于本系统还应补充以下功能:

 旅客延误了取票时间的处理  航班取消后的处理  旅客临时更改航班的处理

(3)系统的外部输入项至少包括:旅客、旅行社和航空公司。

题目四:“实验室设备管理系统”

1. 系统简介

每学年要对实验室设备使用情况进行统计、更新。其中:(1)对于已彻底损坏的做报废处理,同时详细记录有关信息。

(2)对于由严重问题(故障)的要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。

(3)对于急需修改但又缺少的设备,需以“申请表”的形式送交上级领导请求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、编号、型号、规格、单价、数量、购置日期、生产厂家、保质期和经办人等信息),同时更新申请表的内容。

(4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段等查询。

2. 技术要求及限制条件

7(1)所有工作由专门人员负责完成,其他人不得任意使用。

(2)每件设备在做入库登记时均由系统按类别加自动顺序号编号,形成设备号;设备报废时要及时修改相应的设备记录,且有领导认可。

(3)本系统的数据存储至少包括:设备记录、修理记录、报废记录、申请购买记录。(4)本系统的输入项至少包括:新设备信息、修理信息、申请购买信息、具体查询统计要求。

本系统的输出项至少包括:设备购买申请表、修理/报废设备资金统计表。

题目五:人事管理系统的设计系统简介和设计要求:(1)信息要求

本系统应该包含与人事管理相关的信息,如部门信息、职员信息,其中职员信息应该包含职员的基本信息(如职员的编号、姓名、性别等)职员的其他信息如(如:主要社会关系、奖惩情况等)。(2)功能要求

本系统的基本功能要求如下:  部门信息维护;

 职员信息维护(含职员的部门调整);  职员信息查询(不确定查询);  人事信息查询(如人才结构的统计查询) 用户管理(含用户权限的设置)

 辅助功能(如学历索引表、职称索引表的维护等)

题目六:工资管理系统的设计

系统简介和设计要求:(1)信息要求

本系统应该包含与工资管理相关的信息,如部门信息、职员工资信息,其中职员工资信息应该包含与支援工资相关的基本信息(如:职员的编号、姓名、基本工资、各种津贴以及其他应发工资项目,水电、煤气等各项扣款,以及公积金、会费等)、职员的其他信息(如工资调整情况)等。

(2)功能要求

本系统的基本功能要求如下:  部门信息维护;

 职员工资信息维护;  显示打印职员工资表;  打印职员工资发放表;  打印部门工资汇总表;

 用户管理(含用户权限的设置)。

题目七:毕业生管理信息系统

设计要求:(1)信息要求

本系统应该包含与毕业生管理相关的信息,如毕业生基本信息、毕业生就业信息、其中毕业生基本信息应该包括:毕业生的编号、姓名、性别、民族、籍贯、毕业时间、专业、政治面貌等信息;毕业生就业信息应该包括:毕业生的编号、就业时间、工作单位、工作性质、职务、地址等。

(2)功能要求

本系统的基本功能要求如下:  毕业生基本信息维护;  毕业生就业信息维护;

 毕业生就业情况查询(不确定查询);  按专业划分的就业情况统计;  用户管理(含用户权限的设置)。

题目八:建立一个分布式、互动式的远程教学平台

为教师教学、学生学习提供比较完整的教学解决方案。其主要功能包括通知发布、参考资料发布、电子课件发布、学生作业提交、帮助教师批改学生作业、帮助学生复查批改后的作业。

题目九:开发一个基于WEB的网上机票查询和销售系统

该系统可以录入航班和机票信息,用户可以查询航班时刻表、查询机票可用信息和机票折扣信息,用户可以通过WEB订票。

题目十:开发一个基于WEB的网上投稿系统

该系统可以接受作者的电子投稿,以及作者信息(如姓名、单位、通信地址、电话、E-Mail等)注册,并能供投稿人查询稿件处理情况,以及在稿件处理后(退稿、录用、修改后再审等),能自动发送E-Mail通知投稿人。

题目十一:开发一个基于Web的BBS系统

包含一般BBS所具有的功能,如用户注册、用户信息管理、发贴功能、贴子管理、主题词查询、用户信息修改和查询等。

题目十二:开发一个基于Web的网上书店

该系统可以分类录入书籍和相关信息(如名称、页数、出版商、摘要、目录等),用户可以注册、登录,注册用户享受打折服务,所有用户都可以查询、浏览书籍。注册用户可以定购书籍并查询订单。

附录三:

软件开发文档指南 可行性研究报告

可行性研究报告的编写目的是:说明该软件开发项目的实现在技术、经济和社会条件方面的可行性;评述为了合理地达到开发目标而可能先择的各种方案;说明论证所选定的方案。可行性研究报告的编写内容要求如下:

1.1 引言

1.1.1 编写目的 1.1.2 背景

1.1.3 定义

1.1.4 参考资料

1.2 可行性研究的前提

1.2.1 要求

1.2.2 目标

1.2.3 条件、假定和限制

1.2.4 进行可行性研究的方法

1.2.5 评价尺度

1.3 对现有系统的分析

1.3.1 数据流程和处理流程

1.3.2 工作负荷

1.3.3 费用开支

1.3.4 人员

1.3.5 设备

1.3.6 局限性

1.4 所建议的系统

1.4.1 对所建议系统的说明

1.4.2 数据流程各处理流程

1.4.3 改进之处

1.4.4 影响

1.4.4.1 对象设备的影响

1.4.4.2 对软件的影响

1.4.4.3 对用户单位机构的影响

1.4.4.4 对系统动行的影响

1.4.4.5 对开发的影响

1.4.4.6 对地点和设施的影响

1.4.4.7 对经费开支的影响

1.4.5 局限性

1.4.6 技术条件方面的可行性

1.5 可选择其他系统方案

1.5.1 可选择的系统方案1

1.5.2 可选择的系统方案2

……

1.6 投资及收益分析

1.6.1 支出

1.6.1.1 基本建设投资

1.6.1.2 其他一次性支出

1.6.1.3 非一次性支出

1.6.2 收益

1.6.2.1 一次性收益

1.6.2.2 非一次性收益

1.6.2.3 不可定量的收益

1.6.3 收益/投资比

1.6.4 投资回收周期

1.6.5 敏感性分析

1.7 社会条件方面的可行性

1.7.1 法律方面的可行性

1.7.2 使用方面的可行性

1.8 结论 2 项目开发计划

编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度所需经费预算、所需软、硬件条件等问题作出安排记载下来,以便根据本计划开展和检查本项目的开发工作。编制内容要求如下:

2.1 引言

2.1.1 编写目的 2.1.2 背景

2.1.3 定义

2.1.4 参考资料

2.2 项目概述

2.2.1 工作内容

2.2.2 主要参加人员

2.2.3 产品及成果

2.2.3.1 程序

2.2.3.2 文件

2.2.3.3 服务

2.2.3.4 非移交产品

2.2.4 验收标准

2.2.5 完成项目的最迟期限

2.2.6 本计划的审查者与批准者

2.3 实施总计划

2.3.1 工作任务的分解

2.3.2 接口人员

2.3.3 进度

2.3.4 预算

2.3.5 关键问题

2.4 支持条件

2.4.1 计算机系统支持

2.4.2 需要用户承担的工作

2.4.3 需由外单位提供的条件

2.5 专题计划要点 3 软件需求说明书

软件需求说明书的编制是为了使用户的软件开发者双方对该软件的起初规定有一个共同的理解,使之成为整个开发工作的基础。编制软件需求说明书的内容要求如下:

3.1 引言

3.1.1 编写的目的 3.1.2 背景

3.1.3 定义

3.1.1 参考资料

3.2 任务概述

3.2.1 目标

3.2.2 用户的点

3.2.3 假定与约束

3.3 需求规定

3.3.1 对功能的规定

3.3.2 对性能的规定

3.3.2.1 精度

3.3.2.2 时间特性要求

3.3.2.3 灵活性

3.3.3 输入输出要求

3.3.4 数据管理能力的要求

3.3.5 故障处理要求

3.3.6 其它的专门的要求

3.4 运行环境规定

3.4.1 设备

3.4.2 支持软件

3.4.3 接口

3.4.4 控制 4 数据需求说明书

数据要求说明书的编制目的是为了向整个开发时期提供关于处理数据的描述和数据采集要求的技术信息。编制数据要求说明书的内容要求如下:

4.1 引言

4.1.1 编写目的 4.1.2 背景

4.1.3 定义

4.1.4 参考资料

4.2 数据的逻辑描述

4.2.1 静态数据

4.2.2 动态输入数据

4.2.3 动态输出数据

4.2.4 内部生成数据

4.2.5 数据约定

4.3 数据的采集

4.3.1 要求和范围

4.3.2 输入的承担者

4.3.3 处理

4.3.4 影响 5 概要设计说明书

概要设计说明书可称作系统设计说明书,这里说的系统是指程序系统,编制的目的是说 15 明对程序的系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。编制概要设计说明书的内容要求如下:

5.1 引言

5.1.1 编写目的 5.1.2 背景

5.1.3 定义

5.1.4 参考资料

5.2 总体设计

5.2.1 需求规定

5.2.2 运行环境

5.2.3 基本设计概念和处理流程

5.2.4 结构

5.2.5 功能需求与程序的关系

5.2.6 人工处理过程

5.2.7 尚未解决的问题

5.3 接口设计

5.3.1 用户接口

5.3.2 内部接口

5.3.3 外部接口

5.4 运行设计

5.4.1 运行模块组合 5.4.2 运行控制

5.4.3 运行时间

5.5 系统数据结构设计

5.5.1 逻辑结构设计要点

5.5.2 物理结构设计要点

5.5.3 数据结构与程序的关系

5.6 系统出错处理设计

5.6.1 出错信息

5.6.2 补救措施

5.6.3 系统维护设计 6 详细设计说明书

详细说明书可称作程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并概要设计说明书。对详细设计说明书的内容要不得要求如下:

6.1 引言

6.1.1 编写目的 6.1.2 背景

6.1.3 定义

6.1.4 参考资料

6.2 程序系统的组织结构

6.3 程序1(标识符)设计说明

6.3.1 程序描述

6.3.2 功能

6.3.3 性能

6.3.4 输入项

6.3.5 输出项

6.3.6 算法

6.3.7 流程逻辑

6.3.8 接口

6.3.9 存储分配

6.3.10 注释设计

6.3.11 限制条件

6.3.12 测试计划

6.3.13 尚未解决的问题

6.4 程序2(标识符)设计说明

…… 数据库设计说明书

数据库设计说明书的编制目的是对于设计中的数据库所有标识、逻辑结构和理结构作出具体的设计规定。其内容要求如下:

7.1 引言

7.1.1 编写目的 7.1.2 背景

7.1.3 定义

7.1.4 参考资料

7.2 外部设计

7.2.1 标识符和状态

7.2.2 使用它的程序

7.2.3 约定

7.2.4 专门指导

7.2.5 支持软件

7.3 结构设计

7.3.1 概念结构设计

7.3.2 逻辑结构设计

7.3.3 理结构设计

7.4 运用设计

7.4.1 数据字典设计

7.4.2 安全保密设计 8 用户手册

用户手册的编制是要使用非专门术语的语言,充分地描述该软件系统工程所具有的功能及基本的使用方法。使用户(或潜在用户)通过本手册能够了解该软件的用途,并且能够确定在什么情况下,如何使用它。具体的内容要求如下:

8.1 引言

8.1.1 编写目的 8.1.2 背景

8.1.3 定义

8.1.4 参考资料

8.2 用途

8.2.1 功能

8.2.2 性能

8.2.2.1 精度

8.2.2.2 时间特性

8.2.2.3 灵活性

8.2.3 安全保密

8.3 运行环境

8.3.1 硬设备

8.3.2 支持软件

8.3.3 数据结构

8.4 使用过程

8.4.1 安装与初始化

8.4.2 输入

8.4.2.1 输入数据的现实背景

8.4.2.2 输入格式

8.4.2.3 输入举例

8.4.3 输出

8.4.3.1 输出数据的现实背景

8.4.3.2 输出格式

8.4.3.3 输出举例

8.4.4 文卷查询

8.4.5 出错处理与恢复

8.4.6 终端操作

操作手册

操作手册的编制是为了向操作人中提供该软件每一个运行的具体过程和有关知识,包括操作方法的细节。具体的内容要求如下:

9.1 引言

9.1.1 编写目的 9.1.2 背景

9.1.3 定义

9.1.2 参考资料

9.2 软件概述

9.2.1 软件的结构

9.2.2 程序表

9.2.3 文卷表

9.3 安装与初始化

9.4 运行说明

9.4.1 运行表

9.4.2 运行步骤

9.4.3 运行1(标识符)说明

9.4.3.1 运行控制

9.4.3.2 操作信息

9.4.3.3 输入-输出文卷

9.4.3.4 输出文段

9.4.3.5 输出文段的复制

9.4.3.6 启动恢复过程

9.4.4 运行2(标识符)说明

9.5 非常规过程

9.6 远程操作 10 模块开发卷宗

模块开发卷宗是在模块开发过程中逐步编写出来的,每完成一个模块或一级密切相关的 20 模块的复审时编写一份,应该把所有的模块开发卷宗汇集在一起。编写的目的是记录和汇总低层次开发的进度和结果,以便于对整个模块开发工作的管理和复审,并为将来的维护提供非常有用的技术信息。具体的内容要求如下:

10.1 标题

10.2 模块开发情况表

10.3 功能说明

10.4 设计说明

10.5 源代码清单

10.6 测试说明

10.7 复审的结论 11 测试计划

11.1 引言

11.1.1 编写目的 11.1.2 背景

11.1.3 定义

11.1.4 参考资料

11.2 计划

11.2.1 软件说明

11.2.2 测试内容

11.2.3 测试1(标识符)

11.2.3.1 进度安排

11.2.3.2 条件

11.2.3.3 测试资料

11.2.3.4 测试培训

11.2.4 测试2(标识符)

……

11.3 测试设计说明

11.3.1 测试1(标识符)21

11.3.1.1 控制

11.3.1.2 输入

11.3.1.3 输出

11.3.1.4 过程

11.3.2 测试2(标识符)

……

11.4 评价准则

11.4.1 范围

11.4.2 数据整理

11.4.3 尺度 12 测试分析报告

测试分析报告的编写是为了把组装测试和确认测试的结果、发现及分析写成文件加发记载,具体的编写内容要求如下:

12.1 引言

12.1.1 编写目的 12.1.2 背景

12.1.3 定义

12.1.4 参考资料

12.2 测度概要

12.3 测试结果及发现

12.3.1 测试1(标识符)

12.3.2 测试2(标识符)

……

12.4 对软件功能的结论

12.4.1 功能1(标识符)

12.4.1.1 能力

12.4.1.2 限制

12.4.2 功能2(标识符)

……

12.5 分析摘要

12.5.1 能力

12.5.2 缺陷和限制

12.5.3 建议

12.5.4 评价

12.6 测试资源消耗 13 开发进度月报

开发进度月报的编制目的是及时向有关管理部门汇报项目开发的进展和情况,以便函及时发现或处理开发过程中出现的问题。一般地,开发进度月报是以项目组为单位每月编写的。如果被开发的软件系统规模比较大,整个工程项目被划分给若干个分项目组承担,开发进度月报将以项目组为单位按月编写。具体的内容要求如下:

13.1 标题

13.2 工程进度与状态

13.2.1 进度

13.2.2 状态

13.3 资源耗用与状态

13.3.1 资源耗用

13.3.1.1 工时

13.3.1.2 机时

13.3.2 状态

13.4 经费支出与状态

13.4.1 经费支出

13.4.1.1 支持性费用

13.4.1.2 设备购置费

13.4.2 状态

13.5 下个月的工作计划

13.6 建议

14 项目开发总结报告

项目开发总结报告的编制是为了总结本项目开发工作的经验,说明实际取得的开发结果以及对整个开发工作的各个方面的评价。具体的内容要求如下:

14.1 引言

14.1.1 编写目的 14.1.2 背景

14.1.3 定义

14.1.4 参考资料

14.2 实际开发结果

14.2.1 产品

14.2.2 主要功能和性能

14.2.3 基本流程

14.2.4 进度

14.2.5 费用

14.3 开发工作评价

14.3.1 对生产效率的评价

14.3.2 对产品质量的评价

14.3.3 对技术方法的评价

二阶系统的分析与设计 篇7

二阶系统是控制系统按数学模型分类时的一种形式, 是用数学模型可表示为二阶线性常微分方程的系统, 实际系统经常可以等效成二阶系统, 下面对二阶系统的分析与设计进行讨论。二阶系统可以表示成标准形式

(1) 式中, ωn称为无阻尼自然频率, ξ称为阻尼比。二阶系统的动态特性可以由ωn和ξ这两个参数描述。当0<ξ<1时, 系统处于欠阻尼状态, 有一对实部为负的共轭复根, 系统时间响应应具有振荡性;当ξ=1时, 系统处于临界阻尼状态, 有一对相等的负实根, 系统时间响应无振荡, 单调上升;当ξ>1时, 系统处于过阻尼状态, 有两个不相等的负实根, 系统时间响应无振荡, 单调上升;当ξ=0时, 系统处于零阻尼状态, 有一对纯虚根, 系统时间响应为持续的等幅振荡;当ξ<0时, 系统处于负阻尼状态, 有一对实部为正的共轭复根, 系统时间响应为发散振荡。

系统对单位阶跃输入信号的瞬态响应特性, 主要由超调量、上升时间和调整时间确定。超调量定义为阶跃响应中最大峰值与稳态值之间的相对误差, 即其中c (t) 表示系统的单位阶跃响应值, tp表示峰值时间。上升时间tr定义为响应值从稳态值的10%上升到90%所需的时间 (有时也定义成从5%到95%, 或从0%到100%) 。调整时间ts定义为响应曲线达到并保持在容许误差范围 (通常取2%或5%) 内所需的时间。

2 二阶系统的单位阶跃响应与参数ξ的关系

设定ωn=5rad/s, 研究二阶系统的单位阶跃响应与参数ξ的关系, 利用MATLAB执行后可以得到如图1所示的阶跃响应曲线。从图中可以看出, 当0<ξ<1时, 随着ξ的增大, 系统单位响应的超调量减少, 但上升时间加长。因此综合考虑到超调量和上升时间这两个因素, ξ应该接近于0.75。

自然频率固定, 阻尼比不同时二阶系统的阶跃响应

将自然频率固定为ωn=1, 阻尼比的值分别设置成ξ=0, 0.1, 0.3, 0.5, 0.7, 1, 2可采用如下Matlab语句得到闭环系统的阶跃响应。

实验程序:

3 二阶系统的单位阶跃响应与参数ωn的关系

设定ξ=0.3, 研究二阶系统的单位阶跃响应与参数ωn的关系, 利用MATLAB程序执后可以得到如图2所示的阶跃响应曲线。从图中可以看出, 当ξ=0.3时, 随着ωn的增大, 系统单位响应的振荡周期变短, 其调整时间也相应地缩短;当ξ≥1时, 系统变成临界阻尼或欠阻尼系统, 这时也有类似的结论。

阻尼比恒定, 自然频率不同时二阶系统的阶跃响应

将阻尼比ξ的值固定为ξ=0.3, 可采用如下Matlab语句得到在各个自然频率ωn取2, 4, 6, 8, 10, 12时的闭环系统的单位阶跃响应。

4 结束语

网络行为分析系统设计与应用 篇8

关键词:网络行为;系统设计;网络行为分析系统;海珠教育科研网

中图分类号:TP393 文献标识码:A文章编号:1673-8454(2009)10-0070-05

一、 海珠教科网概述

广州市海珠教育科研网建设项目是海珠区教育基础设施项目之一,是海珠区社会信息化的重要组成部分,具有网络管理功能及数据中心功能,此中心之上将为基础教育、职业教育、成人教育和教师继续教育等提供全方位的教育教学信息资源服务,为相应群体提供电子教学的平台及内容,并为各教育实体提供相应的管理平台。海珠区教育科研网中心将集网络管理及教育管理信息化、教育教学资源、教育行政信息、远程教育、教师培训、社区成人教育等应用项目于一体。

所有的海珠区完成校园网建设的中小学校、幼儿园与海珠教科网中心之间实现高带宽、稳定、安全的连接,广州市海珠教育科研网以1000M的裸光纤连接广州市教育科研网,教科网成为全区各中小学校、幼儿园校园网和直属单位网络的唯一出口。图1为广州市海珠教育科研网拓扑图。以下是海珠区教育信息化的建设情况:

1.基本情况

海珠区教育局下辖中学28所;小学72所;中职技校2所。学生总数10万多人;在编教师7000多人。

2.网络环境

全区各级学校中,92%可以通过宽带教科网接入互联网,8%的学校通过拨号接入海珠教科网。经过持续建设后,短时间内即可建成支持教育信息化应用的宽带网络基础环境。

3.硬件设施

全区计算机总数达16496台。实现总生机比10.88∶1,其中小学11.7∶1;初中10.24∶1;高中5.49∶1。已达到或超过“校校通”工程的要求。为全区教育信息化应用提供了基本的硬件基础。

二、网络行为分析系统总体设计

1.设计目标

(1) 功能要求

①实现海珠区教育科研网所有用户上网行为详细记录,为保障网络安全提供了审计数据基础。系统应实现对广州市“教育e时代”教育专网用户的上网行为记录、审计、统计与分析,能给教育行政部门提供了未成年人上网行为、热门网站、潮流行为及其网上兴趣爱好等重要基础信息、分析数据和具体分析结果,能在通过流行的信息网络加强未成年人思想道德教育工作上提供大量准确可靠的决策依据。

②从海量的上网记录数据中,按要求、按规则及时排查分析出不良上网行为的信息。根据海珠区教育科研网网络出口的统计数据,平均每秒在线并发连接数是12000,并发连接数峰值是16000。这样每天网络审计的记录都是海量数据,利用人工排查分析出不良上网行为几乎是不可能的。系统应能自动根据入侵检测规则、防黄规则、防毒规则和其它安全规则进行自动排查分析,从而准确地获得不良上网行为的记录信息。

③对网上不良行为、犯罪活动进行跟踪和追查。对网内用户或冒充广州市海珠区教育科研网用户,进行危害国家安全与社会稳定行为进行追查:如对信息网络中存储、处理或者传输的数据和应用程序进行删除、修改或者增加的;故意制作、传播计算机病毒等破坏性程序的;宣扬封建迷信、淫秽、色情、赌博、暴力、凶杀、恐怖、教唆犯罪等行为。我们都能利用网络行为分析系统对这些行为进行分析,并严密的监控和跟踪。

④建立市、区、校的教科网联防安全机制,形成广州市教育科研网络统一安全阵线。系统能与海珠区教育科研网中的IDS系统、网络安全审计系统和千兆防火墙实现安全联动。对多次追查并列入黑名单的用户和上网行为进行自动深入跟踪并做详细记录,发现有不法网上行为和操作时,应立即向“教育e时代”专网IDS系统、“教育e时代”专网CA认证系统和防火墙报警,必要时实现强硬安全措施,通过自动防火墙设置立即中断该网上行为和用户登录。与此同时,要将分析报告出现的网上不良行为自动报告广州市教育科研网入侵检测系统并报警,另外,能与各区教育科研网防火墙联动,实现市区联防。

(2)性能要求

①系统的稳定性和安全性。系统是面向海珠区教育科研网的所有用户,记录学生每分每秒的上网动作和具体信息。区教科网共有10万多用户,系统的记录、分析和处理并发量非常大,而且尽量避免出现错记和遗漏等现象。所以网络行为分析系统的设计必须能够根据需求,充分考虑用户的并发数量,提供高度的稳定性和安全性。

②安全联动性。网络行为分析系统发现预设的非法网上行为时,要及时向网络管理员报警,并自动进行安全联防动作,即向IDS系统和防火墙发出防范动作请求,由防火墙实施安全保护策略。

③可扩展性。学生网络行为分析系统要具备网络流量监控和各种上网行为控制功能的可扩展性能。例如:上网流量分析、上网时间分析、上网浏览网站类型分析和黄色网站、病毒、网络入侵分析等功能。

2.总体架构

网络行为分析系统的主要架构为B/S架构,无论是前台操作或是后台管理,全部操作均使用通用浏览器进行,保证系统易于操作、易于使用、界面友好。利用服务器端IIS将网站架构在Internet平台,主体程序使用J2EE、

Microsoft Active Server Page作为网站的主体编写语言,利用XML技术,结合电子身份认证系统(NETCA),并提供用户管理、系统管理、日志管理等功能,为用户提供了信息安全平台。

系统基于面向服务的架构(Service-Oriented Architecture ,SOA)使服务器作为网络行为分析系统的核心。服务器用开放式标准,并通过远程登录的后即可进行操作。系统应能与入侵检测、原有防火墙进行B/S方式的联动,是利用加密的SSL消息建立安全的连接,构建一个安全数据传输通道和基于ActiveX DLL数据库连接实现的,这个方法和基于SAML的安全性令牌不相关。通过配置不同的Credential Mapper和Identity Asserter对,可以支持其他的安全性令牌类型。

图2是针对海珠区教科网用户及管理员的数据交换图。网络行为分析系统的体系结构如图3所示。

3.模块分析

系统主要分为数据采集模块、预处理模块、数据包解码模块、主题分析模块、行为分析模块,各模块之间的关系图4所示。

(1) 数据采集模块

网络监听技术本来是提供给网络安全管理人员进行管理的工具,可以用来监视网络的状态、数据流动情况以及网络上传输的信息等。当信息以明文的形式在网络上传输时,使用监听技术进行攻击并不是一件难事,只要将网络接口设置成监听模式,便可以源源不断地将网上传输的信息截获。网络监听可以在网上的任何一个位置实施,如局域网中的一台主机、网关上或远程网的调制解调器之间等。

网络行为分析系统的工作方式是:将要发送的数据包发往连接在一起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。但是,当服务器打开工作监听模式,无论数据包中的目标地址是什么,服务器都将接收(通过镜像口复制流经网关的所有数据)。

本模块实现的功能到Libpcap库流程的循环抓包前为止通过OpenPcap函数依次调用图5的Libpcap库中的函数。

(2)预处理模块

预处理程序的模块化,使得网络行为分析系统的功能可以很容易地扩展,用户和程序员能够将模块化的插件方便地融入网络行为分析系统之中。预处理程序代码在探测引擎被调用之前运行,但在数据包译码之后。通过这个机制,数据包可以通过额外的方法被修改或分析。使用Preprocessor关键字加载和配置预处理程序,SetPktProcessor函数实现数据包解码,根据Datalink(由上面的Libpcap库函数得到)的值来判断并关联解码,函数解码结构如图6所示。

(3)应用协议解析模块

应用协议解析模块是网络行为分析系统中的核心模块。本文实现的应用层协议识别是基于正则表达式的分组内容模式匹配。

该模块从正则表达式规则库中载入各种应用协议的正则表达式特征字,实时对分组内容进行匹配。本文目前实现的正则表达式规则库总共包含78种应用协议的特征字。

(4) 主题分析模块

主题分析功能模块主要实现的功能是,对一些统计分析主题进行常用统计、相关分析、聚类分析和判别分析等,从而得出科学的统计分析信息。这些统计分析信息主要是以排行榜和统计报表的形式显示。

一些分析主题的例子包括:学生最喜爱的网站排行、学生最喜爱的搜索引擎排行、学生最喜爱的栏目排行、学生最喜爱的论坛排行等。

1)学生网上流行前线:记录学生上网最关注的时事、体育、娱乐热点话题,在一个固定的时间(如一个星期,一个月)系统自动得出学生最关心的网上流行话题统计表,用户也可以自定义时间段得出所需要的统计报表。

2)学生最喜爱的网站排行:记录学生所有曾经浏览的网站的IP地址,统计每一个IP地址的访问总人次和访问频率。

3)学生最喜爱的搜索引擎排行:记录学生所有曾经访问的搜索引擎的IP地址、URL和引擎名称,统计每一个搜索引擎的总访问人次和访问频率。

4)学生最喜爱的栏目排行:收集学生较多关注的网站栏目,记录该栏目的网页URL,把不同网站同一类型的栏目当成一个栏目统计其访问总人次。

5)学生最喜爱的资源排行:统计学生较多关注的网络资源,如电影、动漫、连续剧、MP3等,统计每一类的访问总人次得出排行榜。

6)学生最喜爱的软件排行:统计学生所有曾经下载的软件,浏览学习或者下载过其教程的软件。

7)学生最喜爱的论坛排行:记录学生所以曾经登录、发帖的论坛的IP地址和论坛名称,统计其访问总人次和访问频率,每星期更新排行榜。

8)学生最喜爱的聊天工具排行:统计学生所有曾经使用的聊天工具名称和其连接端口。

9)学生最喜爱的下载网站排行:记录学生所有曾经访问的主流专业下载网站的IP地址和网站名称,统计访问总人次和访问频率。

10)学生最喜爱的音乐站排行:记录学生所有曾经访问的主流音乐网站的IP地址和网站名称,统计访问总人次和学生上这类网站的目的(下载音乐、关注动向等)。

11)学生最喜爱的娱乐站排行:记录学生所有曾经访问的主流娱乐网站的IP地址和网站名称,统计访问总人次和学生关注的娱乐项目(电影、音乐、八卦新闻等)。

12)学生最喜爱的游戏站排行:记录学生所有曾经访问的主流游戏网站的IP地址和网站名称,统计访问总人次、学生关注的游戏类型(网游、大型单机游戏、游戏等)和学生在线玩小游戏的频率和所使用的端口。

13)学生最喜爱的新闻站排行:记录学生所有曾经访问的主流新闻门户网站的IP地址和网站名称,统计访问总人次和学生关注的新闻栏目(体育、时事)等。

14)学生最喜爱的电子邮局排行:记录学生所有曾经访问的电子邮局的IP地址和网站名称,统计访问总人次和访问频率。

15)使用匿名代理的统计分析:统计使用匿名代理上网的数量。

16)浏览性教育相关网站栏目的统计分析:记录学生浏览性教育相关网站、栏目的IP地址或者网页URL,统计访问总人次。

17)浏览暴力相关网站的统计分析:记录学生浏览暴力相关的IP地址,统计访问总人次。

18)浏览色情/性行为相关网站的统计分析:记录学生浏览色情/性行为相关网站的IP地址,统计访问总人次。

19)对指定关键字库进行搜索的统计分析:统计学生对指定关键字库中存在的关键字的搜索人次和搜索频率。

(5) 行为分析模块

行为分析功能模块是以数据仓库为基础,运用数据挖掘的各种技术,对历史的,综合的数据进行统计,以统计报表的形式输出统计结果,方便用户进行下一步的分析(如图7)。这个功能模块主要包括三方面统计数据:一是访问人群信息统计,主要包括新访问者与重复访问者的数据统计,具体信息还包括这些人群地理分布等;二是访问行为统计分析,主要包括以单篇日志为单位的访问量分布统计、以日志分类为单位的分布统计等;三是对网志站点向外链接与来访站点分布的统计,还包括通过搜索引擎访问网志的信息分布统计等。

下面介绍粗糙集对学生上网行为数据挖掘的实现原理。假设现有8种类型的信息记录构成了一个数据集合A,记为:A={x1,x2,x3,x4,x5,x6,x7 ,x8},每种数据记录都有信息属性,按照信息安全类别的不同,我们将这些信息分成R1={安全,普通,危险}三个大类,那么所有安全的信息构成集合X1={x1,x2,x6,x8},普通信息构成集合X2={x3,x4},危险的信息是:X3={x5,x7 }。按照信息安全类别这个属性我们就把数据集合A进行了一个划分(所谓A的划分就是指对于A中的任意一个元素必然属于且仅属于一个分类),那么数据集合属性就形成了一种知识。一种对集合A的划分就对应着关于A中数据的一个知识,假如还有其他的属性,比如还有访问类别R2={学习,娱乐,数据传输},传输方式R3={Http,FTP,流媒体},这样加上R1属性对A构成的划分分别为:

A/R1={X1,X2,X3}={{x1,x2,x6},{x3,x4},{x5,x7,x8}}

(安全类别分类)

A/R2={Y1,Y2,Y3}={{x1,x2},{x5,x8},{x3,x4,x6,x7}}

(访问类型分类)

A/R3={Z1,Z2,Z3}={{x1,x2,x5},{x6,x8},{x3,x4,x7}}

(传输方式分类)

这些所有的分类合在一起就形成了一个基本系统分析的知识库。除了安全的{x1,x2,x6}、Http传输的{x1,x2,x5}、学习类型的{x1,x2}这样的概念以外还可以表达例如:Http传输的学习类型{x1,x2,x5}∩{x1,x2}={x1,x2},危险的数据传输({x5,x7,x8}∩{x3,x4,x7}∩{x3,x4,x6,x7}={x7},危险的FTP传输{x5,x7,x8}∪{x6,x8}={x5,x6,x7,x8}。而类似这样的概念可以通过求交运算得到,比如X1与Y1的交就表示安全的学习访问。所有的这些能够用交、并表示的概念以及加上上面的三个基本知识(A/R1,A/R2.A/R3)一起就构成了一个知识系统记为R=R1∩R2∩R3,它所决定的所有知识是A/R={{x1,x2},{x3},{x4},{x5},{x6},{x7},{x8}}以及A/R中集合的并。

网络行为分析系统分析型数据库(DW数据)中的二维表如表1所示。

可以看出,这个表就是上面的那个例子的二维表格体现,而最后一列是我们的决策属性,也就是说评价什么样的数据集合正常。这个表中的每一行表示了类似这样的信息:安全的学习类型Http访问正常,危险的娱乐类型FTP访问异常等等。系统把所有的记录看成是论域A={x1,x2,x3,x4,x5,x6,x7,x8},任意一个列表示一个属性构成了对论域的元素上的一个划分,在划分的每一个类中都具有相同的属性,而条件属性:安全类别、访问类型、传输方式都是可以通过管理员添加设置。系统将管理员设置的条件属性发送至内部判断机制类,自动计算决策属性(最后一项的是否正常)的近似值,最后我们得到化简后的知识库R2,R3,从而能得到下面的决策规则:安全的学习->正常,学习Http->正常,危险的数据传输->异常,流媒体数据传输->正常,危险的FTP->异常,利用粗集的理论还可以对这些规则进一步化简得到:安全->正常,学习->正常,危险->异常。这就是上面这个数据表所包含的真正有用的知识,而这些知识都是从数据库有粗糙集方法自动学习得到的。

三、小结

本文详细描述了网络行为分析系统的设计实现细节,同时在真实的教育科研网络中进行了实验,验证了系统的功能。

首先介绍了本系统的应用背景——广州市海珠教育科研网,本系统的设计与应用完全针对该教育区域网,力求能对网内用户(主要是学生)的网络行为进行分析并在此基础上进行一定的引导和管理。第二部分是网络行为分析系统的设计实现细节,从总体设计目标,总体结构以及主要模块的设计三个角度加以阐述。最后还介绍了实验的环境、实验过程以及实验结果分析。

参考文献:

[1]殷肖川,刘志宏,姬伟锋,万映辉.网络编程与开发技术[M].西安:西安交通大学出版社,2003:33-92.

[2]卢开澄.计算机密码学——计算机网络中的数据预安全[M].北京:清华大学出版社,1998:12-23.

[3]陈蕾蕾,曲保章.IP数据报重组算法及实现[J].今日电子,1998.第7期:31-33.

上一篇:初一新生军训心得体会800字下一篇:伦敦奥运会开幕式的优秀作文