软件工程简例需求分析.docx
《软件工程简例需求分析.docx》由会员分享,可在线阅读,更多相关《软件工程简例需求分析.docx(9页珍藏版)》请在冰豆网上搜索。
软件工程简例需求分析
1引言2
1.1编写目的2
1.2背景2
1.3定义2
1.4参考资料2
2任务概述2
2.1目标2
2.2用户的特点3
2.3假定和约束3
3需求规定3
3.1对功能的规定3
3.2对性能的规定3
3.2.1精度3
3.2.2时间特性要求3
3.2.3灵活性4
3.3输人输出要求4
3.4数据管理能力要求4
3.5故障处理要求4
3.6其他专门要求5
4运行环境规定5
4.1设备5
4.2支持软件5
4.3接口5
4.4控制5
软件需求说明书的编写提示
1引言
1.1编写目的
随着计算机的发展,许多数学方面的实际问题越来越多的要借助于计算机来解决,特别是在数据的处理、计算方面。
面对一定规模的多元一次方程组,我们根本不堪这种繁重的计算劳动,基于此,我们设计开发了能够处理此类问题的Gauss-seidel迭代和SOR方法的软件。
为方便用户使用该软件,熟悉软件功能,编写该文档,同时以该文档指导软件项目的开发。
本文档中详细地介绍了该软件各个部分的性能,为包括笔者在内的软件开发人员以后更容易的理解代码,修改和扩充软件功能做准备。
同时通过开发该软件,使软件开发实习人员熟悉并掌握面向对象软件工程和UML的原则及具体过程,并培养队员的团对合作精神。
1.2项目背景
作为软件实训的作业,有老师给出题目,然后由本开发小组负责整个软件工程,最后经过一系列测试后,交付。
故必须首先设定假象用户,可以考虑为是想利用该迭代算法的任何人。
编写软件不能仅仅是一个小小的程序,要保证它能在网络上发布,并能够被有效下载。
系统名称:
GUASS-SEIDLE迭代(含SOR迭代)。
开发单位主管部门:
河南科技大学理学院信计062班。
软件系统的大致功能:
通过GUASS-SEIDLE迭代求线性方程组的解和SOR迭代的实现。
使用本产品,您无需再在草纸上算诸如:
Ax=b此类线性方程组,您可直接输入方程组的系数矩阵A和b,本软件系统将会瞬间给出该线性方程组的解,大大节省了您在计算过程中耗费的时间。
1.3定义与缩写
定义本文档涉及的专门术语、容易引起歧义的概念、关键词缩写及其他需要解释的内容如下:
UML:
UnifiedModelingLanguage,统一建模语言。
Jacobi迭代:
雅可比迭代。
Gauss_seidel迭代:
高斯塞德尔迭代。
SOR:
逐次超松弛迭代。
可修改性:
容许对系统进行修改而不增加原系统的复杂性。
有效性:
软件系统能有效地利用计算机的时间资源与空间资源的能力。
可靠性:
能够防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。
可理解性:
系统具有清晰的结构,能直接反映用户的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植与可用。
可维护性:
软件产品交付用户使用以后,能够对它进行修改,以便改正潜伏的错误,改进性能和其他属性,使软件产品适应环境的变化。
可重用性:
概念或功能相互独立的一个或一组相关模块定义为一个软部件。
软部件可以在多种场合应用的程度称为部件的可重用性。
可适应性:
软件在不同的系统约束条件下,使用户需求得到满足的难易程度。
可移植性:
软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。
可追踪性:
根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力。
可互操作性:
多个软件元素相互通信并协同完成任务的能力。
1.4引用的参考资料及网络链接
1.4.1:
软件工程(英)IanSommerville著程成陈霞等译机械工业出版社(中信出版社)
VisualBasic编程从基础到实践沈炜杨世锡主编电子工业出版社
VB教程、国标软件需求说明书,此由老师提供。
2、任务概述
2.1目标
我们的目标是设计一个这样的软件:
在用户选择迭代算法之后,能够对用户输入的方程组(限定系数矩阵为方阵)进行处理。
首先由软件对迭代解进行收敛性判断,若解不收敛则输出“无法用该迭代法对方程求迭代解“,如果收敛则进入下一步,即利用已知的计算公式,带入已知条件(系数矩阵、约束条件),进行多次迭代,迭代终止由所给的判断条件执行,最后输出解。
若用户要求输出每次迭代的解,则软件应响应此要求。
用户也可利用SOR迭代法进行求解,其主要优点是收敛速度比GAUSS-SEIDEL迭代快了很多。
2.2用户特征
该软件主要是为那些想利用迭代算法求解小规模的方程组的用户设计。
对于用户,只需要一定的计算机知识,即可利用该软件帮助其求解已知方程。
也可提供用户操作手册以帮助其掌握该软件的更多功能。
2.3假定和约束
本软件的开发,在保证软件的按时上交的前提下,也要尽可能的满足用户全部需求,当然也要发掘出那些隐藏的用户需求,以方便用户更快捷、方便的利用本软件,并予以实现。
1.运用面向对象软件工程及UML的知识进行软件开发;
2.严格按照软件工程的指导原则,小组成员互相配合,精心做好每一步;
3.要求实现预定的绝大部分功能;
4.界面尽可能美观;
5.在3月8日前完工。
假定所有用户都熟悉基本的Windows操作,且用户的待求解方程组规模不是太大,精度要求也不是太高。
3需求规定
3.1对功能的规定
3.1.2对功能的规定
阶段
用户输入或执行操作
处理
输出
备注
第一步
用户通过登陆或注册方式进入软件欢迎界面。
软件执行命令
弹出窗口:
“请用户选择迭代方法”。
用户登录成功后即可进入软件的主界面,如果用户是首次进入该软件,必须先注册用户才能进一步进入软件的主界面。
第二步
选择迭代方法:
Gauss_seidel迭代或SOR迭代的界面,用户确认或返回。
软件运行,进入所选界面
Gauss_seidel迭代界面
软件支持的终端数为1台;支持的用户数为一台;0SOR迭代的界面
第三步
Gauss_seidel迭代的输入框:
方程的个数n,n阶方阵A,n行1列矩阵b,精度
。
软件读取数据并进行迭代运算
Gauss_seidel迭代的输出框:
若迭代次数超过软件默认的迭代次数上限K,弹出提示对话框,转入第四步;否则直接将第k次迭代及其所得迭代结果输出,入第五步。
对于用户操作的每一步及输出信息,系统提示信息:
=1是Gauss_seidel迭代有提示说明。
软件默认的精度
的值为0.000001,用户也可自行设置其值。
SOR迭代的输入框:
n阶方阵A,n行1列矩阵b,松弛因子
,精度
。
SOR迭代的输出框:
同上!
(附带
的值)
第四步
Gauss_seidel迭代:
用户可选择确定退回到初始界面;或“帮助”。
软件执行命令
返回第一步即成功登陆后的界面或“帮助“界面
在SOR迭代中可加入“重新输入值“一项进行迭代。
SOR迭代:
同上
同上!
第五步
Gauss_seidel迭代:
进行解的验证
软件将所得结果代入原方程组中求得矩阵B',与原来的矩阵B比较
当|B'-B|小于某值,则输出正确信息,用户确定后退回到初始界面;否则输出错误信息,用户确定后退回到初始界面
SOR迭代:
同上!
同上!
第六步
退出软件
关闭
3.2性能要求
3.2.1精度
a.方阵A的阶数n为整形取值范围是:
n>0&n<400。
b.方阵A及矩阵b的元素类型为双精度浮点型。
c.为双精度浮点型。
d.精度
为双精度浮点型,若用户对无要求则软件的默认精度为0.000001。
e.迭代次数k为整形。
f.A*x=b数值解的输出x为双精度浮点型。
3.2.2时间特性要求
对于该软件的时间特性要求:
a.响应时间;
b.更新处理时间;
c.数据的转换和传送时间;
d.解题时间;
3.2.3灵活性
说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:
a. 操作方式上的变化;
b. 运行环境的变化;
c. 同其他软件的接口的变化;
d. 精度和有效时限的变化;
e. 计划的变化或改进。
对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。
3.3输人输出要求
方程个数n:
输入n值,继而软件会生成一个输入框,输入矩阵A,b。
n为整型,且范围为1~400;
矩阵A:
n元一次方程组的系数矩阵;
矩阵b:
常数项矩阵;
:
松弛因子;
K:
迭代上限,为常量。
k:
迭代次数变量;
x:
由迭代得到的A*x=b数值解。
3.4故障处理要求
对于一些不满足软件处理功能的信息与数字,做出及时的界面提醒,以便用户检查是否输入错误,否则用户的问题不能用该软件解决。
软件运行切忌进入死循环,要求能够从错误中快速返回或退出,用户应能得到帮助信息。
3.5用户要求
1.用户了解使用该软件的基本步骤;
2用户了解该软件的相关功能。
3.掌握基本的计算机操作技术即可,并按照软件运行过程中的指示就能完成求解。
4运行环境规定
4.1设备
列出运行该软件所需要的硬设备。
说明其中的新型设备及其专门功能,包括:
a. 处理器型号及内存容量;
b. 外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;
c. 输入及输出设备的型号和数量,联机或脱机;
d. 数据通信设备的型号和数量;
e. 功能键及其他专用硬件
4.2支持软件
列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
WindowsXP,VisualBasic,MicrosoftAccess,
4.3接口
说明该软件同其他软件之间的接口、数据通信协议等。
4.4控制
说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。