g§ Q:2 SCIENOk&1 CHN0l OGY INFORMA f ION T技术 谈软件开发中的需求分析 魏晓宁 (南通大学计算机科学与技术学院南通22601 9) 摘 要:在当前软件开发中,软件需求变得越来越为重要。本文主要从软件工程开发需求的定义、需求分析的主要化务、需 求分析的开发过程及方法等几个方面来探讨需求分析对软件开发的重要性。 关键词:软件开发 需求分析 中图分类号:TP3l1.52 文献标识码:A 文章编号:l672 379l(2006)lO(a)0ll 8 02 软件是计算机技术的核心,而软件的开发 是人们不断向复杂性的挑战。在开发软件系 统的过程中,不管采用什么模型进行开发,都 必须分阶段进行,从需求获取、需求确认, 数据结构等数据域的属性。多数情况下,数 据流特征是用将输入转化为输出的变换过程 到清晰准确的描述。通常把描述需求的文档 叫做软件需求规格说明书。同时,为了确切 表达用户对软件的输入输出要求,还需要制定 数据要求说明书及编写初步的用户手册,着重 面:在支持数据域分析机制I:,所有的方法 都直接或间接地涉及到数据流、数据内容或 需求分析到分析设计等。在软件规模不断扩 反映被开发软件的用户界面和用户使用的具 大、软件应用领域不断拓展的今天,软件开 体要求。此外,根据在需求分析阶段对系统 发的前期工作显得越来越重要。软件需求分 的进一步分析,从目标系统的精细模型出发, 析是软件生命期中重要的一步,也是决定性的 可以更准确地估计所开发项目的成本与进度, 一步,是左右一个软件项目成功与否的核心和 从而修改、完善与确定软件开发实施计划。 关键。 2 4需求分析评审 作为需求分析阶段工作的复查手段, 1需求分析的认知 在需求分析的最后一步, 应该对功能的正 需求分析是一个对用户意图不断进行揭 确性、完整性和清晰性, 以及其他需求给 示和判断的过程,要对经过可行性分析所确定 予评价。 的系统目标和功能进一步的详细论述,确定用 户要求做什么。 3需求分析的过程 需求分析的内容我们可分为两大类:功 需求分析的过程就是将收集到的调研信 能性需求和非功能性需求。功能性需求主要 息.加以处理并理解它们,最终得到细化级的数 说明了系统各功能部件与环境之间的相互作 据流图。 用的本质,即待开发软件在职能上实际应做到 首先把调研信息分戍不同的类型,同时将 什么。它是用户最主要的需求,通常包括系 客户需求同可能的软件需求相联系。然后将 统的输入、系统能完成的功能、系统的输出 客户信息结构化,编写成文档和示意图,作为 以及其他反应。非功能性需求又称为“约 提交给止客户代表评审并纠正存在错误的一 束”,它主要从各个角度对所考虑的可能的解 个书面文档。重复详述需求,以确定用户目 决方案起约束和限制作用,如时间、存储、 标和任务,并把它作为使用实例。进行深入 界面的约束等。 收集和分析,消除任何冲突或不一致性,拟订 出详细的使用实例,使其融合到必要的功能需 2需求分析的任务 求中,为编制测试用例作准备。 需求分析阶段是继可行性研究计划阶段 进行需求分析时,尽量理解用户用于表述 后真正对所开发软件的核心进行审视,由于需 他们需求的思维过程,充分研究用户执行任务 求分析工作起承上启下的作用,因此它是软件 时作出决策的过程,并提取出潜在的逻辑关 开发过程必不可少的一个重要步骤。需求分 系。流程图和决策树是描述这些逻辑决策途 析阶段要完成的具体明确的任务就是最终形 径的好方法。避免使用用户提供的需求细 成一份经开发方和用户认可或达成共识的需 节,因为会给随后的设计过程带来不必要的限 求规格说明书,在规格说明书中能清晰准确地 制,周期性地检查需求获取,以确保用户参与 i兑明“系统必须做什么?”,能够规定出详 者将注意力集中在与所讨论的话题适合的抽 细的技术需求。该阶段一般有问题识别、分 象层上。此外,不可忽视非工程需求的描述, 析与综合、编制文档,需求分析评审共4个 它表明了系统的限制和用户对质量的期望。 主要任务。 为了更好地跟用户交流,最初的屏幕构思 2 1问题识别 有助于描述开发人员对需求的理解,可以利用 首先系统分析人员要研究计划阶段产 Visio这个工具来设计界面。如果项目开发 生的可行性分析报告和软件项目实施计 周期允许,可以开发原型来交流和确认。随 划。主要是从系统的角度理解软件并评审 后针对用户的需求说明细化用户界面设计,有 用于产生计划估算的软件范围是否恰当, 助于对需求达成共识,为以后的设计工作带来 确定对目标系统的综合要求。 便利。 2.2分析与综合 分析员需从数据流和数据结构出发, 4需求分析方法 逐步细化所有软件功能, 找出系统各元素 软件需求分析方法有很多,常见的分析方 之间的联系、接口特性和设计上的限制, 法有:功能分析方法、结构化分析方法、信 分析它们是否满足功能要求, 是否合理。 息建模法、面向对象的分析方法。每一种方 2 3编制需求分析的文档 法虽有各自不同的标号和分析策略,但是它们 通过以上步骤已经确定的需求应当得 也具有一些共同的特性,具体概括为这几方 1 1 8 科技资讯SCIENCE&TECHNOLOGY INFORMATION 来描述,数据内容用数据词典机,ti1明确表示, 或者通过数据或数据对象的层次结构隐含地 表示;在功能表示方面,功能一般用数据变 换或加工来表示。还有在接.LI的定义、问题 分析的机,ti1、对抽象的支持、逻辑视图核物 理视图以及系统抽象模型方面都有相同或类 似的机,ti1。 5需求分析对软件开发的重要性 通常一个大型软件开发项目持续的时 往往相当长,在这段时间内由于外界环境变化 和人的认识不断深化,都会或多或少地改变对 软件的要求。也有一些是开发人员在开发过 程中与用户深入沟通、多次协商所进行的修 改。但是在软件开发的不同阶段进行修改所 付出的代价是大不相同的。开发的甲.期进行 变动,涉及的面较小,因而代价比较低,而在开 发中期,软件配置的许多成分已经完成,引入 一个变动可能要对所有已完成配置的成分部 做相应得修改,不仅工作鼍大,而H一逻辑I 也 更复杂,因此付出的代价大大增加;如果在 软件已经完成时再引入变动,那么从人力、 物力、财力上就需要付出更高的代价。 用户需求分析最终的目地就 于通过深 入细致的调查研究和反复深入地用户交流信 息、,尽可能全面、准确地了解用户的需求,最 早发现问题、解决问题。急于求成,仓促L 阵,对用户需求没有正确认识就匆忙着手编 程,就如同不打好地基就盖高楼一样,最终必 然垮台。 6结语 软件需求分析关系到软件系统开发的成 败,是决定软件产品质量的关键。只有通过 需求分析才能把软件功能和性能的总体慨念 描述为具体的软件需求规格说明,从而奠定软 件开发的基础。在做分析时,必须完全_广解 系统的业务流程,仔细分析系统中的数据,做 出系统的数据流图、数据字典和功能说明. 并把它们写成正式的文档,还应仔细验证它的 正确性,取得用户的认可。这样才能确保以 后的软件开发工作按照正确的方向进行,最终 获得成功。 参考文献 [1】黄怡强,等.浅谈软件开发需求分析阶段的 主要任务.中山大学学报论丛.vo1.!!nO. 1 feb.2002. 维普资讯 http://www.cqvip.com
! Q: T技术 SelINCE&1 f eHN0L0GY INf oRM^T10N 网络安全技术研究 廖炜君 (广州市天寿路1 66号902 广东广州 51 0000) 摘 要:论述了防火墙部署原则,从防火墙部署的位置详细阐述了防火墙的选择标准。并就信息交换加密技术的分类及R S A 算法作以分析,针对P K I技术这一信息安全核心技术,论述其安全体系的构成。 关键词:网络安全 防火墙PKI技术 中图分类号:TN91 5,O8 文献标识码:A 文章编号:1672 379l(2006)lO(a)0ll9 Ol 1概述 网络防火墙技术作为内部网络与外部网络 之1日】第一道安全屏障,是最先受到人们重视的 网络安全技术,其产品集成了包滤技术,这显然 比单独使用更具有优势。应该在哪些地方部 署防火墙呢?首先应该安装防火墙的位置是公 司内部网络与外部Intemet的接口处,以阻挡来 自外部网络的入侵;其次如果公司内部网络规模 较大,并且设置有虚拟局域网(VLAN),则在各 个VLAN之间设置防火墙;第三通过公网连接 的总部与各分支机构之间也应该设置防火墙。 安装防火墙的基本原则是只要有恶意侵入 的可能,无论是内部网络还是与外部公网的连 接处,都应该安装防火墙。 如果交换阶段私有密钥未曾泄露,那么机密性 和报文完整性就可以得到保证。 3.2非对称加密/公开密钥加密 在非对称加密体系中,密钥被分解为一对 (即公开密钥和私有密钥)。公开密钥用于加 密,私有密钥用于解密,私有密钥只能由生成密 钥的交换方掌握,公开密钥可广泛公布。非对 称加密方式广泛应用于身份认证、数字签名 等信息交换领域。非对称加密体系最具有代 表性是RSA公钥密码体制。 3 3 RSA算法 RSA算法是Rivest、Shamir和Adleman 于1977年提出的第一个完善的公钥密码体制, 其安全性是基于分解大整数的困难性。RsA 算法的描述如下: 公开密钥:n=pq(P、q分别为两个互异 e与(p—1)(q—1)互素 私有密钥:d=e~l{mod(p—1)(q—1)} 的接口,它所获得的用户t ̄4P,的准确性是CA颁 发证书的基础。 4.3策略管理 在PKI系统中,制定并实现科学的安全策 略管理是非常重要的。这些安全策略必须适 应不同的需求,并且能通过CA和RA技术融入 到cA和RA的系统实现中。 44密钥备份和恢复 为保证数据的安全性,定期更新密钥和恢 复意外损坏的密钥是非常重要的,设计和实现 健全的密钥管理方案,保证安全的密钥备份、 更新、恢复,也是关系到整个PKI系统强健 性、安全性、可用性的重要因素。 4.5证书管理 证书是用来证明证书持有者身份的电子介 .2防火墙的选择 下几条: (1)防火墙产品作为网络系统的安全屏障, 其总拥有成本(TCO)不应该超过受保护网络系 统可能遭受最大损失的成本。 (2)防火墙本身是安全的 用户选择防火墙应是通过权威认证机构测 试的产品,其安全性高,不给外部侵入者可乘之 机。 (3)维护与培训 维护和培训是评价一个防火墙好坏的重要 方面。人员培训和日常维护费用通常会在 TC 0中占据较大的比例。一家优秀的安全产 品供应商必须为其用户提供良好的培训和售后 质,它是用来绑定征书持有者身份和其相应公 钥的 选择防火墙的标准很多,但最重要的是以 的大素数,P、q必须保密)5安全技术的研究现状和动向 我国信息网络安全研究历经通信保密、 数据保护两个阶段,正在进入网络信息安全研 究阶段,已研制出防火墙、安全路由器、安全 网关、黑客入侵检测、系统脆弱性扫描软件 等。但信息网络安全领域是一个综合、交叉 的学科领域,综合了利用数学、物理、生化信 息技术和计算机技术诸多学科的长期积累和最 新发展成果,提出系统的、完整的和协同的解 决信息网络安全的方案,目前应从安全体系结 构、安全协议、现代密码理论、信息分析和 监控以及信息安全系统五个方面开展研究,各 部分相互协同形成有机整体。 网络安全技术在21世纪将成为信息网络发 展的关键技术,21世纪人类步入信息社会后,信 息这一社会发展的重要战略资源需要网络安全 加密:c=me(mod n),其中m为明文,c为 密文。 解密:m=cd(mod n) 利用目前已经掌握的知识和理论,分解 2048bit的大整数已经超过了64位计算机的运 算能力,因此它是安全的。 4 PKI技术 PKI(Publie Key Infrastucture)技术是利 用公钥理论和技术建立的提供安全服务的基础 设施。PKI技术是信息安全技术的核心,也是 电子商务的关键和基础技术。它是一种适合 服务。 电子商务、电子政务、电子事务的密码技术, (4)可扩充性 随着网络的扩容和网络应用的增加,网络 能够有效地解决电子商务应用中的机密性、的风险成本也会急剧上升,此时具有更高安全 真实性、完整性、不可否认性和存取控制等 性的防火墙产品会留给用户足够的弹性空间, 安全问题。一个实用的PKI体系应该是安全易 技术的有力保障,才能形成社会发展的推动 这样不仅能够保护用户的投资,也扩大了产品 用的、灵活的和经济的。它必须充分考虑互 力。操作性和可扩展性。它是认证机构(CA)、注册 覆盖面。 机构(RA)、策略管理、密钥(KeY)与证书 参考文献 (Ce ̄Eicate)管理、密钥备份与恢复等功能模块 【l】施玛(美).反黑客工具包(第二版MM】.电子工 3加密技术 业出版社,2005.6. 信息交换加密技术分为两类:即对称加 的有机结合。4 1认证机构 【2】李军义.计算机网络技术与应用IN】. ?北 密和非对称加密。 CA(Certification Author )就是这样一个 方交通大学出版社,2002.7. 3 1对称加密技术 3】卢昱.网络控制论概论[M】.国防工业出版社, 在对称加密技术中,对信息的加密和解密 确保信任度的权威实体,它的主要职责是颁发 [ 2005.9. 都使用相同的钥,就是一把钥匙开一把锁。这 证书、验证用户身份的真实性。2注册机构 【4】邱亮.网络安全工具及案例分析【M】.电子工 种加密方法可简化加密处理过程,信息交换双 4.RA(Registration Author )是用户和CA 业出版社,2004.4. 方都不必彼此研究和交换专用的加密算法。 【2佃忠,钱乐秋.需求工程综述 ,计算机应用 与软件,1 996.1 3(5):1 7~2 2, l976. 【3】王继成,高珍.软件需求分析的研究.计算机 工程与设计.vo1.23 no.8. 【5】Jacobson I 1 Object—Oriented Software 【4】Niklams Wi ̄hl Algorithms+Data= Programs【M】1 NJ:Prentice—Hall, Engineering[M】1 MA:Addison Wesley,1992. 科技资讯SCIENCE&TECHNOLOOY INFORMATION 1 1 9
因篇幅问题不能全部显示,请点此查看更多更全内容