当前位置:文档之家› 需求分析实例分析论文

需求分析实例分析论文

课程:个人软件过程关于软件需求分析的探究姓名://////////////学号:0923******计算机科学与教育软件学院关于软件需求分析的探究摘要:对软件需求分析的含义,任务和过程进行讨论,突出了有效沟通,需求管理,团队协作在需求分析过程中的重要作用,同时探讨了若干需求分析方法。

关键词:软件过程;需求管理;需求分析;1.学习课程的收获1.1 对需求分析的认识和理解由于我是计算机专业的学生,所以这里主要对软件的需求分析做一下认识和理解。

需求分析就是分析软件用户的需求是什么。

如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳。

如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的。

比如,用户需要一个for linux的软件,而在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了。

这个问题是最典型也是最常见的,现在这个问题一般很好避免,都知道项目的一些敏感性的东西,例如想会有哪些地方设计的不好可能导致以后的使用出现bug。

简言之,需求分析的任务就是解决"做什么"的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求。

需求分析是一项重要的工作,也是很困难的工作。

该阶段工作对于用户和开发人员都是很重要的。

首先,由于用户与开发人员很难进行交流。

在软件生存周期中,其它四个阶段都是面向软件技术问题,只有需求分析阶段是面向用户的。

需求分析是对用户的业务活动进行分析,明确在用户的业务环境中软件系统应该“做什么”。

但是在开始时,开发人员和用户双方都不能准确地提出系统要“做什么?”。

因为软件开发人员不是用户问题领域的专家,不熟悉用户的业务活动和业务环境,又不可能在短期内搞清楚;而用户不熟悉计算机应用的有关问题。

由于双方互相不了解对方的工作,又缺乏共同语言,所以在交流上存在隔阂。

其次,用户的需求是动态变化的。

对于一个大型而复杂的软件系统,用户很难精确而完整的提出他的功能和性能要求。

一开始只能提出一个大概,模糊的功能,只是经过长时间的反复认识才逐步明确。

有时候进入到设计,编码阶段才能明确,更有甚者,到开发后期还在提新的要求。

这无疑给软件开发带来了困难。

最后,需求分析是软件开发的基础。

假定在该阶段发现一个错误,解决它需要用一小时的时间,到设计,编码,测试和维护阶段解决,则要花2.5,5,25,100倍的时间。

因此,对于大型复杂系统而言,首先要进行可行性研究。

开发人员对用户的要求及现实环境进行调查,了解,从技术,经济和社会因素三个方面进行研究并论证该软件项目的可行性,根据可行性研究的结果,决定项目的取舍。

所以,需求分析对软件的设计和开发来说是至关重要的,它不仅能够使设计的产品满足用户的要求,而且对于设计实现者来说,能够通管全局从而使软件实现松散耦合,方便以后功能的添加和维护。

1.2 对概念设计的认识和理解概念设计是由分析用户需求到生成概念产品的一系列有序的、可组织的、有目标的设计活动,它表现为一个由粗到精、由模糊到清晰、由具体到抽象的不断进化的过程。

概念设计即是利用设计概念并以其为主线贯穿全部设计过程的设计方法。

概念设计是完整而全面的设计过程,它通过设计概念将设计者繁复的感性和瞬间思维上升到统一的理性思维从而完成整个设计。

产品的概念设计过程是产品设计过程中最重要,最复杂,同时又是最活跃,最富于创造性的设计阶段。

一般情况下,设计人员在进行创造性思维的过程中,总是在已有经验和知识的基础上,根据用户的产品需求,按照一定的,有规律设计步骤和流程,再结合贯穿始终的想象力与灵感,从而设计出符合用户需要的概念产品方案。

概念设计囊括了技术之外的很多方面,不仅仅需要有大量的技术知识、想象力、创新力,还有最重要的直觉,能感到一个设计是不是“正确”。

这种能力是很难在教室里面学到的,有些人的设计能力是与生俱来的,但有些人就是没有。

即使如此,有很多“训练”还是可以去做的,它们可以让你做出更好的设计。

但要有心理准备,这些过程需要投入很多的时间和耐心,而且没有秘诀或者捷径可言。

在概念设计完成后,我们就能够根据设计出来的产品雏形来进行客户产品的开发。

并根据每个部分的难易,复杂,重要程度对产品完成的时间和成本进行分配。

这样就能以最高的效率完成高质量,低成本的软件产品。

所以概念设计是在需求设计完成后的重要的一步,清晰的概念设计造就完美的IT产品。

2.在线考试系统的需求分析和总体概念设计2.1 功能需求2.1.1 功能简介和模块分析在现今金融危机的冲击的就业背景下,求职成为了即将毕业的大学生所要面临的间距任务。

作为软件工程专业的学生,我们应该对当今世界最流行和最重要的编程语言C/C++有着深入的了解和掌握,而用人单位重视的恰恰就是求职者编程的基础知识的掌握。

为了让软件工程专业的学生更加清楚自己在这门编程语言方面所达到的成就,找到自己的不足和缺陷,我们设计和编写了这个C/C++笔试模拟考试系统。

在准备公司笔试的时候我们要查阅大量的书籍和网络信息来寻找各种各样的笔试试题,从而使自己有所准备。

找过工作的同学对这一点是深有体会的。

而我们设计这个系统的目的就是为了避免求职者由于自己的盲目所花费大量时间和精力,从而做到事半功倍。

我们这个系统分为客户界面部分和管理界面部分。

如图2.1所示。

(1)客户界面部分①在线模拟考试模块。

选择考试难度和考试内容即可进行在线考试。

综合考试:用户选择所有的知识点进行综合考试。

分块考试:用户选择特定的知识点进行分块考试。

② 错题本查看模块。

在进行在线模拟考试时,用户可以将自己做错的题目放入自己的错题本中,然后可以不定期查看自己的错题本,进行查漏补缺。

③ 注册登录模块。

如果用户以前没有注册过本系统,那么就可以输入用户名和密码来注册为本系统的用户。

如果用户是老用户的话就可以直接登录到录取进行操作了。

用户登录:验证用户的信息是否为合法用户,是否在黑名单,如果为黑名单用户则取消登录。

用户注册:根据页面提示将相应信息经行验证,成功则跳转到主页进行登录。

④ 个人信息管理模块。

用户可以对自己的个人信息进行管理。

个人基本信息管理:修改用户名,邮箱,找回密码的问题和找回密码问题的答案。

修改密码:需要用户提供输入两次相同的密码,然后修改密码。

⑤ 提出疑难问题模块。

用户如果在自己平时的学习或者考试中有什么问题可以通过这个模块提出来。

管理员会尽快解答并且将正确答案贴到网上,用户可以方便查看。

⑥ 名企试题查看。

用户可以方便的看到微软,IBM ,Oracle 等知名软件公司以前在这门编程语言方面的笔试题目,从而可以方便自己的笔试准备。

⑦ 找回密码模块。

用户如果忘记了自己的密码,就可以通过回答自己找回密码的问题设置自己新的密码。

⑧ 上传试题模块。

用户可以将自己求职过程中遇到的比较典型的笔试题目上传到系统中,如果管理员确认试题可以入库,那么就将试题放入试题库中了。

(2) 管理界面部分① 增加试题模块。

管理员可以方便增加选择题,判断题和问答题。

② 修改试题模块。

管理员可以对数据库中的试题进行修改和删除,从而保持试题库的准确和试题的不断跟新扩充。

③ 在线答疑模块。

管理员可以对用户提出的问题进行在线解答,如果管理员不能够解答可以咨询相应的专家进行解答。

④ 试卷批阅模块。

管理员定期批阅用户的主观试题,并且在线打分。

用户可以在答题结束后很快的看到自己的主观题的分数,与客观题得分相加就是自己模拟考试的分数了。

⑤ 用户管理模块。

管理员对用户进行管理。

禁用用户:管理员将用户放入黑名单中。

启用用户:管理员将用户从黑名单中激活。

删除用户:管理员将用户删除。

管理员C\C++笔试模拟考试系统会员添加试题批改试题中的主观题会员管理查看错题本提出疑难问题在线模拟考试疑难问题解答查看名企笔试试题个人信息管理找回密码个人信息管理会员上传试题上传试题确认入库图2.1 系统功能结构2.1.2 实体-关系图实体—关系图(Entity-Relationship Diagram )来建立数据类型。

ER 图中包含了实体(即数据对象),关系和属性等三种基本成分。

通常用矩形代表实体,用连接相关实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,并用无向边把实体(或关系)与其属性连接起来。

通常我们都是用实体,联系和属性这三个概念来理解现实问题的,因此ER 模型比较接近人的习惯思维方式。

管理员会员选择试题账号密码账号密码Email找回问题问题答案会员ID试题ID选项A选项B选项C试题题干选项D答案试题难度ID试题内容类型ID管理回答图2.2 选择试题ER 图如图2.2所示为选择试题的ER 图。

判断题和问答题的ER 图和它的基本相同,只是缺少了选项A ,选项B ,选项C ,选项D 四个属性。

如图2.3所示为错题本的ER 图。

错题本只有会员用户才能够拥有,而且一个会员只能有一个错题本。

会员错题本试题ID错题本管理11错题本试题所属的类型错题本试题在试题库中ID错题本所属会员ID图2.3 错题本的ER 图如图2.4所示成绩单的ER 图,一个会员可以有很多成绩单,所以是一对N 的关系。

会员成绩单的时间成绩单成绩单ID成绩单所属的会员ID成绩单的分数管理1N图2.4 成绩单的ER 图如图2.5图所示为疑难问题的ER 图。

一个会员可以提出多个问题。

而且一个管理员也可以解答多个问题。

会员提出问题的会员ID疑难问题疑难问题的ID问题的答案问题的题干提出1N管理员解答1N问题是否得到解决提出问题的时间解决问题的时间图2.5 疑难问题ER 图如图2.6所示为系统最近登录时间ER 图。

每个会员只有一个登录时间表。

会员登录时间表ID管理登录时间表1登录时间表所述会员ID最近登录时间1图2.6 系统最近登录时间ER 图如图2.7所示为主观题的ER 图。

每个会员可以解答多个主观题,每个管理员可以批阅多个会员的主观题。

会员管理员主观题回答NN批阅1N主观题ID主观题题干管理员的评分主观题的标准答案所属的用户ID主观题用户的答案主观题是否被批阅主观题是否被批阅图2.7 主观题的ER 图如图2.8为名企试题表ER 图。

会员查看管理管理员企业的名称试题的类型试题I D试题所属的年份名企试题试题在试题库中的I DNN1N图2.8 名企试题表ER 图2.1.3 数据流图当信息在软件中移动时,将被一系列“变换”所修改。

数据流图(DFD )是一种图形化技术,它描述信息流和数据从输入移动到输出的过程中所经历的变换。

在数据流图中没有任何具体的物理元素,它只是描述信息在软件中流动和被处理的情况。

相关主题