信息系统项目管理师第四版学习笔记——信息系统工程之软件工程

本文详细介绍了软件工程的各个方面,包括架构设计、需求分析、软件设计和实现,强调了软件架构的重要性和评估方法,如ATAM、SAAM。在需求分析中,提到了QFD、用例建模和UML的应用。软件设计部分,讨论了结构化设计和面向对象设计的原则。最后,阐述了软件部署交付中的持续交付概念和容器技术的应用。
摘要由CSDN通过智能技术生成

软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、降低软件成本。

电气与电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)对软件工程的定义是:将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。

软件工程由方法、工具和过程三个部分组成。

1.架构设计

软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。

软件架构分为:数据流风格、调用/返回风格、独立构件风格、虚拟机风格、仓库
风格。

  • 数据流风格包括批处理序列和管道/过滤器两种风格。
  • 调用/返回风格包括主程序/子程序、数据抽象和面向对象,以及层次结构。
  • 独立构件风格包括进程通信和事件驱动的系统。
  • 虚拟机风格包括解释器和基于规则的系统。
  • 仓库风格包括数据库系统、黑板系统和超文本系统。

软件架构评估方式:基于调查问卷(或检查表)的方式、基于场景的方式和基于度量的方式。基于场景的评估方式最为常用。

基于场景的方式主要包括:架构权衡分析法(Architecture Trade-off Analysis Method,ATAM)、软件架构分析法(Software Architecture Analysis Method,SAAM)和成本效益分析法(Cost Beneft Analysis Method,CBAM)。

在架构评估中,一般采用刺激(Stimulus)、环境(Environment)和响应(Response)三方面来对场景进行描述。刺激是场景中解释或描述项目干系人怎样引发与系统的交互部分,环境描述的是刺激发生时的情况,响应是指系统是如何通过架构对刺激做出反应的。

2.需求分析

简单地说,软件需求就是系统必须完成的事以及必须具备的品质。需求是多层次的,包括业务需求、用户需求和系统需求,这三个不同层次从目标到具体,从整体到局部,从概念到细节

质量功能部署(Quality Function Deployment,QFD)是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。为了达到这个目标,QFD将软件需求分为三类,分别是常规需求、期望需求和意外需求。

需求过程主要包括需求获取、需求分析、需求规格说明书编制、需求验证与确认等。

  • 需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。常见的需求获取方法包括用户访谈、问卷调查、采样、情节串联板、联合需求计划等。
  • 需求分析对已经获取到的需求进行提炼、分析和审查,以确保所有的项目干系人都明白其含义并找出其中的错误、遗漏或其他不足的地方。需求分析的关键在于对问题域的研究与理解。
  • 软件需求规格说明书(Software Requirement Specification,SRS)是需求开发活动的产物,编制该文档的目的
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值