软件工程--需求分析报告(精选9篇)
软件工程--需求分析报告 第1篇
文档名称:需求分析
项目名称:学生智能管理系统一、引言:
1、编写目的:
对庞大的信息随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。有必要开发学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,同时也可以方便学生对信息的获取。
学生信息系统也是实现学校管理现代化和信息化的重要内容。因此,学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段,并且,面对学生生活的不断丰富化,各种小方面管理软件的泛滥,身为学生以及考虑学校本身管理的多方面的统一。本小
组所开发系统是基于C/S结构,使用 Visual Basic程序设计语言及SQLServer2000数据库进行设计与开发。
本系统针对软件界面的人性化,生活化,做了突破性的工作,以及多项管理功能的集成上作了初步的拓展,目的在于使管理者和访问者易于甚至乐于接受,并提出学校管理系统的一体化概念,使学校的管理更有效率。
2、定义:
(1)静态数据:系统内部有关的数据结构和操作规程
(2)动态数据 :程序运行时输入和输出的数据
(3)数据字典: 数据字典(DD,Data Dictionary)是关于数据流
程图中出现的所有名字(数据流、处理、数据存储)的定义的集合。
3、参考资料:
[1]张向宏.软件生命周期质量保证与测试.北京:电子工业出版
社.2009 [2]张海藩.软件工程导论.北京:清华大学出版社.2005 [3]张焕君.基于VB和SQL的数据库编程技术.北京:清华大学出版
社.2008
二:任务概述:
1、目标:(1)给出软件系统的数据流程图和数据结构。
(2)提出详细的功能说明,确定设计限定条件,规定性能需求。
(3)密切与用户的联系,使用户明确自己的任务,以便实现上述两项
目标。
(4)以最低的成本,在最短的期限内开发出具有管理学生和学生信息
功能的智能管理系统。(包括:人力与设备费用的节省;处理速
度的提高;人员工作效率的提高)
2、用户特点:
本系统所面向的用户是大学学生和教师,对用户计算机专业方面的知识要求不是很高,只要对电脑能熟练操作就ok。易于操作,这也是本软件设计的一大目标。
3、条件与限制:
(1)建议该系统运行的最短寿命为5年;
(2)进行该系统方案选择比较的期限为2个月;
(3)建议该系统软件投入使用的最迟时间为2009年12月20日;
(4)该系统要受资金、寿命、社会等系列因素的制约和限制。
(5)由于系统较小,且在Windows系统开发,故在Windows环境下运
行没有什么限制。
三:数据描述:
1、静态数据:
静态数据是系统内部有关的数据结构和操作规程。具体包括:系统用户表格、学生基本信息表格、班级信息表格、课程基本信息表格、年级课程设置信息表格、学生成绩信息表格……
2、动态数据:
动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元素与属性值,就是学生信息。
3、数据描述:
根据上面的分析就可以设计出能够满足用户需求的各种数据实体,以及它们之间的关系,为后面的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。
本系统的实体有:学生实体、课程实体、日常工作实体、教师实体。各个实体具体的描述E_R图如下:
日常安排活动通知系内工作姓名性别督办日常工作执行成绩日常记录档案联系教师教学生学证件课程部门教师任课表(学期)课程安排表(学期)教学进度安排表专业核心课程个学期周数分配表
4、数据字典:
(1)数据流条目——数据流条目给出某个数据流和定义,它通常是列 出该数据流的各组数据元素。
该系统的数据流条目: 数据流名:学生
别名 :无
组成 :学号+姓名+性别+个人电话+家庭电话+籍贯+系别+ 年级+班级+备注 数据流名:教师 别名 :无
组成 :证件号码+姓名+性别+个人电话+系别 数据流名:课程信息 别名 :无
组成 :课程编号+课程名称+课程类型+任课老师+上课时间+课
时+学分
数据流名:学生成绩信息
别名 :无
组成 :考试编号+学生学号+学生成绩
数据流名:学生课余活动信息
别名 :无
组成 :活动编号+活动名称+活动时间+活动类型+参 与院系
(2)数据存储条目—— 对数据存储的定义
文件名:学生记录
别名 :学生信息
简述 :存放所有学生信息
组成 :学生信息文件={学生基本信息记录}+{学生成绩记录}+{学生 课余活动信息记录}+{学生课程信息记录} 组织:按学生学号编排
存取要求:关键字是:学生学号+课程号+活动编号
查询要求:要求能立即查询
文件名:教师记录
别名:教师信息
简述:存放所有的教师信息
组成:教师信息文件={教师基本信息记录}
组织:按教师证件号编排
存取要求:关键字是:教师证件号
查询要求:要求能立即查询
(3)数据项条目——给出某个数据单项的定义,通常是数据项值类型。
数据项名:学生学号
别名:无
取值:8{数字}8 注释:无
数据项名:年级
别名:无
取值:〔F|M|J|S〕 F-freshmen, 一年级
M-sophomore,二年级
J-junjor, 三年级
S-senior, 四年级
注释:F,M,J,S可分别用1,2,3,4代替 数据项名:系和班级编号 别名:无 取值:8{数字}8 注释:无
数据项名:课程编号 别名:无 取值:8{数字}8 注释:无
数据项名:活动编号 别名:无 取值:6{数字}6 注释:无
数据项名:考试编号 别名:无 取值:8{数字}8 注释:无
数据项名:教师证号 别名:无
取值:11{数字}11 注释:无
(4)处理说明条目——给出数据流程图中不分解的变换处理说明定义。
处理名:查阅学生信息库
激发条件:接受到有效用户名和密码
优先级:普通
输入:用户名和密码
输出:学生信息
加工逻辑:根据学生信息库记录 IF输入用户名和密码有效 THEN显示学生信息
ELSE请重新输入(最多三次)ENDIF
(5)数据流图
输入用户名和密码分析用户类型输入用户类型分析用户名有效和密码用密户名码和注册用户名和修改密码用户显示结果学生信息添加及删除反馈给用户系统界面输入有效命令修改用户名及密码学生添删密码修改用户注册表处理命令学生选课选课密码修改学生信息表存储修改信息修改学生课程表学生成绩及信息查询查询密码
5、数据采集:
系统数据采集是由数据库系统在软件运行期间通过人机界面来提示用户输入的。
四:需求规定:
1、功能需求:(1)对功能的规定
1)学生管理功能: a、修改当前登录用户的密码。
b、可以浏览,查看,搜索页面信息。
2)教师管理功能: a、教师可以在线浏览,查看,搜索各类页面。
b、可以在线添加、删除、修改学生各种信息。c、可以在线通知学生各种消息。3)管理员管理功能:a、可以进行学生资料录入
b、可以对学生信息查询、修改、删除、添加。
(2)功能描述:
1)登录功能:验证登录用户是否为数据库中的合法用户,判断登陆的用户是一般学生还是教师。一般学生只能实现浏览,查看,搜
索功能;教师可以查看、修改、添加、删除学生某方面的信息。管理员可以对用户信息进行修改。
2)主界面功能:可以浏览学生各方面的信息,还可以进入登陆页面,可以查找某个学生信息。
3)用户管理功能:管理员(即超级用户)可以添加新的用户以及修
改当前登录用户的密码。也可实现登录用户的重新登录和退出,可以修改学生信息。一般学生则可以浏览,搜索,查看各种信息。
2、性能需求:(1)对性能的规定
1)精度:查询时应保证查询率,所有在相应域中包含查询关键字的 记录都应能查到,同时保证准确率。
2)时间特性要求:一般操作的响应时间应在1-2秒内。
3)适应性:满足运行环境在允许操作系统之间的安全转换和与其它
应用软件的独立运行要求。
4)灵活性:在需求发生变化时,本系统的对这些变化的适应能力相
对而言是比较强的,包括操作方式上的变化;运行环境 的变化;同其他软件的接口的变化;精度和有效时限的变化。(2)功能结构图
学生智能管理系统行政楼3#实验楼图书馆教学楼大学生活动中心邮局师生互动教务处电信系办公室电信系辅导员办公室
3、运行需求:(1)用户界面
系统运行时主界面大致要求为Windows的经典运行界面,主界面可以是SDI(单文档界面)即每个窗体之间是独立的,也可以是MDI(多文档界面):有一个主窗,可以包含其他窗体。本系统采用多文档界面,这样可以使程序更加美观,整齐有序。(2)硬件接口
软件较小除硬盘外,还有DVD光驱,打印机等。(3)软件接口
在这里主要考虑软件与操作系统的接口,考虑到文档处理的需要有可能可以包括与较常用的办公软件的接口。
(4)开发环境
操作系统: WindowsXP或更高
数据库类型:SQL Server 2000 CPU:P2000mmx以上,内存大于64M。
需要建立WEB服务器
(5)故障处理
在用户的输入有错误的情况下,对于用户的输入错误应给出适当的改正提示。若运行时遇到不可恢复的系统错误,也必须保证数据库
完好无损。
4、界面需求:
(1)登录界面:验证登录用户是否为数据库中的合法用户,选择登录的用户是一般学生还是教师。一般学生只能实现浏览,查看,搜
索功能;教师可以查看、修改、添加、删除学生某方面的信息。管理员可以对用户信息进行修改。
(2)主界面:可以浏览用户各方面的信息,还可以进入登录页面,可以查找某个学生信息。
(3)注册界面:用户可以在主界面上选择注册,进入注册界面,填写用户基本信息(名字、班级、年级……)。
5、其他需求:
(1)安全保密:增加用户登录验证,确保信息安全性。(2)可移植性:软件能够安装于windows下的各种流行版本。
软件工程--需求分析报告 第2篇
报告名称专业 班级 学号 姓名 指导教师
基于JSP的图书馆管理系统的设计与实现
软件技术
1.引言
随着计算机技术的不断应用和提高,计算机已经深入到社会生活的各个角落,计算机软件也在各方面得到广泛的应用。但是,很多图书馆仍采用手工管理图书的方法,不仅效率低、易出错、手续繁琐,而且耗费大量的人力。为了满足图书馆管理人员对图书馆书籍,读者资料,借还书等进行高效的管理,并结合我院图书馆管理现状,在工作人员具备一定的计算机操作能力的前提下,特编此图书管理系统软件以提高图书馆的管理效率。1.1 编写目的
本需求的编写是为了研究图书管理系统软件的开发途径和应用方法。同时它也是进行项目策划、概要设计和详细设计的基础,是维护人员进行内部维护,信息更新,验收和测试的依据。1.2 预期的读者和阅读建议
本需求的预期读者是我院图书馆管理员,部分学员,与图书管理系统软件开发有联系的决策人,开发组成人员,扶助开发者,软件验证者。1.3 背景及范围
本项目的名称:图书馆管理系统开发软件。
本项目的任务提出者及开发者是图书管理系统软件开发小组,用户是学院图书馆及相关读者。
本产品是针对电脑管理图书的需求设计的,主要包括管理员管理模块和学员自助服务模块。其中,管理员管理模块可以完成读者登记、购入新书、图书检索、读者借还书、图书注销等主要功能,学员自助服务模块可以完成学员电子阅读,图书检索功能。1.4 参考资料
1.《软件工程》 ——赛煜、刘文编著东软电子出版社
2.《数据库系统概论》 ——萨师煊、王珊 编著高等教育出版社 3.《JSP项目开发》 ——萨师煊 陈丹丹、高飞 编著清华大学出版社 2.综合描述
为方便对图书馆书籍,读者资料,借还书等进行高效的管理,特编写该程 序以提高图书馆的管理效率。使用该程序后,图书馆管理人员可以管理读者的登记,图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的情况。在学校图书馆内部的现有局域网这个网络环境下,信息由各用户在规定的权限下在各自的工作站上录入,信息上网后各用户可查询,调用,达到信息共享。2.1 产品的前景
图书馆在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息。现有的人工记录方法既效率低又错误过多,大大影响了图书馆的正常管理工作。因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高。本系统通过强大的计算机技术给图书管理人员和读者借、还书带来便利。本系统除了图书馆内管理的一般功能还外,还包括网上在线查询图书信息、查询本人的借阅情况和续借等功能。系统的功能相对比较完善,根据以后不同的需要,还要对系统进行更新。
2.2产品的功能
(1)读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注。
(2)书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。
(3)借书信息制定、输入、修改、查询,包括书籍编号、读者编号、借书日期、借书期限、备注。
(4)还书信息制定、输入、修改、查询,包括书籍编号、读者编号、还书日期、还书期限、备注。
(5)有条件、多条件查询各种信息.2.3用户类和特征
本系统的最终用户为管理员(图书管理员和其它管理人员),他们可以删除图书信息、删除或增加学生信息,可以查看读者的借阅信息。他们都具有一定的计算机应用基础,可以比较熟练操作计算机; 运行环境 1)硬件环境 服务器
(1)处理器(CPU):双核,Intel奔腾D或AMD速龙64X2以上
(2)内存容量(RAM):1G以上
客户端
(1)处理器(CPU):双核,Intel奔腾D或AMD速龙64X2以上
(2)内存容量(RAM):1G以上 2)软件环境 数据库服务器端(1)操作系统:Windows7(2)数据库管理系统:MySql,配置TCP/IP协议 Web服务器端
(1)操作系统:Windows7(2)Internet 信息服务(IIS)6.0管理器 客户端
(1)操作系统:Windows 7(2)Web浏览器:Internet Explorer 5.0以上,配置TCP/IP协议
2.4 设计与实现上的限制
开发时间比较紧,机器限制,开发人员的经验少,是开发系统中主要的问题。开发经费不到位,管理不完善,设计时没能全得到考虑,都会影响本项目的开发进程 3.功能需求 3.1 需求规定
在图书管理系统中,管理员要为每个读者建立借阅账户,并給读者发放不同类别的借阅卡(借阅卡可提供卡号、读者姓名),账户内存储读者的个人信息和借阅记录信息。持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)。借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,有效则显示读者的基本信息,供管理员人工核对。然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。归还图书时,输入读者借阅卡号和图书号(或丢失标记号),系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。然后提交还书请求,系统接受后删除借阅纪录,并登记并修改可借阅图书的数量。
图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销(不外借),包括图书类别和出版社管理。3.2 功能分类如图1
系统信息参数设置图书馆信息基础信息管理书架设置管理员设置图书词库设置购入新书图书馆管理系统系统登陆图书管理图书注销学生借书学生管理学生还书图书信息查询查询子系统学生信息查询
图1
3.3 具体需求 系统的总体图见图2 图书馆管理人员用户名和密码登陆信息验证输入管理请求数据处理管理请求显示数据显示器密码错误信息当前日期管理员表系统时钟当前日期处理查询请求数据查询结果图2
第一层图:
(1)登陆子系统如图3 图书馆管理人员用户名和密码密码验证用户名验证权限显示器登陆错误信息权限显示管理员表显示可用的控件和界面图3管理员登录
(2)查询模块
查询读者信息及其借书情况如图4 图书馆管理输入学生查询关键字学生信息查人员询学生信息学生文件借书文件显示器输入图书查询关键字图书目录文件图书信息查询图书信息图4查询读者信息及其借书情况
第二层图:
(1)处理新书购入(如图5)
规格说明
输入新书的全部信息。 引言
为了输入新书的全部信息(包括:分类目录号,流水号书名,作者,内容摘要,价格和购书日期等)。
输入
新书的全部信息。 处理
通过图书管理系统写入图书目录文件。 输出
新书的全部信息。
图5输入新书全部信息
(2)处理学生借书(如图6)
规格说明
查询读者借书的相关信息。 引言
为了查询读者借书的相关信息。 输入
借书信息的关键字。 处理
利用关键字在借书文件中找到此流水号图书的相关信息。 输出 借书相关信息。
罚款单学生文件非法学生信息图书馆管理输入学生字段检查学生欠人员费情况欠款超额,拒绝借书显示器接受借书,输入图书信息借书成功系统时钟当前日期更新数据库借书文件图6 查询读者借书
(3)处理学生还书(图7)
规格说明 输入读者还书信息。 引言
为了把读者还书的相关信息(包括:图书分类号,流水号,读者号,借阅日期和还书日期等)写入还书文件中。
输入 读者还书信息。 处理
通过图书管理系统写入还书文件中。 输出
读者还书信息的全部内容。图书馆管理人员输入图书字段根据图书字段查找数据库借书信息和学生信息计算欠款结果还书成功借书文件当前日期系统时钟学生文件图书目录文件 欠款金额显示器罚款单图7输入读者还书信息表
(4)处理图书注销(如图8)
规格说明
注销图书的相关内容。 引言
为了注销图书的相关信息。 输入
图书信息的关键字(图书分类号或书名)。 处理
利用关键字在图书目录文件中找到此图书分类号或书名图书的相 关信息
输出
图书的注销信息。
图书馆管理人根据图书字输入注销图书字段员段,查找数据库修改操作操作验证非法操作图书目录文件输入修改信息系统时钟当前日期保存修改记录注销成功显示器图8 注销图书
(5)处理学生信息查询(如图9) 规格说明
读者登记,即读者的具体信息。 引言
为了把读者的具体信息(包括:读者编号,姓名,学院,专业,年级等)写入读者目录文件中。
输入 读者具体信息。 处理
通过图书管理系统写入读者目录文件中。 输出 读者具体信息。
图书馆管理确定查询类输入查找字段查找字段,关键字查找数据库人员型及字段查询结果显示器学生文件借书文件图9读者登记
(6)处理图书信息查询(图10)
规格说明
查询图书的相关内容。 引言
为了查找图书的相关信息。 输入
图书信息的关键字(图书分类号或书名)。 处理
利用关键字在图书目录文件中找到此图书分类号或书名图书的相关信息。 输出
图书的相关信息。图书馆管理人确定查询类型输入查询关键字查询字段及关键字查找数据库员及字段查询结果显示器借书文件图书目录文件图10 查询图书
4.非功能需求 4.1性能需求 1)精度需求
在精度需求上,根据使用需求,在各项数据的输入,输出及传输过程中,可以满足各种精度的需求。
2)时间需求
在软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。3)灵活性
当用户需求,如操作方式,运行环境,结果精度,数据结构与其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。
4)故障处理
内部故障处理:在开发阶段可以随即修改数据库里的相应内容。
外部故障:对编辑的程序进行重装载时,第一次装载认为错,修改。第二次运行,在需求调用时出错,有错误提示,重试。4.2 属性 1)保密性
本软件作为教学管理辅助设备,它的规模比较小,不需要保密技术,先顶一个程序中某些区域的规约,给不同的模块分配不同的功能。
2)可维护性
本软件的组成程序组构较为简单,直观意义上较独立。因此,给予电子化的所构成的硬件的简单可维护的特点,决定了该软件的简单。他与文件系统的 4.3 其他需求 1)数据库
数据库是实现有组织的,动态的存储大量关联数据,方便多用户访问的计算机软硬自愿组成的系统。他与文件系统的重要区别时数据的充分共享,交叉访问,与应用程序的高度独立性。
由于本软件的整体结构比较简单,所涉及的数据相对来说也比较少,组成文件的最小单位是记录。
2)操作
软件工程需求分析与质量保障 第3篇
通常情况下一个完整的软件开发链条中包括前期的需求分析与软件综合设计与中期的软件代码编写以及后期的软件测试以及维护过程。而其中最重要的就是前期进行良好的软件工程需求分析, 只有在深入、准确分析的基础之上才能有序、合理的进行接下来的步骤。当软件需求分析步骤发生任何问题或者失误时对接下来的步骤都会造成影响, 使得最终制作的软件产品不能符合客户的具体需求。所以在进行软件工程开发时应当对软件工程需求分析工作的重要性有正确认识, 确保工作的高质量。软件工程质量分析的主要作用就是对用户提出的具体要求进行客观、科学的理解, 最终将这种理解付诸于接下来的工作过程当中, 使编写出的程序功能、外观、性能等方面最大限度的符合客户预期, 同时对开发此项软件工程过程中可能面临的风险预计将会带来的收益进行正确的评估, 而后制定出操作性强的开发计划。从上述内容中可以发现, 客户需求在软件工程开发工作中占有十分重要的地位, 所以工程师以及客户经理等公司成员需要对客户需求进行技术处理, 得出正确的SRS文档、DRM文档等资料保证软件工程开发工作的进行。需要注意的是此时得出的文档对日后程序员等的具体工作会产生较大影响, 所以应当对文档内容有所保证。
2 如何保证软件工程质量
软件质量问题出现的部分是多种多样的, 但是因为软件需求分析工作进行的不完善而引发的软件质量问题在当今是十分常见的, 进行软件设计工作时最需要注意的就是软件工程需求分析工作的质量。
2.1 保证文档编码的完整性
在进行软件工程需求设计工作的过程中, 进行软件需求分析文档的编写是十分重要的。在进行软件需求编写的过程中, 需要用简洁明了的语言阐述客户对软件功能的预期。尽量避免过量专业术语的使用, 通俗的语言能让程序员更好的理解;避免模糊性词句的出现以防程序员对文档的理解出现任何偏差影响其编写的程序, 造成软件的计算方式变化;文档中使用的语句最好为实词, 形容词以及有一些描述性的词语在不同人人脑中存在的印象通常是不同的, 为了防止产生误差应尽量避免。比如说在进行结合数据库软件开发的过程中需要提出的要求应当为具体的存储量数据以及可能会产生波动的范围, 而不能说客户需要较大或者较小的存储量, 准确的说法会让程序员在工作过程中更有把握, 使其编写出来的程序质量更有保障。
2.2 保证需求分析的全面性
由于需求分析工作对整体的软件工程都会产生较大的影响, 所以在进行此阶段的工作时应当尽量让此项工程的参与人员加入进来, 使整体工作人员对客户的需求均能有第一手的了解, 避免复述这一过程中可能产生的任何错误。通常在软件公司中程序开发人员与程序测试人员在工作时是不会产生任何交集的, 这就决定了许多问题不能得到协商, 通过此项共同参与的协商过程能让开发人员与测试人员产生良好的交流, 更好的完成问题的发现以及问题的解决。
2.3 正确理解客户的具体需求
目前软件开发市场中通用的做法就是将许多软件模块进行重复的使用减小软件开发工作的工作量保证自身公司的利益, 这一方式在某种情况下是适用的, 能让软件开发工作的效率更高。但是许多公司在进行需求分析时对客户要求的理解产生了偏差, 在进行软件重复利用后不能有效满足客户的需求, 使得最终的产品质量出现问题。这种情况的出现会大幅度增加软件公司的开发成本。所以如何减少甚至杜绝对用户理解错误的现象是目前软件开发公司继续解决的重要问题。保证不同步骤间技术人员的有效交流是避免这一问题产生的最好办法, 对开发过程中可能出现的问题进行严密的监督或者事后进行相关检查而后进行及时改正同样可行。
2.4 依据具体要求协调文档内容
在遵循上述规则前提下编写出的相关文档内容应当都是十分严谨且合理的, 所以程序员在使用文档的过程中应当最大限度的遵循文档中具体规范, 用文档内容规范自身编写的代码保证代码编写的正确性。同时注意对文档中可能出现问题的部分向相关人员及时的反映, 而后做出改善。对其中存在的技术性问题进行攻克, 当问题过于严重时应当及时进行情况的上报, 而非敷衍了事, 造成最终对产品的质量产生严重的影响。在此同时还需要合理的利用已存在的软件功能模块, 减小工作量以及软件工程开发耗费的时间。除此之外, 软件设计完成后还要设置维护接口, 保证用户在软件使用过程中出现任何问题能进行有效的修复以及方便地进行日常维护工作。
综上所述, 社会经济的发展对互联网以及计算机技术的发展有十分重要的推动作用, 软件工程的具体开发也变得多种多样。这种情况下想要保证自身软件的质量就需要对客户需求进行深入的分析。根据客户需求完成软件的编写, 正确认识需求分析与软件质量之间的关系能让开发出的软件更符合要求, 质量更有保证, 对于提升软件公司的竞争力能起到十分重要的作用。
参考文献
[1]陆丽.需求分析在软件开发过程中的重要性[J].电脑知识与技术, 2012 (21) .
[2]张毅.浅析需求分析在软件工程中的作用[J].技术与市场, 2011 (8) .
[3]李超, 谢坤武.软件需求分析方法研究进展[J].湖北民族学院学报 (自然科学版) , 2013 (2) .
软件工程中的需求分析 第4篇
关键词:软件工程;CMM;需求管理;需求分析
中图分类号:TP311 文献标识码:A 文章编号:1674-7712 (2012) 18-0039-01
“软件工程”这个名词是1968年美国和西欧的一些科学家在NATO(北大西洋公约组织)会议上第一次提出的,是利用工程学的方法开发和维护计算机软件的一门学科。本篇论文粗浅分析的是软件工程中的需求分析。
软件开发由需求分析、概要设计、详细设计、编码、软件测试、项目维护和软件集成几部分内容组成。英文中有个全称为CapabilityMaturityModelforSoftware,缩写为SW-CMM,简称为CMM,用汉语表达出的意思就是——“能力成熟度模型”,也就是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。软件开发被CMM的核心视为一个过程,并根据这一核心原则对其进行过程监控与研究,目的是更加科学化、标准化,在监督过程中发现影响项目的关键问题并予以解决,使企业能够更好地实现商业目标。软件开发人员开发和维护软件及相关产品的一套行为、方法、实践及变换过程被定义为软件过程,它包括软件开发过程和软件管理过程。CMM把软件开发机构按照不同开发水平划分为5个级别,每个等级被分解为几个KPA(关键过程域),KPA是指在某个成熟度等级应重点关注的区域,也是达到此成熟度等级必须解决的关键点。在CMM中成熟度第二等级有6个关键过程域,主要涉及建立软件项目管理控制方面的内容。即:需求管理(RM)、软件项目计划(SPP)、软件项目跟踪与监控(SPTO)、软件子合同管理(SSM)、软件质量保证(SQA)、软件配置管理(SCM)。
软件项目管理中还有一个非常关键的步骤——需求管理。对于计算机系统的认识,很多用户有很多盲区,对于系统的具体需求往往也比较模糊,经常出现疏漏或者是错误的问题,随着项目的进展,凸现的会愈发明显。对于开发人员来说,软件产品的部分内容必须重新开发,这就意味着需求的变更。而对于整個软件项目管理而言,势必要重新分配资源、调整计划、估算成本等等。需求分析的完整与否可以控制软件质量、决定项目周期、增减项目成本。故而:需求管理工程越来越成为热点。
需求获取的正确性和有效性要求很高:角色的专业化、业务创新的复杂、交付速度等等。有时缺少特定需求的某些信息。在解决这个不确定性之前,可能必须与客户商议,检查与另一个系统的接口或者定义另一个需求。使用“待确定”符号作为标准指示器来强调软件需求规格说明中的这些需求的缺陷。
设计一个软件应用系统的起点与基本依据是需求分析。对用户来讲最重要的是有效性,高效性,灵活性,完整性,互操作性,可靠性,健壮性,可用性。对开发者来说最重要的是可维护性,可移植性,可重用性,可测试性。在属性取舍方面,用户和开发者必须确定属性优先级,做决策时始终遵照优先级,为了达到产品特性的最佳平衡,必须在需求获取阶段识别,确定相关的质量属性并为之确定优先级。当为项目定义重要属性时利用属性间正负关系图可防止发生与目标冲突的行为。通常一个软件项目合同的签订,体现的可能是整个系统的目标需求,面向用户的需求往往被忽略,对于这种情况一定要注意需求更改的可控性。任何一个需求分析因客观原因可能存在着需求更改的现象,要使受需求变化影响的产品与需求变更一致,就要建立需求的基准版本和更改版本,真正了解用户想要解决的实际问题,即使需求的变更比较频繁,也要注重需求的稳定性。直接影响到软件过程的改进因素离不开需求分析的完整性和变更可控性,它不仅可以决定软件的质量、开发成本的高低、甚至是导致项目成败的关键。
需求管理员是软件工程组(SEG)中要明确定义的一个角色。具体操作步骤有几点:
第一:多角度全方位的对项目进行分析并且对项目的可行性进行论证;
第二:对客户进行需求调研,整理客户需求,负责编写用户需求说明书;
第三:负责将完成的项目模块给客户做演示,并收集完成模块的意见;
第四:协助系统架构师、系统分析师对需求进行理解。
有了上述铺垫,毋庸置疑的一个角色也要出场了,那就是——需求工程师。再好的软件如果没有做好需求分析也将失去市场意义,失去生存活力。需求工程师是沟通用户与开发人员的桥梁,做好需求分析是一个产品是否能够适应用户要求的关键所在。需求工程师们在了解用户又了解技术的基础上掌控项目发展的风向标。
计算机软件工程中的需求分析要解决的任务是"做什么"的问题,全面地理解用户和开发人员的各项要求,准确表达所接受的需求。之所以重要,是因为它具有决策性、方向性、策略性的作用,从某种程度上说,它的作用可能并不小于程序设计,而且是提高软件质量的基础,也是决定一个软件项目成败的关键。
参考文献:
[1]孙琦龙.一种加强软件项目管理的实践模式[J].科技信息,2008.
[作者简介]王一帆,大连交通大学09级日语和软件工程二班。
需求分析下软件工程论文 第5篇
1软件工程需求分析的问题
软件工程需求分析最大的问题是开发方和使用方对于软件工程需求分析的轻视,在开发过程中存在着一定的盲目性、急功近利性,致使软件的开发难以满足用户应用需求,甚至一些软件开发到了后期,用户才提出新的需求要求,导致软件工程质量难以保证,工期被迫延长,可见软件工程需求分析的重要性;在软件工程需求分析方案的制定中缺少用户的参与,对于需求分析的收集、编写、管理等环节也多为系统分析员、软件工程师一手包揽,致使软件工程的需求分析存在了一定的空想性、不切实际性,使开发方开发的软件产品缺乏实际应用价值,难以满足用户需求;开发人员与用户在开发之初对于系统需求分析的重要性认识不清,双方的交流、沟通容易发生误解,致使其对软件系统用来“做什么”理解不准确,致使软件开发中问题很多,变更频出,影响了软件开发的效益;软件工程需求分析对于客户需求论述的不完整、不准确,且开发过程中用户需求不断变更,致使软件工程分析方案的制定存在一定的难点和问题。因此,在实际操作中,可以将两者灵活运用,结合起来,即确保了需求调查的准确性,又提高了需求调查的效率。此外,还可以采用回忆座谈、表格调查等方式,以提高用户需求调查的准确性,确保为用户需求分析提供有效的、全面的、准确的分析资料。再次,注重系统后期的需求分析方案的完善,协助用户明确系统要求,对系统的应用环境、信息处理特点等,与用户进行全面的、完整的沟通,以确保软件工程需求分析的最大准确性、科学性,确保软件系统开发者的效益。
2软件工程需求分析方案的制定
软件工程中软件需求分析的论文 第6篇
关键词:面向对象;软件工程;软件需求分析
1软件工程
随着电子信息化的迅猛发展,软件工程涉及程序程序、语言、数据库、开发工具、设计模式等各方面的内容,主要是用来进行软件研究及软件分析的一门学科,软件工程师是专门进行软件开发的执行者,也可以根据所负责工作的不同划分为系统分析员、软件设计师、系统架构师及程序员等等。随着信息技术的不断升级,软件工程需要不断研究出新的产品、质量高的产,更能满足人们日常生活所需的软件产品。在这里明确指出的是,软件产品是指运用逻辑思维,将逻辑思维的结构与人们所期望的产品进行结合而研制出来的,是逻辑上存在的产品,并不是某一可以实实在在看到的物件。软件产品在使用过程中会面临许多逻辑上的错误,而且其更新换代非常快,存在很大的过时问题,其必然是需要根据时代的需求,人们的需求进行软件产品的不断更新,增加新的功能。同时,软件功能的实现是依靠用户的使用和软件的运行状态,具有一定的复杂性。
2软件需求分析具体过程
软件人才需求分析报告 第7篇
软件人才需求分析
收集人力资源市场的软件人才需求信息;(互联网、招聘会)
分析企业对软件人才外语应用能力的需求情况
2010年我国软件人才需求将达到250万而外语能力对个人的薪资水平有相当大的影响
从正在此间举行的广州信息产业周上了解到,软件外包企业对人才需求空间较大,尤其需要“适用型”人才。
据了解,软件外包行业需求的人才中,80以上来自社会招聘(其中包含职业技术培训学校学员),这部分人才的特点是动手能力较强,但40以上属于中低端人才;只有15左右来自高校,这部分人才虽然没有实际操作经验,但企业选择他们,看中的是他们未来的潜力。
有关资料显示,2006年,软件产业人才需求90万,预计到2010年,软件人才需求将达到250万。
在“海外前端”方面,企业急需精通需求分析、项目管理、现场实施的人才,要求精通外语,熟悉西方文化,具有专业技能,能够准确地捕捉到海外用户的需求;
在“接口环节”方面,企业急需分析设计、项目管理、人员协调等相关人才,要求精通外语、熟悉西方文化,具有专业技能和海外签证,能在海外前端和后端开发之间做好协调工作;
在“后端开发”方面,企业急需项目管理、代理开发、测试交付、文档编写等人才,要求精通外语和专业开发,具有质量意识。
外语技能成为软件从业人员水平提高的一大障碍
这几年,印度软件行业发展突飞猛进,国内很多专家学者对印度的软件工业进行了考察,深入分析了印度软件行业发展的状况,在印度软件产业的发展动因方面达成了共识。除了政府扶持、合理的人才结构培养体系之外,还有一个很重要的原因是,英语是印度的官方语言,印度的年轻人对英语的熟练程度相当高。因此印度培养的众多软件精英在实际工作过程中不用为设计软件时的语言障碍发愁,使用母语生产工作的印度软件企业的产品也相对更容易进入欧美市场。
英语作为目前编程工具软件的主流语言,既是程序编写的主要工作语言,又是互联网上占主导地位的语言,对于软件工程师的技能和业务水平的提高至关重要。
软件工程师需要在第一时间学习业界最流行、最先进的编程工具软件的使用方法。通常,在一种软件刚刚面世的时候,软件工程师是不可能找到这种软件的中文使用说明或中文帮助文档的。优秀的软件人才从不会为这样的问题烦恼,因为他们早已经在软件工程专业英语方 1
面达到了娴熟运用的水平,浏览英文的文档、英文的帮助文件,在第一时间掌握最先进、效率最高的软件工具的使用方法是他们在业界立足的根本。相反,在我国软件从业人员中,普遍存在语言障碍。
日语人才需求递增学习热情高涨
“近阶段公司的日语人才订单不断,有时一个月职位数就达60个,每个职位还不限人数。公司为此专门成立了高级日语人才专项服务团队,只要有一定日语基础的都成批往企业送,懂日语的IT软件人才更是吃香。”专业从事猎头的钧瑶管理顾问公司总经理王安然告诉记者。日语人才在市场“吃得开”职场人都知道,但火爆到惊动猎头来大批量揽才,还是令人有些吃惊。如今的日语人才需求如何?哪些人才最为吃香呢?
日语人才需求递增
近年来,国内半导体、液晶、通讯、计算机等信息高科技产业蓬勃发展,众多欧美、日本、韩国以及台湾地区的高科技企业移师以上海为核心的长江三角洲。
目前,上海有日资企业3500多家,其中包括索尼、三菱、华虹NEC、夏普电器、上海住友商事等著名企业;周边的江苏和浙江省也各有日企1000余家和500多家。日本中小企业金融公库去年12月1日发表的调查结果表明,57%的在华投资日本企业计划增加在中国的设备投资,扩大生产规模。
日本在华企业的良好发展促使日语人才需求持续增长。从用人单位反馈的情况来看,无论什么行业、哪类职位,对人才的要求都是日语第一,技术/工作背景第二。因此,对希望到日资企业谋求发展的个人来说,拥有一张日语等级证书,无疑是实现职业理想的“敲门砖”,是进入日企的“通行证”。
日语软件人才是需求主力
专业人士告诉记者,日语人才的需求,主要集中在“日语+IT技术”的复合型人才上;特别是“对日软件外包项目”需要一定数量的有日语特长的技术人员。
王安然告诉记者,我国已成为日本在海外最大的软件外包制造基地。日资企业在东南沿海城市,诸如大连、烟台、青岛、苏州、无锡等都有分布,上海更多,而且今后在中国的发展速度及规模将不断增加。目前,中国对日本软件出口正以高于50%的速度增长。一个有趣的现象是,除了日资企业,一些在中国的欧美企业,如通用公司(GE)、戴尔集团、IBM、毕博全球开发中心等,都纷纷把原来涉及日本的软件外包、流程外包等业务拿到中国大陆来做,由于目标客户是日本市场,故而这些公司对通晓日语的计算机人才也有大量需求。
从市场情况来看,对日语人才的需求主要有下面两类:
第一类:软件外包业务开发人才
人才需求:国内软件企业对软件外包市场的开拓日渐深入,上海作为南方的软件外包业基地,对擅长软件开发和测试的人才需求量十分庞大。据了解,软件制作的过程中,每一个环节都需要与客户沟通,了解客户的具体要求,以保证制作出的产品能满足客户的要求,因而只懂技术不懂日语的工程师往往难以胜任工作。而目前国内从事该项业务的人才大多不会日语,因此掌握日语,熟悉计算机应用、编程、软件研发和测试的人才就成了外包企业的稀缺资源。此外,懂日语的员工由于可以跟日方进行沟通交流,也比较容易进入管理层。一般拥有日语初级或二级以上证书,计算机、通讯等专业毕业的技术人员,是市场上抢手的人才,懂日语和不懂日语的员工在工资上会有相当大的差距。
薪酬给付:这类人才月薪一般为5000-8000元。工作2-3年,能得到被公司外派去日本工作的机会,此时能拿到30-60万日元月薪。在日本工作3年后,薪酬还能翻倍。
第二类:项目管理人才
人才需求:IT企业需求的项目管理人才一般分为三类:能研发产品、能提供解决方案、软件外包业务项目管理者。而又以第三类人才为主。经验丰富的项目管理人才在任何领域都很吃香,日语口语流利的项目管理人才就更是猎头公司对日人才业务中的重点“猎物”了。某日资企业招聘项目管理人才的要求是:日语2级以上或同等水平,3年以上相关工作经验,在实际工作中频繁和熟练使用专业日语,精通NT/Unix/Linux、Oracle/SQL-Serv?鄄er、C/C++/Java中的几种,有日资企业软件项目组织实施和开发管理经验者优先,有日本工作经验或者日语特别熟练者可适当放宽条件。
薪酬给付:工作5年以上的资深项目经理,在国内能拿到10万元以上年薪,大公司的项目经理年薪达到20万元以上。
第三类:职位同具吸引力
除了IT软件技术方面的日语人才外,其他职位对日语人才的需求也日益庞大。这里简要罗列需求较为突出的几类职位:
1、日语翻译:翻译职位一般是指专业从事对日软件开发翻译工作,要求日语专业大专以上学历,日语一级或日语口译证书。如能达到听说读写流利的程度,日语二级证书也可。有IT类翻译经验者优先。由于人才供不应求,企业也愿意招聘兼职日语翻译,有些兼职翻译的月薪能达到3000元。
2、日语客户经理:很多日资企业采用“生产在国内,销售在日本”的模式,因此对高级客户经理有需求。客户经理首先需要精通日语,能直接和日本客户沟通交流,进行销售服务,最好还要有行业工作背景。日资企业很欢迎日语专业的应届毕业生应聘,一般会为他们提供物流专员、客户服务专员等职位。
3、日语采购人才:制造型的日资公司大多到日本当地采购原料,熟悉半导体、电子元器件、化工材料等采购工作且日语流利的人才也相当抢手。
日语热门证书介绍:
1、日语口译岗位资格证书。试题难度较高,考生一般需具备日语一级水平。获得日语口译资格证书者,可从事生活翻译、陪同翻译、涉外导游、外事接待、商务洽谈等工作。该证书笔试时间为每年的3月和9月;笔试合格者再参加口试,口试时间另行通告。
2、日语等级考试。考试分四个级别。一级难度最高,相当于大学本科专业日语3-4级水平。报名与考试时间为每年12月的第一个星期一,报名时间为9月,实行网上报名。对参加一级考的考生来说,需掌握1万句左右的词汇量。
外语能力是关键
IT人求得发展,就像攀登冰峰,向上爬行,步履艰难,每爬一步,都要观望、试探、打眼、攀登。一不小心,就迅速下滑。必须通过不断的充电,使自己的硬件和软件都不断升级、不断提升到新的平台。这样才能一路绿灯,否则,缺少学习,自身软件也不可避免地出现各种的漏洞,称之为“bug”。如果软件中的“bug”太多,就会导致职业电脑频繁“死机”。当职业黄灯亮起的时候,红灯就会接撞而来。经常扫描自己的“bug”,用充电的方法弥补“bug”,才会使自己的软件工作正常,职业生涯运行不失控,最后,攀上冰山的某一山峰。
趋势分析:IT制造业向服务靠拢“语言”成为入行门槛
攻克语言堡垒
语言能力是目前大多数IT人的阻碍,很多技术高手,技术方面非常出色,就是语言不能过关,成为前进的阻力、发展的障碍。过去大多数企业在招聘技术人才的时候,都会把技术背景作为唯一重要的条件,而现在需要看重的就是应聘者的沟通能力、外语能力。很多IT企业对求职者都提出了较高的要求,除了具备相应的计算机技能及相关知识外,还要求从业者具备一定的外语能力。特别外企,由于公司总部多在国外,需要向国外总部汇报工作,与国外同事联系业务时,语言沟通显然被放在了第一重要位置,语言能力成为综合素质中的一个重要指标,导致很多候选人为此落马,与外企失之交臂。所以,对于希望进入外企、外包软公司、出国就业的IT人必须攻克这个堡垒。
关于软件工程系统需求的分析探讨 第8篇
一、软件工程系统需求分析
需求分析包括提炼、分析和仔细审查已收集到的需求, 以确保所有的风险承担者都明白其含义并找出其中的错误、遗漏或其它不足的地方。分析员通过评价来确定是否所有的需求和软件需求规格说明都达到了优秀需求说明的要求。分析的目的在于开发出高质量的需求, 这样就能做出实用的项目估算并可以进行设计、构造和测试。通常, 把需求中的一部分用多种形式来描述, 如同时用文本和图形来描述。分析这些不同的视图将揭示出一些更深的问题, 这是单一视图无法提供的。分析还包括与客户的交流以澄清某些混淆, 并明确哪些需求是更为重要的。其目的是确保所有风险承担者尽早地对项目达成共识并对将来的产品有个相同而清晰的认识。
二、软件开发工程中需求分析的重要性
作为一个整体工程, 软件生命周期的各个时期和阶段是无法区分重要性的大小。在这里, 针对上述一些错误观念, 只想阐述一下软件开发工程中需求分析的重要性。软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。通过对应问题及其环境的理解与分析, 为问题涉及的信息、功能及系统行为建立模型, 将用户需求精确化、完全化, 最终形成需求规格说明, 这一系列的活动即构成软件开发生命周期的需求分析阶段。其在整个软件开发过程中的重要性主要表现在以下3点:
1. 需求分析是获得用户需求的有效途径
开发软件是为用户服务的。为了开发出真正满足用户需求的软件产品.首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件, 不论软件开发工作者把设计和编码工作做得如何出色.不能真正满足用户需求的程序只能是偏离软件开发的正确方向, 只会使用户失望, 给开发者带来烦恼。
2. 需求分析是决定项目成功的关键因素
需求分析是一个项目的开端, 也是项目建设的基石。在以往的建设失败的项目中80%的是由于需求分析的不明确而造成的。因此一个项目成功的关键因素之一, 就是对需求分析的把握程度, 项目的整体风险具体就表现在需求分析不明确、业务流程不合理上, 用户不习惯或者不愿意去用承建方的软件, 或者很难去用, 从而造成了项目失败。
3. 需求分析是系统分析和软件设计的桥梁
需求分析过程是确定顾客需求的过程。而一个项目的软件工程师与他们的顾客往往使用不同的词汇:顾客知道自己的需要, 却不懂得如何用计算机技术实现;而软件设计人员和程序员往往缺乏理解实际事物的运行过程和商业过程的技巧。那么使用通过专门训练的专业的作业或系统分析员, 就填补了商业和电脑世界之间的鸿沟。他们从持有关键信息的用户获得可用的信息, 并把这些用户信息转化为清晰的和完整的形式。这些能被软件工程师理解的形式就是他们进行下一阶段系统设计的依据。
三、需求处理效率分析
影响需求分析的因素有很多, 比如客户不清楚需求;需求自身经常变动;分析人员或客户理解有误等等。MIS的系统需求处理效率, 直接关系到开发人员能否在规定时间内完成开发任务, 新的需求产生, 需求人员及时有效的分析新需求, 编写一份清晰、准确的需求文档, 避免留下模糊不清的需求, 否则, 就只好靠开发人员去猜测这些模糊不清的需求, 而往往开发出来的功能不符合业务需求, 这样既耽误时间, 又增加开发人员与业务人员之前的误导, 互相埋怨。同时其很大程度上影响信息部门的部门形象及与业务单位的互动关系, 从以下两个方面来探讨下需求处理效率:
首先是业务分析。业务分析的效率首先取决于对业务流程的理解能力, 所以应跟业务人员多沟通, 更好地了解客户的业务, 才能使产品更好地满足需要, 这将有助于开发人员设计出真正满足客户需求并达到期望的优秀软件。优秀的需求人员可以提出比业务单位更好的需求, 或者主动发掘需求。有时效率还取决于需求人员与业务人员的亲合度与信任度, 需求单上做的是台面文章, 背后可能隐藏着重要的讯息, 能否挖掘出这些潜在资讯, 并与显性资讯有效整合, 很可能影响我们是否做了正确的事情。通常客户所说的“需求”已经是一种实际可行的实施方案, 分析人员应尽力从这些解决方法中了解真正的业务需求, 同时还应找出已有系统与当前业务不符之处, 以确保产品不会无效或低效;在彻底弄清业务领域内的事情后, 分析人员就能提出相当好的改进方法, 有经验且有创造力的分析人员还能提出增加一些用户没有发现的很有价值的系统特性。
其次是系统分析。取决于对系统架构与逻辑的整体了解程度;特别突出“整体”二字, 是因为“头痛医头, 脚痛医脚”的做法, 是用短期的高效率换长期的负效率的笨方法。而往往现在的后期维护MIS都是采用这样的方法, 哪个功能出现问题, 临时修改功能, 只是保证此处功能在MIS平台正常运作, 而忽略了平台中相关功能之前的关联性, 往往会出现这样的问题, 一个功能中的问题解决了, 而在其他功能中出现类似的问题, 或是因为修改此功能导致其他功能不可用的情况。
参考文献
[1] (美) 凯西施瓦尔贝:IT项目管理.北京:机械工业出版社, 2002卑.[1] (美) 凯西施瓦尔贝:IT项目管理.北京:机械工业出版社, 2002卑.
浅谈软件工程之软件需求分析 第9篇
【关键词】软件工程 软件需求 需求工程 需求开发 需求管理
【中图分类号】TP311.5【文献标识码】A 【文章编号】2095-3089(2015)06-0181-02
软件工程师所需解决的问题往往十分复杂,了解问题的性质可能是非常困难的,尤其当系统是全新的时候。
1.综述
软件工程中包含需求、设计、编码和测试四个阶段,其中需求工程是软件工程第一个也是很重要的一个阶段,这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。本文以企业人事信息管理系统为例详细介绍了需求工程的构成和进行方法。
2.需求的标准
定義需求标准有所不同,但在思想上是相同的,都是为了保证项目的顺利进行。一般的标准为:明确(Clear)、完整(Complete)、一致(Consistent)、可测试(Testable),还有可跟踪、可修改等等。
明确:目前大多数的需求分析采用的仍然是自然语言,自然语言对需求分析最大的弊病就是它的二义性。所以对需求分析中采用的语言应该做某些限制尽量采用主语+动作的简单表达方式。还有,不要使用计算机术语。需求分析最重要的是和用户沟通,可是用户多半不是计算机的专业人士,如果在需求分析中使用了行话,就会造成用户理解上的困难。
完整:需求的完整性是非常非常重要的,要做到需求的完整性是很艰难的一件事情,它涉及到需求分析过程的各方各面,贯穿了整个过程,从最初的计划制定到最后的需求评审。
一致:用户需求必须和业务需求一致,功能需求必须和用户需求一致。严格的遵守不同层次间的一致性关系,就可以保证最后开发出来的软件系统不会偏离最初的实现目标。
可测试:需求的几项标准都是为了保证需求的可测试性,只有系统的所有需求是可以被测试的,才能够保证软件始终围绕着用户的需要,保证软件系统是成功的。
需求工程分为了需求开发和需求管理两个阶段:下面就以这两个阶段说明:
3.需求开发
需求开发又分为需求获取、需求分析、编写规格说明书和需求验证。以下列出和讲解分析常规的步骤,当然应按照项目的大小和特点等实际情况我们应该自己确定合适的步骤。
3.1需求获取:
这是该阶段的一个最重要的任务。以下为获取用户需求需要执行的活动。
了解客户方的所有用户类型以及潜在的类型。然后,根据他们的要求来确定系统的整体目标和系统的工作范围。
对用户进行访谈和调研。交流的方式可以是会议、电话、电子邮件、小组讨论、模拟演示等不同形式。需要注意的是,每一次交流一定要有记录,对于交流的结果还可以进行分类,便于后续的分析活动。例如,可以将需求细分为功能需求、非功能需求(如响应时间、平均无故障工作时间、自动恢复时间等)、环境限制、设计约束等类型。
需求分析人员对收集到的用户需求做进一步的分析和整理。
需求分析人员将调研的用户需求以适当的方式呈交给用户方和开发方的相关人员。大家共同确认需求分析人员所提交的结果是否真实地反映了用户的意图。
3.2需求分析
需求分析是软件定义时期中很重要的一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。在很多情形下,分析用户需求是与获取用户需求并行的,主要通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的渠道。这些模型是对需求的抽象,以可视化的方式提供一个易于沟通的桥梁。用户需求的分析与获取用户需求有着相似的步骤,区别在于分析用户需求时使用模型来描述,以获取用户更明确的需求。
用于需求建模的方法有很多种,最常用的包括数据流图(DFD)、实体关系图(ERD)和用例图(Use Case)三种方式。DFD作为结构化系统分析与设计的主要方法,已经得到了广泛的应用,DFD尤其适用于MIS系统的表述。DFD使用四种基本元素来描述系统的行为,过程、实体、数据流和数据存储。DFD方法直观易懂,使用者可以方便地得到系统的逻辑模型和物理模型,但是从DFD图中无法判断活动的时序关系。
ERD方法用于描述系统实体间的对应关系,需求分析阶段使用ERD描述系统中实体的逻辑关系,在设计阶段则使用ERD描述物理表之间的关系。需求分析阶段使用ERD来描述现实世界中的对象。ERD只关注系统中数据间的关系,而缺乏对系统功能的描述。如果将ERD与DFD两种方法相结合,则可以更准确地描述系统的需求。
3.3编写规格说明书
项目视图和范围文档包含了业务需求,而使用实例文档则包含了用户需求。你必须编写从使用实例派生出的功能需求文档,还要编写产品的非功能需求文档,包括质量属性和外部接口需求。软件需求规格说明阐述一个软件系统必须提供的功能和性能以及它所要考虑的限制条件,它不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础。它应该尽可能完整地描述系统预期的外部行为和用户可视化行为。
采用软件需求规格说明模版:采用需求规格说明书模板在你的组织中要为编写软件需求文档定义一种标准模板。该模板为记录功能需求和各种其它与需求相关的重要信息提供了统一的结构。注意,其目的并非是创建一种全新的模板,而是采用一种已有的且可满足项目需要并适合项目特点的模板。
3.4需求验证
需求分析阶段的工作结果是开发软件系统的重要基础,大量统计数字表明,软件系统中15%的错误起源于错误的需求。为了提高软件质量,确保软件开发成功,降低软件开发成本,一旦对目标系统提出一组要求之后,必须严格验证这些需求的正确性。一般说来,要按以下步骤进行需求验证:
1)审查需求文档;2)依据需求编写测试用例;3)编写用户手册;4)确定合格的标准。
4.需求管理
需求开发的结果应该有项目视图和范围文档、使用实例文档、软件需求规格说明及相关分析模型。经评审批准,这些文档就定义了开发工作的需求基线。这个基线在客户和开发人员之间就构筑了计划产品功能需求和非功能需求的一个约定。需求约定是需求开发和需求管理之间的桥梁,需求管理包括在工程进展过程中维持需求约定集成性和精确性的所有活动。
5.企业人事管理系统
5.1企业人事管理系统概述
企业人事管理系统是针对企业人事方面的大量业务处理工作而开发的管理软件。根据用户的要求,实现人员基本情况管理、工资管理、和考勤管理等几个方面的功能。用户通过输入工资、考勤、职工履历等基本信息,由系统自行生成相应的统计数据及各类统计报表以供用户查询、打印。
5.2系统功能分析
系统开发的总体任务是实现企业人事信息关系的系统化、规范化和自动化。
系统功能分析是在系统开发的总体任务的基础上完成的。经过按照以上分析过程进行分析,分析出企业人事信息管理需要完成功能。
6.总结
以上详细介绍了软件需求分析过程。软件工程中包含需求、设计、编码和测试四个阶段,其中需求工程是软件工程第一个也是很重要的一个阶段,要想做好一个项目,必须先做好需求分析,需求工程分为了需求开发和需求管理两个阶段:需求开发又分为需求获取、需求分析、编写规格说明书和需求验证。需求管理就是对需求变更控制的过程。通过介绍企业人事信息管理系统的需求分析阶段,更好地说明了需求分析过程。
参考文献: