博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
让你提前认识软件开发(50):软件需求
阅读量:4648 次
发布时间:2019-06-09

本文共 1539 字,大约阅读时间需要 5 分钟。

第3部分 软件研发工作总结

软件需求

 

        软件project师的工作职责是什么?一句话,就是完毕软件需求。大家每天都接触到的软件,都是从软件需求一步步进化而来的。那么,软件需求是什么?怎样完毕需求?在完毕需求的过程中我们要注意哪些问题呢?本文将为你解答这些问题。

1. 什么是软件需求?

        通俗地讲,软件需求是指要求软件开发project师完毕的软件的功能。

比如。假设要求一个软件具备文件处理的能力,要求一个WEB页面具备显示客户信息的能力。要求一款手机具备指纹识别的能力,等等,这些要求都是软件需求。

        用较为专业一点的术语来说。需求指被描写叙述对象(也就是软件)“做什么”(功能需求)及“做什么”时的水平(非功能需求。如性能需求、质量属性需求、外部环境需求等)

        需求与开发的关系如图1所看到的:

1 需求与开发的关系

 

2. 软件需求演示样例

        假设要求做一个软件来实现文件处理功能,则一个较为完整的软件需求例如以下所看到的:

需求背景:客户要求软件具备文件处理能力,以获取文件里的信息。

需求描写叙述:该软件处理本地文件里的信息。并将读取到的信息保存到数据库中。

运行者:本软件

优先级:高

使用频度:软件运行时运行

前置条件:数据库和操作系统正常运行

后置条件:无。

正常过程:

Step 1:该软件周期性地扫描本地指定的文件文件夹,以发现按要求命名的文件;

Step 2:扫描到文件之后,程序对读取到的内容进行解析,并将解析后的内容写入到指定的数据库中。

可选过程:无。

异常过程:假设本地文件夹里面没有文件。则程序继续运行而不停止。

特殊需求:不处理pdf格式的文件。

需求来源:运营商客户。

        一条软件需求包含了以上诸多的内容,其目的就是把须要做的东西描写叙述清楚,以便于开发者编敲代码实现该需求。

 

3. 完毕需求过程中的角色分工

        在一条需求从产生到完毕的过程中。牵涉到的主要人员包含下面几类:

        (1) 系统project师(System Engineer,简称SE):他们负责写需求。并在开发过程中不断完好需求,同一时候解答研发人员的疑问。

        (2) 开发project师(Development Engineer):他们负责用程序代码实现需求。并就需求中的问题与SE沟通。

        (3) 測试project师(Test Engineer):他们主要对开发project师做出的软件进行測试,并就相关问题与开发project师和SE沟通。

        以上三类角色的互动情况如图2所看到的:

2 三类角色的互动情况

 

4. 开发project师怎样准确地完毕需求?

        (1) 參加需求评审会议。了解需求所要实现的功能。并就需求的合理性进行评估,剔除不合理的、有歧义的、实现难度非常大的需求。

        (2) 在開始编码之前,做好软件的具体设计并发起评审。确保软件流程的正确性及功能的完整性,降低后期改动所带来的麻烦。

        (3) 在编码的过程中。细致阅读需求,确保对之有了准确的、透彻的的理解。

假设在需求实现过程中发现了需求问题或有所疑惑的地方,及时与SE沟通(最好面对面沟通)

        (4) 在完毕了一个功能之后,即对代码进行自測(单元測试)。确保已实现功能的正确性。

在全部功能都实现之后,还要对整个程序进行測试(集成測试)

        (5) 在提交程序之前。确保代码、文档都已齐备,最后再对程序版本号的完整性进行检查。

 

        一切软件都是从需求開始的。因此。对于软件需求。开发者一定要抱着高度负责任的态度,高速、准确地将事实上现。以做出高质量的软件产品。

 

 

 

(本人微博: ,微信号:245924426,欢迎关注。)

转载于:https://www.cnblogs.com/zfyouxi/p/5147815.html

你可能感兴趣的文章
HDU 1251 统计难题
查看>>
vim深入研究
查看>>
数组中冒泡排序、直接选择排序、反序排序原理与区别
查看>>
原生js实现ajax
查看>>
1067 Sort with Swap(0, i) (25 分)
查看>>
UIButton 用法
查看>>
闭包和装饰器
查看>>
PageAdmin CMS网站建设教程:如何创建及管理栏目?
查看>>
PHP将Excel另存为html页面
查看>>
linux修改文件权限和用户组管理小结
查看>>
将RGB值转换为灰度值的简单算法(转)
查看>>
ios category类别的使用
查看>>
c++ 类的sizeof
查看>>
spring事物
查看>>
linux中sleep详解实例
查看>>
Django—模型
查看>>
opencv2.4.3通过不同方式访问图像像素
查看>>
wpf 创建附加属性实例
查看>>
Network 第六篇 - 三层交换机配置路由功能
查看>>
OSL LLVM 3.3 Related Changes
查看>>