第2讲+需求分析的功能模型
- 格式:ppt
- 大小:252.50 KB
- 文档页数:34
敏捷开发4软件生命周期模型1瀑布模型及几个衍生模型2迭代和递增3其他生命周期模型及模型比较5敏捷开发4软件生命周期模型1瀑布模型及几个衍生模型2迭代和递增3其他生命周期模型及模型比较57P32: 2.9.2P23: 2.2 P25: 2.3P34: 2.9.3模型构造多使用脚本语言、基于现有基础代码库、UI工具制作,制作过程一般不会考虑性能、稳定敏捷开发4软件生命周期模型1瀑布模型及几个衍生模型2迭代和递增3其他生命周期模型及模型比较5迭代-递增生命周期模型递增也是软件工程的一个固有特性P27P26: 2.5P28P29P30 2.7敏捷开发4软件生命周期模型1瀑布模型及几个衍生模型2迭代和递增3其他生命周期模型及模型比较58个体和交互胜过过程和工具以人为本我相信没有比面对面交流更高效的沟通渠道了•尊重和信任激发个人内心的责任感和使命感,激发了个体的潜能。
•基于互相信任的前提,敏捷提倡自治的全功能团队。
在工作形式上,整个团队平时坐在一起工作,从物理空间上创造了更加便捷面对面的沟通机会。
•要摒弃这种重流程和重工具,提倡轻量级流程和轻量级工具,而这些流程和工具又在促进个体交互。
比如,我们在日常工作中会使用Trello、Jira、Keynote等工具。
可以工作的软件胜过面面俱到的文档价值导向为客户交付可工作的软件是我们的核心目标•我们应该尽早交付可进行端到端测试的代码,该目标决定了我们不应该花过多精力在面面俱到的文档上。
•但这不代表我们要抵制任何文档。
实践证明,轻量级的文档策略有助于团队高质量交付可工作的软件。
•在开发过程中,交互设计原型也是一种轻量级文档,交互设计师交付可以尽早地跟团队和客户进行确认验收的核心业务场景的原型,快速收集反馈。
客户合作胜过合同谈判客户团队帮助客户实现他们真正想要的价值•让客户也作为团队的一分子,跟客户建立信任的合作关系取代敌对的谈判关系。
•需求的变化往往来自客户,让客户参与进来可以在开发的过程中尽早的发现变化,从而尽早采取解决方案。
目录1 导言 01。
1 背景 01。
2 目的 01.3 名词解释 01.4 参考资料 (1)2 概述 (1)2。
1 系统环境 (1)2.2 功能需求 (2)2.3 参与者分工 (2)2.4 技术支持 (3)2。
4.1 MVC模式 (3)2。
4。
2 jsp+servlet+javabean开发模式 (4)3 UML建模语言 (4)3.1 基本概念 (4)3.1.1 对象图 (5)3.1.2 类图 (5)3。
1。
3 类图 (5)3.2 模型视图 (6)3.2.1 用例图 (6)3.2。
2 活动图 (6)3。
2.3 顺序图 (7)4 需求分析 (7)4.1 管理员需求分析 (7)4。
1。
1 管理员用例图 (7)4.2 普通用户需求分析 (10)4.2.1 普通用户用例图 (10)4.3 安全管理需求分析 (12)4。
3.1 安全管理用例图 (12)5 对性能的规定 (14)5.1 时间特性要求 (14)5。
2 灵活性 (14)5。
3 输入输出要求 (15)5.4 故障处理要求 (15)5.5 其他专门要求 (15)1 导言1。
1 背景近年来,随着互联网技术的迅速发展,越来越多的人开始关注软件开发这项技术,随之也开始涌现出了诸多的开发语言和开发工具.然而,安装这些开发工具对系统内存往往有较大的要求,即使成功安装,有时也会对我们的日常使用带来不便。
此外,这些开发工具只是提供了一个平台,供我们练习使用,本身并不能帮助我们提高软件开发水平。
所以我们小组联合开发了名为学程网的在线评测系统,该系统采用了B/S结构。
系统中有大量的习题,可以练习可以考试,既可以练习开发语言,亦可以温故数据结构.该系统的特点是方便、使用。
1。
2 目的实现以下功能:能够实现注册用户的功能:能够判断用户的身份,并根据身份的不同进入不同的页面;管理员能够实现在线添加试卷、试题,查询试卷、试题的功能;普通用户能够实现在线考试的功能;普通用户能够实现查询考试分数的功能;普通用户能够实现在线答题的功能;普通用户能够实现查询试卷和试题的功能。
目录前言1什么是需求需求分析在整个开发周期的作用。
2 在需求过程中的三个里程碑2.1 第一阶段确定项目的大背景2。
2 第二阶段项目本阶段的核心需求定义和确定 2.3 第三阶段项目详细需求分析前言需求对于我们IT人来讲是一个再熟悉不过的名词了如何在项目开发周期做需求那就是各有各的道了下面是我对软件开发过程中对做需求的理解和总结。
希望能给大家带来一点不同的感官。
1什么是需求需求分析在整个开发周期的作用。
对于需求概念来讲就是功能质量约束。
在整个开发周期中需求是整个开发的基础。
需求分析成功则软件风险就减少了一半. 这么一讲还是蛮空洞的对于我们来讲如何进行需求分析它的流程是什么每步流程的标准又是什么呢本人在需求操作中主要分为三个阶段。
第一阶段确定项目的大背景。
第二阶段项目本阶段的核心需求定义和确定第三阶段项目详细需求分析。
2 在需求过程中的三个里程碑2。
1 第一阶段确定项目的大背景确定项目的大背景就是充分的了解项目的领域客户对项目的期望值.其次对于企业项目来讲在确定项目目标后还要进一步的了解客户的企业框架.当前项目在企业框架中位置第三方接口定义等等。
在考虑到完成业务上的预景后接下来就是项目实现技术实现方案选择实现项目的技术框架通常包含开发平台第三方组件硬件环境测试环境部署环境等第一阶段的配置项为《企业建设方案》2。
2 第二阶段项目本阶段的核心需求定义和确定在确定了需求的大背景下下一步我们需要做的内容就是确定项目的核心功能关键的质量和相关的约束.在这边我要着重向大家说明一下温昱老师的二维需求表。
表的格式为功能质量约束业务及需求用户级需求开发级需求功能软件功能又分关键功能次要功能等。
在第二阶段我们要做的就是分辨并整理关键功能和次要功能。
根据项目的规划找出当前需要实现的关键功能与此同时对于高风险技术风险大的功能或者关键功能中相互冲突的功能进行前期取舍。
当然啦在取舍和确定具体的功能范围还是要和客户之间相互沟通的最后要补充一点的就是确定关键功能这个过程是不停递归的一个过程。
我们应当怎样做需求分析:功能角色分析与用例图(转)在我们进行一系列需求调研工作的同时,我们的需求分析工作也开始启动了。
需求调研与需求分析工作应当是相辅相伴共同进行的。
每次参加完需求调研回到公司,我们就应当对需求调研的成果进行一次需求分析。
当下一次开始进行需求调研时,我们应当首先将上次需求分析的结果与客户进行确认,同时对需求分析中提出的疑问交给客户予以解答。
这就是一个需求捕获->需求整理->需求验证->再需求捕获的过程。
但是,当我们经过一番忙碌,将需求中的第一手资料从调研现场捕获回来以后,我们应当怎样进行分析呢?不少团队对此都比较迷茫,没有一个统一和有效的方法,往往采用想到哪里做到哪里的方式。
一些问题想到了就做了,没有想到则忽略掉了。
实际上,需求分析不应当是太公钓鱼,而应当是拉网排查。
任何一个疏忽都可能对项目研发带来风险。
因此,我们应当采用一套成熟而完整的分析方法,稳步而有序地完成这部分工作。
不同类型的软件项目其分析方法可能存在差异,但一般来说,信息化管理类软件项目通常从这几个方面着手分析:功能角色分析、业务流程分析与业务领域分析。
需求分析不是一项一蹴而就就可以完成的工作,它需要一个长期的过程,而这个过程是一个由粗到细的过程,它体现了人类认识事物的客观规律。
在需求分析的初期,我们对需求的认识往往是整体的、宏观的,随着分析工作的逐渐深入,一步步细化。
按照这个思路,我们对需求的分析,首先应当从功能角色分析开始。
所谓功能角色分析,就是从一个外部用户的视角分析整个软件系统能够提供的功能,以及这些功能到底是提供给哪些角色使用。
对一个系统进行功能和角色方面的梳理和分析,可以采用的比较主流的方法之一就是绘制用例图。
用例图是UML的4+1视图中的一种,准确地说就是那个“+1”。
用例图是贯穿整个面向对象分析/设计(OOA/D)的核心视图,它描述的是系统到底为用户提供了哪些功能,以及到底是哪些用户在使用这些功能,是沟通用户与技术人员的桥梁。
第二讲学习需要分析一、学习需要(学习完课程、未学习之前??)学习需要:指学习者目前的学习状况与所期望达到的学习状况之间的差距.差距=期望—现状期望状态:社会对人才需求的标准对学习者的总期望由以下因素决定:学习者未来的职业或正从事的职业的新发展对人才的要求学习者生活的社会及其变化与发展所赋于学习者的历史使命学习者未来的工作岗位或所在岗位的技术变化对人才的希望学习者自身对知识、技能、态度的培养和发展方面的个人要求现状:学习者群体在能力、素质方面现有的水平二、学习需要分析的概念学习需要分析是一个系统化的调查研究过程,这个过程的目的是要揭示学习需要从而发现问题,通过分析问题产生的原因确定问题的性质,并辨明教学设计是否是解决这个问题的合适途径;同时它还分析现有的资源及约束条件,以论证解决该问题的可能性。
(1)、通过调查研究,发现教学中需要解决的问题;(2)、分析所面临的问题的性质,确定采用教学设计的方法能否解决该问题,论证解决该问题的必要性;(3)、分析现有的资源条件及可能受到的限制,明确进行教学设计的可行性、重要性;(4)、形成总的设计目标.✧系统化的调查研究过程✧实质是分析教学设计的必要性和可行性三、学习需要分析在教学设计中的地位学习需要是教学设计过程的基础教学设计是解决问题过程。
学习需要是一种差距分析。
学习需要分析有助于理顺问题与方法、目的与手段的关系。
1、发现问题,明确差距80%—30%=50的通过率2、分析问题原因1)原因的表象-—-—听力、阅读、写作失分太多2)形成差距的真正原因:A 环境——设备、设施、工具材料B 激励机制——-外部C 教学原因:动机水平(价值*自信)—-——内部知识与技能(教学时间与方法;教师素质与态度;课程计划、教材、学习资源)D 确定教学设计的必要性3、分析可行性(人、财、物的支持、重要性)4、形成“选择或开发课程计划及配套教材”的项目及项目总目标一、学习需要分析的逻辑步骤1。
第二讲需求定义与需求分析大连海事大学计算机学院信息系统研究所蒋波前面已经讲到,一个软件系统的开发运行分为三个阶段:即问题定义阶段、开发阶段、测试交付与维护阶段。
本节中主要介绍第一阶段,即问题定义阶段。
在这一阶段中,主要介绍如下几个内容:(1)问题的识别(2)可行性分析与研究(3)系统开发原则(4)系统开发前的准备(5)系统开发策略与开发计划(6)系统分析(7)系统分析方法论下面逐一加以说明一.问题的识别系统开发的前提条件是,开发人员必须首先弄清楚5个W。
即What,Why,Who,Where,When。
也就是说,开发人员必须知道做什么,为什么要做,由谁来做,在哪里做以及何时做的问题。
如果在没有搞清楚以上问题就匆忙着手开发,往往是导致系统失败的主要原因。
但是,实际工作中,搞清楚以上几个问题并非易事。
问题识别的主要是通过了解企业目标、现行企业系统的问题、企业的信息战略等内容,决定如何使用信息技术帮助企业解决这些问题。
要识别的问题首先是管理问题。
例如,企业战略优势下滑、产品滞销、效率低下等,然后了解信息技术的利用程度。
例如有无数据混乱、处理速度慢,设备老化等问题。
在了解企业需求的同时,系统分析人员应该通过科学的启发来激发企业的需求,因为企业的管理人员有时是无法了解当前信息技术发展的状况的,有些需求根本提不出来。
所以说,现代信息系统的系统分析已经由“满足用户需求”转变为“使用户满意”。
这里离不开系统分析员的主动性。
问题识别的越清楚,开发成功的概率就越大。
二.可行性分析与研究1.可行性研究的任务可行性研究是指在当前组织内外的具体条件下,系统开发工作必须具备的资源和条件是否能够满足系统目标的需求,希望通过用最小的代价、在尽可能短的时间内确定所识别的问题是否有解。
因此,可行性研究实际上是一个大大简化了的系统分析和设计过程,也就是说,是在较高层次上以较抽象的方式进行的系统分析和设计过程。
可行性研究包括如下几个方面:●技术可行性现有技术能否实现用户的需求;●经济可行性从人力、财力、物力上考虑开发系统的经济效益是否高于开发成本;●操作可行性系统的操作方式是否可行,目标、方案是否有可操作性,是否满足企业的进一步发展的需求;●法律可行性是否满足法律上的要求,有没有社会的因素会对系统开发产生消极影响。