软件工程(三)之需求分析

开篇前言

     软件的需求分析是发现、求精、建模和规约的过程。通俗点说就是需求分析就是准确的回答“系统必须做什么”的问题。提到需求分析过程数据流图,数据词典,实体-关系图,状态图这几种图形,在我们传统的软件分析中占据了非常重要的地位。这里我们就对这些内容进行总结理解。

数据流图

       数据流图表示数据在系统中逻辑流向和逻辑转换过程。
       数据流图使用四种基本图形符号:圆框代表加工;箭头代表数据的流向,数据名称标在箭头的边上。方框表示数据的源点和终点。横线代表数据文件和数据库。
 
上图中表示银行取款过程中的流程图
根据上面的图形可以知道各种操作的时候各种数据进行的交换。

数据词典

        根据上面的数据流图只能大概的表示数据的流向系统之间的分解,并没有表达每个数据和加工之间的具体含义,而数据词典就是描述了软件中每个数据和加工的具体的含义,这样从而保持了数据遭系统中的一致性。
比如刚刚结束的机房管理系统的数据词典

名字:用户

别名:账户信息

描述:机房计算机的使用者

定义:用户号+密码+班级+学号 +姓名+性别+账户余额+备注+用户类型+用户使用状态 

位置:用户信息数据库(student.sys)



个人比较

        数据流图只是把整个系统进行分解,但是对于系统之间各个名词表示的内容没有进行介绍。但是数据词典对里面中的各类中文英文名词进行了介绍。两者之间对于软件的需求的阶段起到了举足轻重的作用。

实体关系图(E-R)图

       在建立数据模型的时候需要用到(E-R)图。
      在自考数据库原理中有过对(E-R)图的介绍,当提到这种关系图的时候不得不提到数据对象,属性,和关系。数据对象就是带描述的对象比如说是学生,那么年龄,年级,籍贯等就是人这个数据对象的属性,学生和年龄1:1的联系称之为关系。

状态转换图

        状态转换图就是通过描绘系统的状态以及引起系统状态转换的事件来表示系统的行为。状态转换图就是描述事件和状态之间关系的图形。
例子:

有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。

1) 分析这一段说明,列出原因和结果

原因:

1.售货机有零钱找

2.投入1元硬币

3.投入5角硬币

4.押下橙汁按钮

5.押下啤酒按钮

结果:

21.售货机〖零钱找完〗灯亮

22.退还1元硬币

23.退还5角硬币

24.送出橙汁饮料

25.送出啤酒饮料

2) 画出因果图,如图所示。所有原因结点列在左边,所有结果结点列在右边。建立中间结点,表示处理的中间状态。中间结点:

11. 投入1元硬币且押下饮料按钮

12. 押下〖橙汁〗或〖啤酒〗的按钮

13. 应当找5角零钱并且售货机有零钱找

14. 钱已付清


3) 转换成判定表:


里面还有很多的实例,大家可以点开链接进行查看。
2.此篇博客系博主第一次接触软件工程进行的总结,里面的错误还望各位大神的指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
### 回答1: 软件需求分析软件工程中的一项重要任务,它是在软件开发过程中,确定和理解用户需求的过程。软件需求分析主要包括需求获取、需求分析需求规约和需求验证等步骤。 首先,需求获取是软件需求分析的第一步,主要通过与用户沟通、观察现有系统和文档分析等方式,收集用户需求。在这个过程中,软件工程师需要与用户深入合作,以确保正确理解用户需求,并将其转化为可操作的需求文档。 接下来,需求分析是软件需求分析的核心步骤,主要目的是理解和澄清用户需求,识别并提取出关键需求。在需求分析过程中,软件工程师需要进行业务流程分析、数据流分析和数据字典设计,以绘制系统的框架、功能和交互。 然后,需求规约是对需求进行书面表达和形式化的过程。通过使用用户故事、用例图和状态转换图等工具,将需求以可理解、可测量和可验证的方式进行描述,以便开发团队能够按照需求设计、开发和测试软件。 最后,需求验证是确保软件需求正确性和完整性的过程。通过与用户进行需求审查、原型验证和用户验收等方式,验证软件需求是否符合用户期望和实际需求。 综上所述,软件需求分析软件工程中起着至关重要的作用,它确保开发团队正确理解用户需求,并将其转化为可实现的软件系统。通过规范和有效的软件需求分析,可以提高软件开发过程的质量和效率,确保最终交付的软件与用户期望相符。 ### 回答2: 软件需求分析是在软件工程领域中非常重要的一环。它是指通过系统地收集、分析和定义用户对软件系统的需求、约束和期望,为软件开发过程提供基础。在软件需求分析中,我们需要了解用户的需求,并详细描述这些需求,以便后续的软件设计和开发。 在软件需求分析过程中,首先要收集用户的需求,这可以通过与用户进行沟通、采访和调查等方式来完成。通过这些方法,我们可以了解用户的真实需求,包括功能需求、性能需求、用户界面需求等。其次,我们需要对收集到的需求进行分析,将其进行分类和整理,以便更好地理解和描述。在这个过程中,我们需要识别出需求之间的关联和依赖,以及可能存在的冲突或缺陷。 在软件需求分析过程中,我们还需要定义和规范需求的形式,以便软件开发团队理解和实现。这可以通过编写需求规格说明书、用例文档、原型等方式来实现。需求规格说明书通常包括需求的详细描述、优先级等信息,用例文档则描述了系统的各种功能和使用场景,原型则是为了更好地展示软件的界面和交互流程。 同时,在软件需求分析过程中,我们还要与用户和开发团队保持密切的沟通和协作,以便及时地反馈和调整需求。由于软件需求往往是动态变化的,需求分析工作需要持续进行,并随着项目进展进行调整和优化。 总而言之,软件需求分析软件工程中至关重要的一步。通过系统地收集、分析和定义用户的需求,可以为后续的软件设计和开发提供指导。在这个过程中,我们需要与用户和开发团队密切合作,并且保持沟通和反馈,以确保软件系统能够满足用户的期望和需求

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值