2021.1.26--备战信息系统项目管理师学习笔记

1.4 软件工程

软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法解决软件问题的工程,其目的是提供软件生产率,提高软件质量,降低软件成本。IEEE都软件工程的定义:将系统的、规范的、可度量的工程化方法应用到软件开发、运行和维护的全过程及上述方法的研究。

软件工程由方法、工具、过程三个部分组成。软件工程方法是完成软件工程项目的技术手段,它支持整个软件生命周期;软件工程使用的工具是人们在开发软件的活动中智力和体力的扩展与延伸,它自动或半自动的支持软件的开发和管理,支持各种软件文档的生成,软件工程中的过程贯穿于软件开发的各个环节,管理人员在软件工程过程中,要对软件工程的开发质量、进度、成本进行评估、管理和控制,包括人员的组织,计划跟踪与控制、成本估算、质量保证和配置管理等。

1.4.1 需求分析

需求分析是指用户对新系统在,功能、行为、性能、设计约束等方面的期望。跟进IEEE的软件工程标准词汇表,软件需求是用户解决问题或达到目标所需的能力或条件,是系统或系统部件需要满足合同,标准、规范或其他正式规定文档所需具有的条件或能力,以及反映这些条件或能力的文档说明。

1. 需求的层次

  • 业务需求
    业务需求是指反映企业或客户对系统高层次的目标要求,通常来自项目投资人,购买产品的客户或者客户单位的管理人员、市场营销部门或产品策划部门等。通过业务需求可以确定项目视图和规范,项目视图和规范文档吧业务需求集中在一个简单、紧凑的文档中,该文档未以后的开发奠定了工作基础。

  • 用户需求
    描述的是用户的具体目标,或用户要求系统必须能完成的任务。也就是用户描述了使用系统来做什么,通常采用用户访谈和调查问卷等方式,对用户使用场景(scenarios)进行整理,从而建立用户需求。

  • 系统需求
    从系统的角度来说明软件的需求,包括功能需求,非功能需求以及设计约束。也称为行为需求,规定了开发必须要完成那些功能,用户利用这些功能完成任务,满足业务需要。功能需求是通过系统特性的描述来表现出来的,所谓特性,是指一组逻辑上相关的功能需求,表示系统我用户提供某项功能服务,使用户目标得到满足;非功能需求是指系统必须具备的属性或品质,又可细分为软件质量属性(例如,易用性,可维护性,效率等)和其他非功能需求。设计约束也称为限制条件或补充规约,通常是对系统的约束说明,例如,必须采用国有自主知识产权的数据库系统,必须运行在Linux操作系统之下等。

2.质量功能部署

质量功能部署(Quality Function Deployment,QFD)将用户需求转换成软件需求的技术,目的是最大限度的提高软件工程过程中用户的满意度。为了达到这个目的,QFD划分为三类

  • 常规需求:用户认为应该做到的功能或性能,实现越多用户越满意。
  • 期望需求:用户想当然认为系统应该具有的功能或性能,但用户不能正确描述自己想要得到的功能或性能。如果期望没达到,会让用户不满意。
  • 意外需求:意外需求也称为兴奋需求,使用户要求范围外的功能或性能(但通常是软件开发人员很乐意赋予系统的技术特性)实现这些用户会更高兴,但不实现也不影响购买的决策。意外需求是控制再开发人员手中的,开发人员可以选择实现更多的意外需求,以便得到高满意,高忠诚度的客户,也可以(出于成本或项目周期的考虑)选择不实现任何意外需求。
  1. 需求获取

    通常采用访谈,调查问卷,采用,情节串联板,联合需求计划

  2. 需求分析

    在需求获取阶段获得的需求是杂乱的,是用户对新系统的期望和要求,这些要求有重复的地方,也有矛盾的地方,这样的要求是不能作为软件设计的基础。一个好的需求应该有无二义性,完整性,一致性,可测试性,确定性,可跟踪性,正确性,必要性等特性,因此,需求分析人员需要把杂乱无章的用户要求和期望转化为用户需求,这就是需求分析的工作。

    需求分析将提炼、分析和审查已经获取到的需求,以确保所有的干系人都明白其含义并找出其中的错误,遗漏或其他不足的地方。需求分析的关键在于都问题域的研究和理解,为了便于理解问题域,现代软件工程方法所推荐的做法是对问题域进行抽象,将其分解为若干个基本元素,然后对元素之间的关系进行建模。

使用SA(Structured Analysis)结构化开发方法进行需求分析,其建立的模型是数字字典,围绕这个核心,有三个层次的模型,分别是数据模型,功能模型,行为模型(也称为状态模型)。
在这里插入图片描述
在这里插入图片描述
图片来自其他博主
在实际工作中,

  • 实体联系图(E-R图)表示数据模型
  • 用数据流图(Data Flow Diagram )表示功能模型
  • 用状态转换图(State
    Transfer Diagram,STD) 表示行为模型。

OOA的基本任务是运用OO方法,都问题域进行分析和理解,正确认识其中的事务及他们之间的关系,找出描述问题域和系统功能所需的类和对象,定义它们的属性和职责,以及它们之间所形成的各种关系。

包括

  • 用例模型
  • 分析模型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值