预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共81页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第三章软件需求分析第三章软件需求分析第三章软件需求分析第三章软件需求分析第三章软件需求分析需求分析是一项软件工程活动,它使得系统分析人员能够:刻划出软件的功能和性能;指明软件与其他系统元素的接口;建立软件必须满足的约束。需求分析建立起来的模型为日后软件设计人员提供了可被翻译成数据、体系结构、界面和过程设计的模型。需求规格说明为开发人员和用户提供软件开发完成时质量评价的依据。需求分析研究的对象是用户的要求。一方面,必须全面理解用户的各项要求,另一方面,要准确表达被接受的用户要求。只有经过确切描述的软件需求才能成为软件设计的基础。软件开发是要实现目标系统的物理模型。需求分析的任务就是借助于当前系统的逻辑模型导出目标系统(计算机系统)的逻辑模型(数据流程图DFD、数据字典、加工逻辑(算法)说明)。解决目标系统“做什么”的问题。需求分析的过程可以分成四个阶段:问题识别研究系统的可行性分析报告和软件项目实施计划。从系统角度来理解软件并评审用于产生计划估算的软件范围是否恰当;确定对目标系统的需求;提出这些需求实现条件,以及需求应达到的标准。问题识别的另一项工作是建立分析所需要的通信途径,以保证能顺利地对问题进行分析。分析与综合进行各种要求的一致性检查;逐步细化所有的软件功能;分解数据域,分配给各个子功能;找出系统各成分之间的联系、接口特性和设计限制。判断是否存在不合理的用户要求或用户尚未提出的潜在要求。综合成系统的解决方案,给出目标系统的详细逻辑模型。常用的分析方法编制需求分析阶段的文档软件需求说明书;初步的用户手册;确认测试计划;修改和完善软件开发计划。需求分析评审作为需求分析阶段工作的复查手段,应该对功能的正确性、文档的一致性、完备性、准确性和清晰性,以及其它需求给予评价。评审:小组:非设计人员、用户(签字确认)需要能够表达和理解问题的信息域和功能域信息流:数据和控制通过一个系统时的变化方式。两个功能之间的数据/控制传递就确定了功能间的接口。信息内容:单个数据或控制对象,它们构成了某个更大的由软件变换生成的信息的集合。信息结构:各种数据和控制项的内部组织。以层次化的方式对问题进行分解和不断细化给出系统的逻辑视图和物理视图软件需求的逻辑视图给出的是软件要达到的功能和要处理的数据之间的关系,而不是实现的细节。软件需求的逻辑描述是软件设计的基础。软件需求的物理视图给出的是处理功能和数据结构的实际表现形式,这往往是由设备本身决定的。软件需求的层次功能―非功能需求定义了开发者必须实现的软件功能,而非功能需求如表所示:需求获取技术市场调查了解市场对待开发软件有什么要求;了解市场上有无与待开发软件类似的系统。访问用户和用户领域的专家把从用户得到的信息作为重要的原始资料进行分析;访问用户领域的专家所得到的信息将有助于对用户需求的理解。考察现场了解用户实际操作环境、操作过程和操作要求。对照用户提交的问题陈述,对用户需求可以有更全面、更细致的认识。调查研究的方法需求分析方法需求分析方法结构化分析方法最初只是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据词典为主要工具,建立系统的逻辑模型。扩充后,将建模技术扩展到数据建模、功能建模和行为建模,以实体-关系图、数据流图和控制流图、状态-迁移图为工具,数据词典为核心,从不同视点建立系统的分析模型。结构化分析的分析模型数据建模实例的关联有三种:一对一(1:1);一对多(1:m);多对多(n:m)。这种实例的关联称为“基数”。基数表明了“重复性”。E-R图中表示实体关联的符号如下:功能建模和数据流功能建模的思想分层的数据流图结构化分析方法功能建模的步骤商店业务处理系统这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能以及系统与外界的关系。该图亦称为上下文图或语境图(ContextDiagram)数据流图绘制步骤首先确定系统的输入和输出根据商店业务,画出顶层数据流图,以反映最主要业务处理流程经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图。第一层数据流图加细每一个加工框销售细化采购细化绘制数据流图的原则规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡;如果一个数据文件仅在展开的数据流子图中使用,可以在父图中不画出;可以在数据流图中加入物质流,帮助用户理解数据流图;图上每个元素都必须有名字;数据流图中不可夹带控制流。行为建模状态迁移图Petr