面向对象需求分析文档
- 格式:doc
- 大小:396.00 KB
- 文档页数:11
2.2需求分析需求分析是通过开发人员的分析概括,抽象为完整的需求定义,再形成一系列文档的过程。
2.2.1需求分析的目的与意义需求分析是一个非常重要的过程,它完成的好坏直接影响后续软件开发的质量。
有效的需求分析通常都具有一定的难度。
需求分析不仅仅是属于软件开发生命周期早期的一项工作,而且还应该贯穿于整个生命周期中,它应该随着项目的深入而不断地变化。
此外,为了方便后续的评审和测试等工作,需求的描述应该尽量做到:具体、详细、可以测量和可以实现,并且基于时间。
2.2.2需求分析的步骤遵循科学的需求分析步骤可以使需求分析工作更高效。
需求分析的一般步骤如图2-3所示。
需求涉及的方面:在功能方面,需求包括系统要做什么,相对于原系统目标系统需要进行哪些修改,目标用户有哪些,以及不同用户需要通过系统完成何种操作等。
在性能方面,需求包括用户对于系统执行速度、响应时间、吞吐量和并发度等指标的要求。
在运行环境方面,需求包括目标系统对于网络设置、硬件设备、温度和湿度等周围环境的要求,以及对操作系统、数据库和浏览器等软件配置的要求。
在界面方面,需求涉及数据的输入/输出格式的限制及方式、数据的存储介质和显示器的分辨率要求等问题。
1. 获取需求,识别问题开发人员从功能、性能、界面和运行环境等多个方面识别目标系统要解决哪些问题,要满足哪些限制条件,这个过程就是对需求的获取。
开发人员通过调查研究,要理解当前系统的工作模型和用户对新系统的设想与要求。
遗漏需求是最难修订的需求错误。
获取需求是需求分析的基础。
为了能有效地获取需求,开发人员应该采取科学的需求获取方法。
在实践中,获取需求的方法有很多种,比如,问卷调查、访谈、实地操作、建立原型和研究资料等。
问卷调查法是采用调查问卷的形式来进行需求分析的一种方法。
通过对用户填写的调查问卷进行汇总、统计和分析,开发人员便可以得到一些有用的信息。
采用这种方法时,调查问卷的设计很重要。
一般在设计调查问卷时,要合理地控制开放式问题和封闭式问题的比例。
面向对象的软件开发过程中的需求分析与建模研究第一章引言随着信息技术的快速发展,软件已逐渐成为了现代社会不可或缺的组成部分。
而软件开发过程中的需求分析与建模是确保软件开发质量的重要步骤,因此在面向对象的软件开发中,需求分析与建模研究具有重要的意义和价值。
本文将从面向对象的软件开发出发,介绍需求分析和建模的概念、方法和工具,并重点探讨基于面向对象的软件开发过程中的需求分析与建模研究。
第二章面向对象的软件开发面向对象的软件开发是一种软件开发方法,它以对象为中心,实现了软件的高内聚、低耦合和易维护性,具有较高的开发效率和软件重用性。
在面向对象的软件开发中,需求分析和建模是其中的关键环节。
基于面向对象的软件开发过程主要包括以下几个阶段:1.需求分析阶段。
在该阶段中,需求分析人员将收集和分析用户和系统需求,以确定软件开发的需求和目标。
2.设计阶段。
在设计阶段中,设计人员将根据需求分析阶段的结果,设计面向对象的软件系统架构和对象模型。
3.编码和测试阶段。
在这个阶段中,开发人员将根据设计人员的指示开发代码和进行测试,以确保软件能够按要求正确运行。
4.部署和维护阶段。
在这个阶段中,开发人员将软件部署到用户环境中,并进行维护和修复错误。
在整个软件开发过程中,需求分析和建模是相互关联、相互作用的关键环节。
第三章需求分析与建模基础知识3.1 需求分析需求分析是软件开发的首要任务,它是确保软件开发符合用户需求的前提条件。
需求分析包括两个方面,即功能需求和非功能需求。
1.功能需求功能需求是软件开发中最基本的需求,它是用户对软件功能的具体要求。
在软件开发中,功能需求可以通过用例图、活动图、状态图和顺序图等方法进行描述和分析。
2.非功能需求非功能需求是软件开发中的另一个重要因素,它主要描述软件的性能、可靠性、安全性、可维护性和可移植性等方面的要求。
常用方法包括场景模型、质量属性树和系统特征模型等。
3.2 需求建模需求建模是将需求分析的结果转换为相应的模型,以便于软件设计和开发人员的理解和使用。
9.1 面向对象技术概述9 面向对象的需求分析方法二者的本质区别• 面向过程的结构化系统 = 功能 + 数据 • 面向对象的系统 = 对象 + 消息9 面向对象的需求分析方法二者的本质区别银行账户对象 存款 取款 利息结算 账户 余额 存 款 账户 余额 利息结算 外部消息 取 款9 面向对象的需求分析方法面向对象方法的发展历史• 初始阶段• 1960’s:Simula编程语言 • 1970’s:Smalltalk编程语言• 发展阶段• 1980’s:理论基础,许多OO 编程语言(如C++, Objective-C等)• 成熟阶段• 1990’s:面向对象分析和设计方法(Booch, OMT等), Java • 1997:OMG 组织的统一建模语言(UML) • 逐渐替代了传统的结构化方法9 面向对象的需求分析方法面向对象的软件工程• 面向对象分析(Object Oriented Analysis, OOA)• 分析和理解问题域,找出描述问题域和系统责任所需的类及 对象,分析它们的内部构成和外部关系,建立OOA 模型。
• 面向对象设计(Object Oriented Design, OOD)• 将OOA 模型直接变成OOD 模型,并且补充与一些实现有关 的部分,如人机界面、数据存储、任务管理等。
• 面向对象编程(Object Oriented Programming, OOP)• 用一种面向对象的编程语言将OOD 模型中的各个成分编写成 程序,由于从OOA→OOD→OOP实现了无缝连接和平滑过 渡,因此提高了开发工作的效率和质量。
9 面向对象的需求分析方法面向对象的软件工程现实世界OOA结构化分析OOD结构化设计OOP结构化编程可执行软件系统9 面向对象的需求分析方法OO中的喷泉过程模型• 喷泉模型:• 在OO开发过程中,各阶段之间形 成频繁的迭代; • OO各阶段均采用统一的“对象”概 念,各阶段之间的区分变得不明 显,形成“无缝”连接,从而容易实 现多次反复迭代。
第五章面向对象的需求分析面向对象的需求分析方法的核心是利用面向对象的概念和方法为软件需求建造模型。
它包含面向对象风格的图形语言机制和用于指导需求分析的面向对象方法学。
面向对象的思想最初起源于 20世纪 60年代中期的仿真程序设计语言Simula67。
20世纪80年代初出现的Smalltalk 语言及其程序设计环境对面向对象技术的推广应用起到了显著的促进作用。
20世纪90年代中后期诞生并迅速成熟的UML(Unified Modeling Language,统一建模语言)是面向对象技术发展的一个重要里程碑。
UML 统一了面向对象建模的基本概念、术语和表示方法,不仅为面向对象的软件开发过程提供了丰富的表达手段,而且也为软件开发人员提供了互相交流、分享经验的共用语言。
本章首先介绍面向对象的主要概念和思想。
在概述了UML的全貌之后,以“家庭保安系统”为实例,介绍与需求分析相关的部分 UML语言机制以及基于UML的面向对象的需求分析方法和过程。
第一节面向对象的概念与思想一、面向对象的概念关于“面向对象”,有许多不同的看法。
Coad和 Yourdon给出了一个定义:“面向对象 = 对象 + 类 + 继承 + 消息通信”。
如果一个软件系统是使用这样4个概念设计和实现的,则认为这个软件系统是面向对象的。
一个面向对象的程序的每一成分应是对象,计算是通过新的对象的建立和对象之间的消息通信来执行的。
1.对象(object)一般意义来讲,对象是现实世界中存在的一个事物。
可以是物理的,如一个家具或桌子,如图 5-1-1所示,可以是概念上的,如一个开发项目。
对象是构成现实世界的一个独立的单位,具有自己的静态特征(用数据描述)和动态特征(行为或具有的功能)。
例如:人的特征:姓名、性别、年龄等,行为:衣、食、住、行等。
图 5-1-1 对象的定义(1)对象、属性、操作、消息定义对象可以定义为系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和一组对属性进行操作的服务组成。
⾯向对象的需求分析在线学⽣作业管理系统需求分析⽂档2020/05/13吕睿 1824120100贺俊耀1824070056 孟义博1824070054杨素青1824120001 赵晨萌1824120054 张贤1610242673⼀、系统介绍该在线作业管理系统主要提供⽹上的作业管理平台,针对的⽤户主要分为教师⽤户,学⽣⽤户和系统管理员三类。
其管理功能⽅⾯有教师管理功能,学⽣管理功能,系统管理功能,学校教务管理功能等,不同的⾓⾊有不同的操作功能,其相关功能基本需求描述如下:1.教师管理功能:教师登录功能,根据权限进⼊教师相应的页⾯功能,教师可以在线创建新课程,发布新作业,点评学⽣作业,发布作业答案。
2.学⽣管理功能:学⽣登录功能,根据权限进⼊学⽣相应的页⾯功能,学⽣可以在线选择加⼊课程,提交作业,查看作业成绩及教师点评,查看答案。
3.学校教务管理功能:系统管理员登录功能,根据权限进⼊管理员相应的页⾯功能,可以设置院系,班级,课程,任课⽼师,同时具有查看,修改,删除的功能。
4.系统管理功能:系统可以进⾏必要的⽤户管理,如注册,登录,个⼈信息维护,接收系统通知等。
⼆、系统⽤户5.系统⽤户分为教师⽤户、学⽣⽤户和系统管理员。
教师⽤户实现的主要功能有教师登录功能,根据权限进⼊教师相应的页⾯功能,教师可以在线创建新课程,发布新作业,点评学⽣作业,发布作业答案。
学⽣⽤户主要实现的功能有学⽣登录功能,根据权限进⼊学⽣相应的页⾯功能,学⽣可以在线选择加⼊课程,提交作业,查看作业成绩及教师点评,查看答案。
管理员实现的功能主要有系统管理员登录功能,根据权限进⼊管理员相应的页⾯功能,可以设置院系,班级,课程,任课⽼师,同时具有查看,修改,删除的功能。
三、⽤例模型教师⽤户⽤例图如下所⽰作业批改打分<>获取学⽣作业作业信息管理<><>发布作业答案教师⽤户教学课程管理发布教学课程<>学⽣⽤户⽤例图如下所⽰。
项目名称Array(The English Name)《面向对象需求分析课程文档》}{`XXX项目小组修订表审批记录…目录1.引言 ................................................................................................................................. 错误!未定义书签。
目的............................................................................................................................... 错误!未定义书签。
适用范围....................................................................................................................... 错误!未定义书签。
参考资料....................................................................................................................... 错误!未定义书签。
术语和缩略语............................................................................................................... 错误!未定义书签。
2.系统概述 ......................................................................................................................... 错误!未定义书签。
产品描述....................................................................................................................... 错误!未定义书签。
产品功能....................................................................................................................... 错误!未定义书签。
《一般约束....................................................................................................................... 错误!未定义书签。
3.功能性需求分类 .............................................................................................................. 错误!未定义书签。
功能描述1 .................................................................................................................... 错误!未定义书签。
功能描述2 .................................................................................................................... 错误!未定义书签。
4.产品的非功能性需求 ...................................................................................................... 错误!未定义书签。
外部接口说明............................................................................................................... 错误!未定义书签。
用户接口................................................................................................................... 错误!未定义书签。
软件接口................................................................................................................... 错误!未定义书签。
性能需求....................................................................................................................... 错误!未定义书签。
硬件的限制............................................................................................................... 错误!未定义书签。
^属性............................................................................................................................... 错误!未定义书签。
友好性....................................................................................................................... 错误!未定义书签。
安全性....................................................................................................................... 错误!未定义书签。
可维护性................................................................................................................... 错误!未定义书签。
可转移/换性 ............................................................................................................. 错误!未定义书签。
系统的运行环境 ....................................................................................................................... 错误!未定义书签。
其他需求....................................................................................................................... 错误!未定义书签。
用户操作需求........................................................................................................... 错误!未定义书签。
附录A:需求确认................................................................................................................... 错误!未定义书签。
1.引言1.1目的【说明编写这份软件需求说明书的目的,小组长、项目负责人和其他各部门领导及用户是文档的预期读者。
明确系统范围、系统与其他系统的接口问题、及用户的各种功能、界面等需求。
由预期读者签字确认,审核人中应该包括用户部门领导。
】1.2适用范围【说明:a. 待开发的软件系统的名称;b. 说明软件将干什么,如果需要的话,还要说明软件产品不干什么;c. 说明软件与其他系统的接口,本系统要完成什么,不完成什么,要实现的系统功能,需要其他系统提供什么,本系统需要为其他系统提供什么。
】1.3#1.4参考资料1.5术语和缩略语2.系统概述2.1产品描述【叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。
解释被开发软件与其他有关软件之间的关系。
如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。
如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张结构图来说明该系统的组成和本产品同其他各部分的联系和接口。
】注:结构图是用来描述系统的总体结构以及系统内部个部分之间的联系,它以树型结构来表示。
(例如:2.2产品功能【本条是为将要完成的软件功能提供一个摘要。
有时,如果存在较高层次的规格说明时,则功能摘要可从中取得,这个较高层次的规格说明为软件产品分配了特殊的功能,为了清晰起见,可以使用以下任意一种方法来进行说明:a.编制功能的一种方法是制作功能表,以便客户或者第一次读这个文件的人都可以理解;b.用方框图来表达不同的功能和它们的关系也是有帮助的。
但应牢记这样的图不是产品设计时所需求的,而只是一种有效的解释性的工具。
】2.3一般约束【本条对设计系统时限制开发者选择的其他一些项作一般性描述。
而这些项将限定开发者在设计系统时的任选项。
这些包括:a.管理方针;b."c.硬件的限制;d.并行操作;e.通信协议;安全和保密方面的考虑。