2008年11月10日

一、软件准备:以下均为截止2005-4-20的最新正式版本
PHP(5.1.2):http://www.php.net/

MySQL(5.0.19):http://www.mysql.com

Zend Optimizer(2.6.2):http://www.zend.com/

phpMyAdmin(2.8.0.2):http://www.phpmyadmin.net/

假设 C:\ 为你现在所使用操作系统的系统盘,如果你目前操作系统不是安装在 C:\ ,请自行修改。

二、安装 PHP :

(1) 下载后得到 php-5.1.2-Win32.zip ,解压至C:\php(这个路径可以随意,不过下面要是用到这个路径,请相应修改);

(2)再将 C:\php\libmysql.dll 和 C:\Inetpub\php\ext\php_mysql.dll 复制到 C:\Windows\system32 下;

(3)将C:\PHP\php.ini-dist 复制到C:\Windows ( Windows 2000 下为 C:\WINNT)并将改名为php.ini,然后用记事本打开,利用记事本的查找功能搜索

extension_dir = "C:\PHP\ext"
将其路径指到你的 PHP 目录下的 extensions 目录,比如:extension_dir = "C:\Inetpub\php\ext" ;

搜索;Windows Extensions并仅打开需要的模块以节省内存(去掉每个模块前的;号即可):

extension=php_gd2.dll
GD库支持,如果不打开该模块则Discuz!论坛图片水印不能使用。

extension=php_mbstring.dll
为了支持phpMyAdmin,打开mbstring。

extension=php_mysql.dll
不用说了吧,支持MySQL。

(4)配置 IIS 使其支持 PHP

首先必须确定系统中已经正确安装 IIS ,如果没有安装,需要先安装 IIS。

PHP 与IIS整合时支持 CGI 和 ISAPI 两种模式,推荐使用 ISAPI 模式。这里只解介绍 ISAPI 模式安装方法:ISAPI 模式安装步骤:

在“控制面板”的“管理工具”中选择“Internet 服务管理器”,打开 IIS 后停止服务,然后在左侧“你需要支持PHP的Web站点上单击右键选择“属性”,在打开的“ Web 站点属性”窗口的“ISAPI 筛选器”标签里找到并点击“添加”按钮,在弹出的“筛选器属性”窗口中的“筛选器名称”栏中输入:PHP ,再将可执行文件指向 php5isapi.dll 所在路径,如:C:\PHP\php5isapi.dll 。

打开“Web 站点属性”窗口的“主目录”标签,找到并点击“配置”按钮,在弹出的“应用程序配置”窗口中找到并点击“添加”按钮,在弹出的窗口中新增一个扩展名映射,扩展名为 .php ,单击“浏览”将可执行文件指向 php5isapi.dll 所在路径,如:C:\PHP\php5isapi.dll,然后一路确定即可。

再打开“Web 站点属性”窗口的“文档”标签,找到并点击“添加”按钮,向默认的 Web 站点启动文档列表中添加 index.php 项。您可以将 index.php 升到最高优先级,这样,访问站点时就会首先自动寻找并打开 index.php 文档。

确定 Web 目录的应用程序设置和执行许可中选择为纯脚本,然后关闭 Internet 信息服务管理器,在命令提示符中执行如下命令:

net stop w3svc
net stop iisadmin
net start w3svc

然后在“Internet 服务管理器”左边的“WEB服务扩展”中设置ISAPI 扩展允许,Active Server Pages 允许

打开浏览器,输入:http://localhost/,看到成功页面后,在 IIS 根目录下新建一个 phpinfo.php ,内容如下:


<?php
phpinfo();
?>
打开浏览器,输入:http://localhost/phpinfo.php,将显示当前服务器所支持 PHP 的全部信息,可以看到 Server API的模式为:ISAPI 。


三、安装 MySQL :

    下载Windows Essentials (x86) ,直接双击安装即可。这里本人安装到C:\MySQL,安装过程中会提示你是不是立即进行配置,选择否即可完成安装。安装完毕后,在“开始”菜单的“运行”中输入:C:\MySQL\bin\mysqld-nt -install ,运行成功之后再输入:net mysql start ,将会启动 MySQL 服务;如果你还想较详细的配置 MySQL ,就请进入 C:\MySQL\bin 目录,运行 MySQLInstanceConfig.exe ,按提示操作即可。

    如果你下载的是 Windows (x86) ,解压后双击执行 Setup.exe 即可,步骤同上。

    如果你下载的是 Without installer (unzip in C:\) ,直接解压到C:\MySQL,在“开始”菜单的“运行”中输入: C:\MySQL\bin\mysqld-nt.exe ,运行成功之后再输入:net mysql start ,即可启动 MySQL 服务。


为MYSQL设置密码,确保安全:
一般菜单里面有配置向导MySQL Server Instance Config Wizar,运行后按下面步骤配置设置ROOT密码即可


ROOT密码,建议社设置复杂点,确保服务器安全!

也可以在MySQL Command Line Client里面用命令配置:
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

修改密码。
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例:给root加个密码xqin.com首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin -uroot -password xqin.com
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

然后执行:
SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('xqin.com');
这里的命令是由于MySQL 4.1 及其后版本验证协议使用的密码哈希算法与老的客户端不兼容,在PHPMYADMIN里用正确密码登陆也会提示:
Client does not support authentication protocol requested
by server; consider upgrading MySQL client
所以是为后面正确使用PHPMYADMIN做准备

这样ROOT密码就设置为xqin.com了

四、安装 Zend Optimizer :

    下载后得到 ZendOptimizer-2.6.2-Windows-i386.exe ,直接双击安装即可,安装过程要你选择 Web Server 时,选择 IIS ,然后提示你是否 Restart Web Server,选择是,完成安装之前提示是否备份 php.ini ,点确定后安装完成。

五、安装 phpMyAdmin:
下载得到 phpMyAdmin-2.8.0.2.zip ,将其解压到站点根目录,找到./libraties/config.default.php并复制到phpMyAdmin根目录命名为config.inc.php ,做以下修改:

搜索$cfg['PmaAbsoluteUri'],设置你的phpmyadmin的URL,如:$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/'; 注意这里假设phpmyadmin在默认站点的根目录下
搜索$cfg['blowfish_secret'],设定好root密码后这里也要填写比如ROOT密码xqin.com则设置为$cfg['blowfish_secret'] = 'xqin.com';
搜索$cfg['DefaultLang'] ,将其设置为 zh-gb2312 ;
搜索$cfg['DefaultCharset'] ,将其设置为 gb2312 ;
搜索$cfg['Servers'][$i]['auth_type'],默认为config,是不安全的,不推荐,推荐使用cookie,将其设置为$cfg['Servers'][$i]['auth_type']     = 'cookie';
注意这里如果设置为config请在下面设置用户名和密码!例如:
$cfg['Servers'][$i]['user']          = 'root';      // MySQL user-----MySQL连接用户
$cfg['Servers'][$i]['password']      = 'xqin.com';   
本人的配置文件,仅供参考!
http://xqin.com/iis/config.inc.txt
打开浏览器,输入:http://localhost/phpMyAdmin/ ,若 IIS 和 MySQL 均已启动,输入用户ROOT密码xqin.com即可浏览数据库内容。
phpMyAdmin 的具体功能,请慢慢熟悉,这里不再赘述。
至此所有安装完毕。
posted @ 2008-11-10 09:29 altaser 阅读(19) | 评论 (0)编辑

2007年9月19日

摘要:

  本文是在管理信息系统需求调研实践和学习中的一些经验总结,有些是自己的体会,有些来自专家的书本或文章,希望与大家分享,并起到一个抛砖引玉的作用,如有不妥之处欢迎指正。

  关键字:需求、调研

  一、软件需求的定义

  IEEE软件工程标准词汇表(1997年)中定义的需求为:

  (1) 用户解决问题或达到目标所需的条件或能力;

  (2) 系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力;

  (3) 一种反映上述条件和能力的文档说明。

  二、需求分析的几个方面

  需求分析可分为问题识别、分析与综合、编制需求分析文档、需求评审等四个阶段,包括以下几个方面:确定软件所期望的用户类;获取每个用户的需求;了解实际用户任务和目标以及这些任务所支持的业务需求;分析员与用户的信息以区别用户任务需求、功能需求、业务规则、质量属性、建议解决方法和附加信息;将系统级的需求分为几个子系统,并将需求中的一部分分配给软件组件;了解相关质量属性的重要性;讨论得出实施优先级;将所收集的用户需求编写成需求规格说明和模型;评审需求规格说明,确保与用户达成共识。

  软件需求的各组成部分如下图所示:

  三、需求文档规范

  A、三种编写方法

  1、 用好的结构化和自然语言编写文本型文档;

  2、 建立图形化模型,这些模型可以描绘转换过程、系统状态、和它们之间的变化、数据关系、逻辑流或对象类和他们的关系;

  3、 编写形式化规格说明,这可以通过使用数学上精确的形式化逻辑语言来定义需求。

  多种编写方法可在同一个文档使用,根据需要选择,或互为补充,以能够把需求说明白为目的。

  B、应有成果

   1、 各业务手工办理流程文字说明;

   2、 各业务手工办理流程图;

   3、 各业务手工办理各环节输入输出表单、数据来源;

   4、 目标软件系统功能划分(示意图及文字说明);

   5、 目标软件系统中各业务办理流程文字说明;

   6、 目标软件系统中各业务办理流程图(模型);

   7、 目标软件系统中各业务办理各环节数据、数据采集方式、数据间的内在联系分析。

   8、 目标软件系统用户界面图、各式系统逻辑模型图及说明

  C、文档工具推荐

   1、 调研结果《需求分析说明书》格式参照开发文档模板;

   2、 单位组织结构图、功能模块分解图用VISIO绘制,或直接用WORD中的画图工具;

   3、 业务流程图用VISIO中的FLOWCHART模板绘制;

   4、 系统逻辑模型使用ROSE绘制活用VISIO中的UML模板绘制;

   5、 软件用户界面用VISIO中的WIN95 USER INTERFACE模板绘制;

   6、 数据物理模型用POWERDESINER绘制;

  D、需求文档编写原则

   1、 句子简短完整,具有正确的语法、拼写和标点;

   2、 使用的术语与词汇表中所定义的一致;

   3、 需求陈述应该有一致的样式,例如“系统必须..”或者“用户必须..”,并紧跟一个行为动作和可观察的结果。;

   4、 避免使用模糊、主观的术语,减少不确定性,如“界面友好、操作方便”;

   5、 避免使用比较性词语,如“提高”,应定量说明提高程度。

  四、需求分析的任务与过程

  需求分析的任务是借助于当前系统的物理模型(待开发系统的系统元素)导出目标系统的逻辑模型(只描述系统要完成的功能和要处理的数据),解决目标系统“做什么”的问题,所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求,通过逐步细化对软件的要求描述软件要处理的数据,并给软件开发提供一种可以转化为数据设计、结构设计和过程设计的数据与功能表示。必须全面理解用户的各项要求,但不能全盘接受,只能接受合理的要求;对其中模糊的要求要进一步澄清,然后决定是否采纳;对于无法实现的要求要向用户作充分的解释。最后将软件的需求准确地表达出来,形成软件需求说明书SRS。其实现步骤如图:

  (1) 获得当前系统的物理模型:首先分析、理解当前系统是如何运行的,了解当前系统的组织机构、输入输出、资源利用情况和日常数据处理过程,并用一个具体的模型来反映自己对当前系统的理解。此步骤也可以称为“业务建模”,其主要任务是对用户的组织机构或企业进行评估理解他们的需要及未来系统要解决的问题,然后建立一个业务USECASE模型和业务对象模型。当然如果系统相对简单,也没必要大动干戈区进行业务建模,只要做一些简单的业务分析即可。

  (2) 抽象出当前系统的逻辑模型:在理解当前系统“怎样做”的基础上,取出非本质因素,抽取出“做什么”的本质。

  (3) 建立目标系统的逻辑模型:明确目标系统要“做什么”

  (4) 对逻辑模型的补充,如用户界面、启动和结束、出错处理、系统输入输出、系统性能、其他限制等等。

  需求分析各过程如下:

  (1) 问题识别:解决目标系统做什么,做到什么程度。需求包括:功能、性能、环境、可靠性、安全性、保密性、用户界面、资源使用、成本、进度。同时建立需求调查分析所需的通信途径。

  (2) 分析与综合:从数据流和数据结构出发,逐步细化所有的软件功能,找出各元素之间的联系、接口特性和设计上的限制,分析它们是否满足功能要求并剔除不合理部分,综合成系统解决方案,给出目标系统的详细逻辑模型。常用的分析方法有面向数据流的结构化分析方法SA(数据流图DFD、数据词典DD、加工逻辑说明)、描绘系统数据关系的实体关系图ERD、面向数据结构的Jackson方法JSD、面向对象分析方法OOA(主要用UML)、对于有动态时序问题的软件可以用形式化技术,包括有穷状态机FSM的状态迁移(转换)图STD、时序图、Petri网或Z。每一种分析建模方法都有其优势和局限性,可以兼而有之以不同角度分析,应该避免陷入在软件需求方法和模型中发生教条的思维模式和派系斗争,一般来说结构化方法用于中小规模软件、面向对象方法用于大型软件。

  (3) 编制需求分析文档

  (4) 需求评审

  五、需求分析的要求

  1、 必须能够表达和理解问题的数据域和功能域:系统的目的都是为了解决数据处理问题,就是将一种形式的数据转换(输入、处理、输出)为另一种形式的数据。数据域应包括数据流、数据内容和数据结构。数据流式数据通过系统时的变化方式。对数据进行转换就是程序的功能或子功能,两个转换之间的数据传递确定了功能间的接口。数据内容就是数据项,如人的数据项包括姓名、性别、出生日期等等。数据结构即各种数据项的逻辑组织,如是表格结构还是树形结构、数据项间的相互关系

  2、 必须按自顶向下、逐层分解的方式对问题进行分解和不断细化:软件的功能域和信息与都能做进一步的分解,可以是同一层次上的横向分解,也可以是多层次上的纵向分解。

  3、 给出系统的逻辑模型和物理模型:逻辑模型给出软件要达到的功能和要处理的数据之间的关系;物理模型给出处理功能和数据结构的实际表示形式

  六、需求调研方法

  1、 会谈、询问:围绕软件目标提出具体问题;

  2、 调查表:经过仔细考虑的书面回答可能比会谈中的回答更加准确;

  3、 收集分析客户使用的各种表格、有关工作责任、工作流程、工作规范、相关数据标准、业务标准的各种文字资料;

  4、 收集同类相关产品的宣传资料、技术资料、演示程序或软件程序;

  5、 情景分析:利用情景分析诱导用户能够把它们的需求告知分析员(可以描述当前一项业务怎么做、也可以描述设想的系统中此项业务怎么做);

  6、 可视化方法:结和情景分析,利用画用户界面图、业务流程图、功能结构图、时序图等图形与客户进行讨论;

  七、调研基本策略

  1、 首先确定用户的软件开发目标,确定系统基本范围,然后围绕这一目标,确定要访问的部门和人员,要了解的业务,在基本范围内展开调研;

  2、 以部门职责为基础搞清各种现有业务、要填写的表簿册文档报表等,其数据来源及去向;

  3、 以业务为主线,搞清每个业务的每个环节的流程关系、涉及部门、输入输出项;

  4、 以数据为主线,搞清数据采集方式、数据流向、数据之间的内在联系;

  5、 搞清哪些业务或数据是已建系统的,它们和新系统的关系是衔接还是替换;

  6、 应思考是否有新技术可以改进现有工作,用户提出的需求用现有技术能否实现。

  八、结构化方法分析步骤

  1、 画出数据流图。设计数据流图必须逐步求精;

  2、 决定哪些部分需要计算机化和怎样计算机化(取决于用户投资限制和自身技术限制);

  3、 描述数据流细节,大型软件可以使用数据字典描述所有数据元素;

  4、 定义处理逻辑(加工逻辑:每个加工处理做什么);

  5、 定义数据存储,即定义每个存储的确切内容及其表示法(格式);

  6、 定义物理资源:如是文件需指定:文件名、组织结构(排序、索引等)、存储介质和记录;如是数据库需指定每个表的相关信息;

  7、 确定输入输出规格说明,如输入内容、输入屏幕、打印输出格式、输出长度等等;

  8、 确定硬件所需有关数值,如输入量、打印频率、CPU、记录大小、数据量大小、文件大小等等;

  9、 确定软硬件接口和环境需求。

  九、UML方法分析步骤

  一般的应用系统又是各组成部分:问题论域、人机界面、数据管理、任务管理,在OOA阶段重点对问题论域进行分析,对人机界面、数据管理、任务管理等问题,OOA一般较少或没有分析,而是留待OOD阶段解决。

  1、 调研、识别系统需求;

  2、 分析问题领域:主要任务是充分理解领域问题和项目投资者及用户的需求,对需求进行抽象,提出高层次的解决方案);

   (1) 确定系统范围和系统边界;

   (2) 确定系统的约束(环境和条件);

   (3) 定义活动者;

   (4) 确定系统的综合要求(功能、性能、运行);

   (5) 确定系统的数据要求(名称、范围、类型、数量、特点);

   (6) 建立USE CASE模型、绘制USE CASE图;

   (7) 绘制主要交互图;

  3、 建立静态结构模型(对象类图、数据库模型、包图);

  4、 建立动态行为模型(顺序图、协同图、状态图、活动图);

  5、 建立系统物理模型(组件图、配置图);

  十、企业级信息系统调研分析步骤

  企业级信息系统即着眼于整个企业的信息系统,是一个覆盖企业所有业务领域、适应企业不断发展的综合信息系统,它是一个统一的整体数据具有一致性,提高了系统的综合利用效率。

  A、规划阶段

  1、 构建高层次的企业模型

  (1) 调查组织结构、建立组织关系层次图;

  (2) 调查企业的任务、目标、战略重点和关键成功因素并予以分类;

  (3) 识别每个目标和关键成功因素所需的信息;

  (4) 给出每个目标完成的度量标准;

  (5) 分析信息技术对企业业务的潜在影响;

  (6) 建立高层次企业模型(描述业务处理的主题域及其关系、建立企业初始功能层次图);

  (7) 与企业中高层管理人员讨论,对所得信息和分析进行补充和确认;

  2、 对功能进行分解(输出:功能层次图、功能关系图、功能/组织矩阵);

  3、 进行实体分析(输出:高层实体关系图、实体类/信息需求矩阵、业务功能/实体类矩阵);

  4、 评估企业当前环境(现有系统和数据存储的清单、信息结构的范围、信息需求列表、组织、技术环境);

  5、 识别和确定预期的数据存储和业务系统,建立业务系统的结构图,确定和记录业务领域;

  B、业务领域分析阶段

  1、 确定业务范围、建立组织、制订计划;

  2、 进行数据分析、建立详细的数据模型(详细实体关系图);

  3、 业务活动分析(分析业务过程细节、分解业务过程、分析过程间的依赖关系、分析业务交互作用、建立业务活动模型);

  4、 现有系统分析(操作程序分解表、数据流图、用户视图:用户感兴趣的字段集);

  5、 业务领域模型的确认(完整性、正确性、长效性)

  十一、调研说明与基本问题

  不少行业的业务都是由一系列环节构成的业务流程组成的,有的简单只有一两个环节,有的复杂有多个环节,还可能有循环或分枝,系统软件不仅要解决独立环节的业务问题,而且要能够自动把这些环节串联起来,希望一个环节所做的工作能够自动被下一个环节利用,这就是最基本工作流的需求。例如一个案件从接案、立案、侦查、起诉,到执行由不同的部门来完成。这些环节不是独立的,后面的环节不应该比前面的发生的早,也不能延迟过多,因为存在法律时限,并且流程中存在循环,也就是说某些环节可能重复多次,再者每个部门的流程种类又多,每个工作人员可能要处理多个环节上的任务。因此我们把每个业务的每个环节搞清楚,主要搞清以下几个基本问题:

  每个流程中的每个环节是否已经不能再分解?

  每个流程中的每个环节的主办(责任)部门是谁?

  每个环节要求的输入(项目、格式、方式)和输出(项目、格式、方式)是什么?

  每个环节的输入和输出之间的变化或关系是什么?

  每个环节的输入的数据来源是什么?

  每个环节的输出的数据去向是什么?

  每个环节的数据项目有无国家标准或部颁标准或其他标准?

  每个环节的数据项目的类型是什么?

  每个环节的责任人对本环节中数据项目的权限是什么?(可新建、可删除、可修改、只读、)

  每个环节的输入的数据项目有无检验规则?(如不能为空)
  
  从一个环节到下一个环节的条件是什么?

  从一个环节到下一个环节有无时间限制?是多少?

  收集上来的表单用在哪个业务中的哪个环节?

  多个表单间的关系:继承?关联?

 

  十二、需求管理

  需求调研分析过程是一个由粗到细、渐进明晰、持续完善的过程。在指导后面系统设计,编码阶段时都应当不断完善修改需求文档,因此需求管理非常重要。需求管理包括在工程进展过程中维持需求约定集成型和精确性的所有活动,它是CMM模型二级中的首要KPA(关键过程域),这些活动包括:

  (1) 定义需求基线(需求文档的主体);

  (2) 评审提出的需求变更申请、评估每项变更可能的影响,从而决定是否实施变更;

  (3) 以一种可控的方式将需求变更融入到项目中;

  (4) 使当前的项目计划与需求保持一致;

  (5) 分析变更所产生的影响并在此基础上协商出新的约定;

  (6) 使每项需求都能与其对应的设计、源代码和测试用例联系起来以实现跟踪;

  (7) 在整个项目过程中跟踪需求状态及其变更情况。

posted @ 2007-09-19 10:16 altaser 阅读(285) | 评论 (0)编辑
 
1.引言
  1.1编写目的
  在完成了针对《档案管理系统》软件市场的前期调查,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,提出了这份软件需求规格说明书。
  此需求规格说明书对《档案管理系统》软件做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。本说明书的预期读者为客户、业务或需求分析人员、测试人员、用户文档编写者、项目管理人员。
  1.2项目背景
  由于文件多,种类多,文件创建者多,创建时间为不定期,要保护好一些公司重要的文件极为不便,同时由于人员的流动,对原有的文件的再现,显得力不从心,有时查找与重新整理文件要浪费许多的人力、物力。而且近年来,由于竞争的激烈程度不断的加深,档案的管理不当会严重到导致公司的面临着亏损甚至破产的局面。于是人们不断地在探索希望能找到解决的方法。
  为了解决以上的问题,让企事业单位能够有效的掌握,有效的共享文件资源,保护好文件,及促进档案管理的信息化、规范化和集成化,本人多方听取意见、追加和完善大量实用功能,进而了解文件管理的流程,同时结合各部门、各行业与企业文件管理的方法,开发出一套适合于档案多而复杂的管理系统。
  1.3定义、缩写词和符号
  需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。
  1.4参考资料
  鲁荣江、王立丰:《Visual Basic 项目案例导航》,科学出版社,2002年6月版
  陈明:《软件工程》,中央广播电视大学出版社,2002年6月版
  段兴:《Visual Basic 6.0控件实用程序设计100例》,人民邮电出版社,2002年12月
  杜春雷、孙会莲:《如何使用Visual basic 6.0中文版》,机械出版社,2000年1月
  张曜、张青、李丁:《Visual Basic 函数实用手册》,治金工业出版社,2002年12月
  范国平、陈晓鹏:《Access 2000 数据库系统开发实例导航》,人民邮电出版社,2002年12月版
  闪四清:《SQL Server 实用简明教程》,清华大学出版社,2003年1月版
  
  2.任务概述
  2.1目标
  2.1.1开发目标
  在当今世界电脑普及的时刻,人们已经习惯用电脑办公,结果自然会产生大量的电子文件,这些文件有宝贵的历史价值,但我们如果将更多的时间花费在寻找这些文件上,即费时又费力。本软件根据此需求进行开发的。
  2.1.2应用目标
  让企事业单位能够有效的掌握,有效的共享文件资源,保护好文件,及促进档案管理的信息化、规范化和集成化,实现计算机的智能化管理,以提高工作效率和经济效益。
  2.2运行环境
  2.2.1硬件环境
  A. 一台586 以上的微机及兼容
  B.内存16MB(最好32MB内存)
  C.VGA 彩显一台
  2.2.2软件环境
  A.windows 98 以上的操作系统
  B.Microsoft Visual Basic 6.0.中文版数据库管理系统
  C.Office 2000应用软件
  2.3条件与限制
  本档案管理系统软件是应用于中小企业的。在功能上还可进一步实现安全防范、与E-Mail和因特网电话集成起来,成为网络档案管理系统软件。
  
  3. 数据描述
  3.1静态数据
  下面列出了六个表的具体静态数据:
  1)档案目录表
  此表存放档案类型信息
  
  字段
  字段名
  类型
  宽度
  1
  档案类型
  Text
  20
  2
  安全级别
  Text
  20
  2)档案仓库表
  此表存放档案的信息
  
  字段
  字段名
  类型
  宽度
  1
  档案名称
  Text
  50
  2
  档案内容
  Memo
  自动
  3
  档案说明
  Text
  50
  4
  档案创建者
  Text
  20
  5
  档案创建时间
  Data/time
  自动
  6
  最后修改者
  Text
  20
  7
  最后修改时间
  Data/time
  自动
  8
  档案类型
  Text
  20
  9
  附加文件
  Text
  50
  10
  安全级别
  Text
  20
  3) 登录表
  此表存放操作员工的信息
  
  字段
  字段名
  类型
  宽度
  1
  用户名
  Text
  50
  2
  密码
  Text
  50
  3
  权限
  Text
  20
  4
  级别
  text
  50
  4) 操作员工信息表
  此表存放操作员工详细信息表
  
  字段
  字段名
  类型
  宽度
  1
  员工号
  Text
  50
  2
  姓名
  Text
  50
  3
  身份证号码
  Text
  50
  4
  职称
  Text
  50
  5
  工龄
  Text
  50
  6
  工作部门
  Text
  50
  7
  工作电话
  Text
  50
  8
  移动电话
  Text
  50
  9
  传真号码
  Text
  50
  10
  E_Mail
  Text
  50
  11
  专业
  Text
  50
  12
  学历
  Text
  50
  13
  爱好
  Text
  50
  14
  家庭电话
  Text
  50
  15
  家庭地址
  Text
  50
  16
  省份
  Text
  50
  17
  城市
  Text
  50
  18
  出生日期
  Data/time
  自动
  19
  签订时间
  Data/time
  自动
  20
  结束时间
  Data/time
  自动
  21
  权限
  Text
  50
  22
  级别
  Text
  50
  23
  照片
  Text
  50
  24
  性别
  Text
  50
  25
  婚姻状态
  Text
  50
  5) 公司信息表
  主要存放公司的信息
  
  字段
  字段名
  类型
  宽度
  1
  公司名称
  Text
  50
  2
  公司电话
  Text
  50
  3
  公司传真
  Text
  50
  4
  负责人
  Text
  50
  5
  公司地址
  text
  50
  6)帮助表
  此表存放帮助信息
  
  字段
  字段名
  类型
  宽度
  1
  名称
  Memo
  自动
  2
  内容
  memo
  自动
  3.2动态数据
  输入数据:菜单选项,查找关键字,新建记录项。
  输出数据:由查询关键字确定的数据库记录集合。
  内部生成的数据:中间查询结果。
  3.3数据库描述
  本软件采用ACCESS数据库。
  3.4数据流图
  《档案管理系统》软件的数据流图是比较清晰的,对各功能模块来说都比较有规律。但完整的图比较繁琐,各个功能模块的数据流图如下。
  
  1.登录数据流图
  
  用户名及密码
  
  身份验证
  
  登录失败
  
  登录成功
  
  错
  
  对
  
  登录表
  
  
  
  
  
  
  
  
  选择操作
  
  添加
  
  修改
  2.档案管理
  
  
  删除
  
  
  
  
  
  
  
  
  3.档案查询
  
  选择查询项目
  
  查询条件
  
  查询
  
  显示
  
  
  
  
  
  
  
  
  3.系统配置
  
  打开数据库库
  
  选择图片
  
  选择操作
  
  公司信息配置
  
  系统桌面配置
  
  数据库路径
  
  公司信息载入
  
  修改
  
  确认
  
  
  
  
  
  
  
  
  
  
  
  
  4.系统维护
  
  登录表信息载入
  
  操作员工管理
  
  数据恢复
  
  选择路径
  
  系统数据管理
  
  添加
  
  选择操作
  
  数据备份
  
  选择路径
  
  修改
  
  删除
  
   备份
  
  恢复
  
  打开
  
  
  
  
  
  
  
  
  
  
  
  5.打印报表
  
  选择操作
  
  
  打印单条记录
  
  打印全部记录
  
  打印操作员工信息
  
  打印
  
  
  
  
  
  
  
  
  
  
  3.5数据字典
  这里给出一个数据元素的字典卡片与具体数据卡片的含义:
  名称:档案类型信息
  描述:产生文件档案类型送交档案目录表
  定义:档案类型信息=档案类型+安全级别
  
  4. 功能要求
  4.1功能划分
  本系统有以下功能模块:
  1)档案管理模块
  2)查询管理模块
  3)系统配置模块
  4)系统维护模块
  5)打印报表模块
  6)帮助模块
  4.2功能描述
  下面详细描述一下各个功能模块:
  1)档案管理
  (1) 档案目录管理:只限于一般用户和管理员操作。而且不同的用户级别所操作的档案类型是有限制的。用户可以向里面添加、修改和删除档案类型。也可设置档案类型的级别,以加强它们的保密性。
  (2) 档案仓库:限于全体操作员工。一般浏览者只能查看档案,不能对档案做任何的修改。而且不同的用户级别所看到的档案是有限制的。一般用户可向里面添加、修改和删除档案。也可设置档案级别,以加强它们的保密性。
  2)查询管理
  (1) 查询单条档案记录:主要是适合于全体操作员工的。在窗体上,先可以选择查询的条件,再输入关键字名。按查询即可。如果你不熟悉该档案也可以在窗体上选择模糊搜索。查到记录后,也可双击记录即可显示详细信息。
  (2) 查询全部档案:是给管理员用的,是为了方便管理员查找档案,也有关键字搜索和模糊搜索。查到记录后,也可双击记录即可显示详细信息。
  (3) 查询操作员工:是给管理员用的,因为操作员工的信息是保密的,所以只限管理员使用。
  也有多种查询方法。查到记录后,也可双击记录即可显示详细信息。
  3)系统配置
  (1) 配置公司信息:只限管理员配置,主要是配置公司的基本信息。一般用户和浏览者均可查看。
  (2) 配置系统桌面:用户可以配置自己喜欢的桌面图形。只要在窗体上单击选择图片,再选择所喜欢的图片即可。
  (3) 数据库保存路径:仅限管理员使用。用于打开数据库。
  4)系统维护
  (1) 数据备份:用户可以通过选择保存的路径把数据库保存在硬盘中,也可保存在软盘中。
  (2) 数据恢复:用户可以通过选择路径把数据恢复。
  (3) 操作员工管理:仅限管理员。其中可以添加、修改、删除操作员工,设置他们的权限、级别及密码。
  (4) 系统整理信息:显示距离管理员整理系统的时间。
  5)打印报表
  (1) 打印单条档案记录:主要适用于一般浏览者和一般用户。他们只能打印在他们的权限和级别范围内所能查看的档案。
  (2) 打印全部档案:是为管理员设置的,管理员可以根据需要设置打印。也可以让档案以报表的形式生成文本文件或HTML文件输出。
  打印操作人员的信息只限管理员使用。
  6)帮助
  (1) 帮助信息:显示系统的详细帮助信息。
  (2) 关于系统:主要是显示系统的一些信息。
  
  5.性能需求
  5.1数据精确度
  A.要按照严格的数据格式输入,否则系统不给予响应进行处理。
  B.查询时要保证查全率,所有相应域包含查询关键字的记录都应能查到。因为通常有文件的记录会很多,所以本系统采用了两种方法进行查询:直接查询和模糊查询。
  5.2时间特性
  一般操作的响应时间应在1~2秒内,对软磁盘和打印机的操作也应在可接受的时间内完成。
  5.3适应性
  满足企事业单位使用的需求(记录量控制在1000项内)。
  对前面提到的运行环境要求不应存在困难。
  6. 运行需求
  6.1用户界面
  超越VB的界面,全新感觉,操作简便,一目了然,视图优美等特点。并且采用菜单界面驱动方式,给操作用户带来了极大的便利,对用户友好。对鼠标和键盘单独支持。
  6.2硬件接口
  本软件不需要特定的硬件或硬件接口进行支撑。
  486以上PC机均可运行此软件。
  6.3软件接口
  运行于Windows95及更高版本具有WIN32 API的操作系统之上。
  6.4故障处理
  正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。
  调试中遇到的问题及解决的方案:
  1)遇到跳出“数据库已经关闭“提示信息阻止程序运行时
  可以查看一下进行此项操作时,操作的表是否已经被关闭了或者是在没有关闭此表的情况
  下又一次运用打开语句打开此表。
  2)关于空记录带来的麻烦
  有些空记录往往会使程序无法运行。此时你可用“if not isnull”语句先判断一下是否为
  空记录,再操作。
  3)有些运行错误也可用如下语句排除
  On Error GoTo Erropoint
   Erropoint :
   Msgbox Err.Descripton
   Exit sub
  或用On Error resume Next等语句进行处理。
  
  7.其它要求
  1)系统的功能实现情况: 用户可在本系统下实现各种用户要求的功能
  2)系统的安全性: 对于系统的重要数据都有密码保护,具有一定的安全性
  3)系统的容错性: 用户输错数据都有提示信息,具有较好的容错性能。
  4)系统的封闭性: 用户的封闭性较好,用户基本上在提示信息下输数据。
posted @ 2007-09-19 10:15 altaser 阅读(1711) | 评论 (0)编辑
 
需求规格说明阐述一个软件系统必须提供的功能和性能以及它所要考虑的限制条件,它不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础。它应该尽可能完整地描述系统预期的外部行为和用户可视化行为。除了设计和实现上的限制,软件需求规格说明不应该包括设计、构造、测试或工程管理的细节。

  1)采用软件需求规格说明模版: 采用需求规格说明书模板在你的组织中要为编写软件需求文档定义一种标准模板。该模板为记录功能需求和各种其它与需求相关的重要信息提供了统一的结构。注意,其目的并非是创建一种全新的模板,而是采用一种已有的且可满足项目需要并适合项目特点的模板。许多组织一开始都采用IEEE标准830-1998(IEEE 1998)描述的需求规格说明书模板。要相信模板是很有用的,但有时要根据项目特点进行适当的改动。

1 2 3 4 5 6
A引言 目的 文档约定 预期的读者和阅读建议 产品的范围 参考文献
B综合描述 产品的前景 产品的功能 用户类和特征 运行环境 设计和实现上的限制 假设和依赖附录
C外部接口需求附录 用户界面附录 硬件接口 软件接口 通信接口
D系统特性 说明和优先级 激励/响应序列 功能需求
E 其它非功能需求 性能需求 安全设施需求 安全性需求 软件质量属性 业务规则 用户文档
F其它需求
G附件 词汇表 分析模型 待确定问题的列表
                 表2 需求规格说明模板
  a. 引言

   引言提出了对软件需求规格说明的纵览,这有助于读者理解文档如何编写并且如何阅读和解释。

  a . 1 目的

   对产品进行定义,在该文档中详尽说明了这个产品的软件需求,包括修正或发行版本号。如果这个软件需求规格说明只与整个系统的一部分有关系,那么就只定义文档中说明的部分或子系统。

  a.2 文档约定

   描述编写文档时所采用的标准或排版约定,包括正文风格、提示区或重要符号。

  a.3 预期的读者和阅读建议

   列举了软件需求规格说明所针对的不同读者,例如开发人员、项目经理、营销人员、用户、测试人员或文档的编写人员。描述了文档中剩余部分的内容及其组织结构。提出了最适合于每一类型读者阅读文档的建议。

  a.4 产品的范围

   提供了对指定的软件及其目的的简短描述,包括利益和目标。把软件与企业目标或业务策略相联系。可以参考项目视图和范围文档而不是将其内容复制到这里。

  a.5 参考文献

   列举了编写软件需求规格说明时所参考的资料或其它资源。这可能包括用户界面风格指导、合同、标准、系统需求规格说明、使用实例文档,或相关产品的软件需求规格说明。

  b. 综合描述

   这一部分概述了正在定义的产品以及它所运行的环境、使用产品的用户和已知的限制、假设和依赖。

  b.1 产品的前景

   描述了软件需求规格说明中所定义的产品的背景和起源。说明了该产品是否是产品系列中的下一成员,是否是成熟产品所改进的下一代产品、是否是现有应用程序的替代品,或者是否是一个新型的、自含型产品。

  b.2 产品的功能

   概述了产品所具有的主要功能。其详细内容将在d 中描述,所以在此只需要概略地总结。很好地组织产品的功能,使每个读者都易于理解。

  b.3 用户类和特征
确定你觉得可能使用该产品的不同用户类并描述它们相关的特征。有一些需求可能只与特定的用户类相关。

  b.4 运行环境

   描述了软件的运行环境,包括硬件平台、操作系统和版本,还有其它的软件组件或与其共存的应用程序。

  b.5 设计和实现上的限制

   确定影响开发人员自由选择的问题,并说明这些问题为什么成为一种限制。

  b.6 假设和依赖

   列举出在对软件需求规格说明中影响需求陈述的假设因素(与已知因素相对立)。这可能包括你打算要用的商业组件或有关开发或运行环境的问题。你可能认为产品将符合一个特殊的用户界面设计约定,但是另一个S R S 读者却可能不这样认为。如果这些假设不正确、不一致或被更改,就会使项目受到影响。

  此外,确定项目对外部因素存在的依赖。例如,如果你打算把其它项目开发的组件集成到系统中,那么你就要依赖那个项目按时提供正确的操作组件。如果这些依赖已经记录到其它文档(例如项目计划)中了,那么在此就可以参考其它文档。

  c. 外部接口需求

   利用本节来确定可以保证新产品与外部组件正确连接的需求。关联图表示了高层抽象的外部接。需要把对接口数据和控制组件的详细描述写入数据字典中。如果产品的不同部分有不同的外部接口,那么应把这些外部接口的详细需求并入到这一部分的实例中。

  c.1 用户界面

   陈述所需要的用户界面的软件组件。描述每个用户界面的逻辑特征。而对于用户界面的细节,例如特定对话框的布局,应该写入一个独立的用户界面规格说明中,而不能写入软件需求规格说明中。

  c.2 硬件接口

   描述系统中软件和硬件每一接口的特征。这种描述可能包括支持的硬件类型、软硬件之间交流的数据和控制信息的性质以及所使用的通信协议。

  c.3 软件接口

   描述该产品与其它外部组件(由名字和版本识别)的连接,包括数据库、操作系统、工具、库和集成的商业组件。明确并描述在软件组件之间交换数据或消息的目的。描述所需要的服务以及内部组件通信的性质。确定将在组件之间共享的数据。

  c.4 通信接口

   描述与产品所使用的通信功能相关的需求,包括电子邮件、We b 浏览器、网络通信标准或协议及电子表格等等。定义了相关的消息格式。规定通信安全或加密问题、数据传输速率和同步通信机制。

  d. 系统特性

  d.1 说明和优先级

   提出了对该系统特性的简短说明并指出该特性的优先级是高、中,还是低。或者你还可以包括对特定优先级部分的评价,例如利益、损失、费用和风险,其相对优先等级可以从1(低)到9 (高)。

  d.2 激励/响应序列

   列出输入激励(用户动作、来自外部设备的信号或其它触发器)和定义这一特性行为的系统响应序列。这些序列将与使用实例相关的对话元素相对应。

  d.3 功能需求

   详列出与该特性相关的详细功能需求。这些是必须提交给用户的软件功能,使用户可以使用所提供的特性执行服务或者使用所指定的使用实例执行任务。描述产品如何响应可预知的出错条件或者非法输入或动作。就像本章开头所描述的那样,你必须唯一地标识每个需求。

  e. 其它非功能需求

   这部分列举出了所有非功能需求,如产品的易用程度如何,执行速度如何,可靠性如何,当发生异常情况时,系统如何处理,而不是外部接口需求和限制。

  e.1 性能需求

   阐述了不同的应用领域对产品性能的需求,并解释它们的原理以帮助开发人员作出合理的设计选择。确定相互合作的用户数或者所支持的操作、响应时间以及与实时系统的时间关系。你还可以在这里定义容量需求,例如存储器和磁盘空间的需求或者存储在数据库中表的最大行数。尽可能详细地确定性能需求。可能需要针对每个功能需求或特性分别陈述其性能需求,而不是把它们都集中在一起陈述。

  e.2 安全设施需求

   详尽陈述与产品使用过程中可能发生的损失、破坏或危害相关的需求。定义必须采取的安全保护或动作,还有那些预防的潜在的危险动作。明确产品必须遵从的安全标准、策略或规则。

  e.3 安全性需求

   详尽陈述与系统安全性、完整性或与私人问题相关的需求,这些问题将会影响到产品的使用和产品所创建或使用的数据的保护。定义用户身份确认或授权需求。明确产品必须满足的安全性或保密性策略。

  e.4 软件质量属性

   详尽陈述与客户或开发人员至关重要的其它产品质量特性。这些特性必须是确定、定量的并在可能时是可验证的。至少应指明不同属性的相对侧重点,例如易用程度优于易学程度,或者可移植性优于有效性。

  e.5 业务规则

   列举出有关产品的所有操作规则,例如什么人在特定环境下可以进行何种操作。这些本身不是功能需求,但它们可以暗示某些功能需求执行这些规则。

  e.6 用户文档

   列举出将与软件一同发行的用户文档部分,例如,用户手册、在线帮助和教程。明确所有已知的用户文档的交付格式或标准。

  f. 其它需求

   定义在软件需求规格说明的其它部分未出现的需求,例如国际化需求或法律上的需求。你还可以增加有关操作、管理和维护部分来完善产品安装、配置、启动和关闭、修复和容错,以及登录和监控操作等方面的需求。

  附录A :词汇表

  定义所有必要的术语,以便读者可以正确地解释软件需求规格说明,包括词头和缩写。你可能希望为整个公司创建一张跨越多项项目的词汇表,并且只包括特定于单一项目的软件需求规格说明中的术语。

  附录B :分析模型

  这个可选部分包括或涉及到相关的分析模型的位置,例如数据流程图、类图、状态转换图或实体-关系图。

  附录C :待确定问题的列表

  编辑一张在软件需求规格说明中待确定问题的列表,其中每一表项都是编上号的,以便于跟踪调查。

  2)指明需求来源:指明需求的来源为了让所有项目风险承担者明白需求规格说明书中为何提供这些功能需求,要都能追溯每项需求的来源,这可能是一种使用实例或其它客户要求,也可能是某项更高层系统需求、业务规范、政府法规、标准或别的外部来源。

  3)为每项需求注上标号:为了满足软件需求规格说明的可跟踪性和可修改性的质量标准,必须唯一确定每个软件需求。为每项需求注上标号制定一种惯例来为需求规格说明书中的每项需求提供一个独立的可识别的标号或记号。这种惯例应当很健全,允许增加、删除和修改。作了标号的需求使得需求能被跟踪,记录需求变更并为需求状态和变更活动建立度量。需求标识方法有序列号;层次化编码;使用"待确定"(to be determined, TBD )符号等。

  4)记录业务规范:是指关于产品的操作原则,比如谁能在什么情况下采取什么动作。将这些编写成需求规格说明书中的一个独立部分,或一独立的业务规范文档。某些业务规范将引出相应的功能需求;当然这些需求也应能追溯相应业务规范。

  5)创建需求跟踪能力矩阵:建立一个矩阵把每项需求与实现、测试它的设计和代码部分联系起来。这样的需求跟踪能力矩阵同时也把功能需求和高层的需求及其它相关需求联系起来了。在开发过程中建立这个矩阵,而不要等到最后才去补建。

  这里我们还要介绍需求规格说明书中设计阶段,用到的图形模型--数据字典、数据流图、数据流图、状态转换图、对话图和类图。

  数据字典:一个定义应用程序中使用的所有数据元素和结构的含义、类型、数据大小、格式、度量单位、精度以及允许取值范围的共享仓库。数据字典的维护独立于软件需求规格说明,并且在产品的开发和维护的任何阶段,各个风险承担者都可以访问数据字典。它定义了原数据元素、组成结构体的复杂数据元素、重复的数据项、一个数据项的枚举值以及可选的数据项。

  数据流图:是结构化系统分析的基本工具。一个数据流图确定了系统的转化过程、系统所操纵的数据或物质的收集(存储),还有过程、存储、外部世界之间的数据流或物质流。数据流模型把层次分解方法运用到系统分析上,这种方法很适用于事务处理系统和其它功能密集型应用程序。

  数据流图:描绘了系统的数据关系。分析实体联系图有助于对业务或系统数据组成的理解和交互,并暗示产品将有必要包含一个数据库。相反,当你在系统设计阶段建立实体联系图时,通常要定义系统数据库的物理结构。

  状态转换图:实时系统和过程控制应用程序可以在任何给定的时间内以有限的状态存在。当满足所定义的标准时,状态就会发生改变,例如在特定条件下,接收到一个特定的输入激励。这样的系统是有限状态机的例子。大多数软件系统需要一些状态建模或分析,就像大多数系统涉及到转换过程、数据实体和业务对象。

  对话图:在许多应用程序中,用户界面可以看作是一个有限状态机。在任何情况下仅有一个对话元素(例如一个菜单,工作区,行提示符或对话框)对用户输入是可用的。在激活的输入区中,用户根据他所采取的活动,可以导航到有限个其它对话元素。因此,许多用户界面可以用状态转换图中的一种称为对话图来建模。对话图描绘了系统中的对话元素和它们之间的导航连接,但它没有揭示具体的屏幕设计。

  类图:面向对象的软件开发优于结构化分析和设计,并且它运用于许多项目的设计中,从而产生了面向对象分析、设计和编程的域。类图是用图形方式叙述面向对象分析所确定的类以及它们之间的关系
posted @ 2007-09-19 10:14 altaser 阅读(1460) | 评论 (0)编辑
 

1. 软件需求:

软件需求分为三大部分:

  1)、功能需求:指系统需要完成那些事情,即向用户提供那些功能。

  2)、非功能需求:指产品所具备的品质和属性,比如可靠性、扩展性、响应时间、性能等等。。。

  3)、设计约束:也称条件约束、补充规则。比如用户要安装该产品他需要有什么样的必备条件。(系统对操作系统的要求、硬件环境的要求等等…..)


2. 需求调查与问题定义:

在做需求调查时需要做到两W一H即 What、Where、How

  1)、What-----应该收集什么信息

  2)、Where----从什么地方收集

  3)、How-------用什么机制或技术来收集


3.需求分析

需求分析通常包括六个方面:

  1)、绘制系统上下文范围关系图:主要用于定义系统与系统外部实体间的界限和接口的简单模型,他可以为需求确定一个范围。其实就是DFD的0层图。

  2)、创建用户接口原型:这里我们可以把他看成是用户操作的一个雏形,什么意思呢就是我们通常所说的界面用户通过一系列的操作完成他想达到的效果的接口。

  3)、分析需求的可行性:这个需求我们应该用什么技术解决,他实现后的性能怎么样,是否与其他需求相重合或是矛盾,这里一定要注意不要把系统的这个需求怎么用代码实现想进去。在需求分析时应多注意需求本身是否有用不必考虑怎么实现。

  4)、确定需求的优先级:可采用满意度/不满意度指标来说明(满意度1-5 表示当需求被实现时用户的满意程度;不满意度取值同理)

  5)、为需求建立模型:这里可以用UML创建用例图或是E-R图再加上少量的文字描述。

  6)、使用质量功能调配(QFD):这里我的理解是分析员根据需求的理解发现隐藏需求而这些需求是用户也没有想到的需求,系统实现后会给用户一个惊喜,而没实现用户也不会有抱怨。


4.需求分析方法

现在比较流行的软件需求分析方法有4种,其中3种理论比较成熟。

  1)、结构化分析方法(Struetured Analysis,SA):这个大家想必很熟悉了不在复述。

  2)、软系统方法:这只是过度性的方法论他的出现只是证明结构化分析方法的一些不足。因为结构化分析方法采用的相对形式化的模型不仅与社会观格格不入,而且在解决“不确定性”时显得十分无力。

  3)、面向对象分析方法(Object Oriented Analysis,OOA):这也是我下文想讲的分析方法

  4)、面向问题域的分析(Problem Domain Oriented Analysis,PDOA):OOA也存在着很多不足,但PDOA现在正在研究中所以未被广泛应用。这里需要注意的是:在软件开发中有很多需求分析方法他们没有好坏之分只要你运用得当照样可以做出一个很好的系统,依据个人对某个方法的理解用自己最擅长的方法是最明智的选择。


5.面向对象需求分析(OOA)

  面向对象这个概念很简单但也很复杂我在这里不做深入探讨。我将从实际出发来和大家一起探讨下在实际开发中我们应该怎么做。

  OOA的精髓在于世间万物均为对象采用OOA方法在整个过程中包括2个工作任务:建立一个反应问题域静态关系的概念模型,就是我们通常所说的类图;另一个反应系统行为的动态模型,即用例模型那么我们在实际开发中到底怎么做呢?

1)建立域模型

  寻找类:在寻找类时有多种方法典型的是根据需求文档用“名词动词法”来寻找,找出备选类后再从中寻找出真正的类。(注意在用此方法时切记不要咬文嚼字专牛角尖在这里花费很长的时间)

  确定类之间的关联:这个过程是迭代的我们需要理清楚这些类之间的关系如关联、继承、聚合等然后通过UML记录下来。类之间的关系不是一下子就能确定下来的是要慢慢完善的为类添加职责:这里就可以理解成为类添加所需要的属性和方法。

  域模型的详细度:这里不做太多要求可以写的很详细也可以写的简单写,可以把握好一个原则:只要能有利于团队更好的开发就是好模型。

2)建立用例模型

  什么是用例:

  用例实例是在系统中执行的一系列动作,这些动作将生成对特定参与者可见的价值结果。(用例实例就是常说的“使用场景“)一个用例定义一组用例实例。

  识别参与者:

  用例主要是为了让客户直观的理解需求那么这里参与者是必不可少的这样才能形象的勾画出系统某个特定场景下的流程。

  注意参与者不仅可以是人也可以是其他的事物如(其他系统、硬件设备、时钟等等)

  合并需求获得的用例

  绘制用例图(如果对用例图不清楚请参考UML相关文章)

  细化用例描述

        用例描述可以包括以下几个部分:

    用例名称
       
             简要说明

             事件流:是该用例要完成的工作步骤

             非功能需求

             前置条件

             后置条件

             扩展点

             优先级别

3)要想做好需求分析光上面的用例是不够的还有写建模技术也要有如:协作图、顺序图和状态图

  协作图:是一种用以显示对象如何被协调在一起执行用例的图,用来识别协作完成给定业务的对象。

  顺序图:是一种用以显示用例对象之间消息顺序的图,他与协作图表达的信息是一样的知识显示的方式有差别。  

   顺序图以图形化的方式强调消息的顺序,而非协作对象间的顺序。他和协作图统称为交互图。

  状态图:是一种用以显示对象在生命周期和转换期情况的图

posted @ 2007-09-19 10:13 altaser 阅读(282) | 评论 (0)编辑