(一)软件过程(持续更新)

1.1 软件开发的本质

1.1.1 软件工程的本质问题

体现在软件本身固有的困难中,困难包括:

固有的困难:complexity(复杂性)、conformity(一致性)、changeability(可变性)、invisibility(不可见性)

可变的困难:stakeholders(利益相关者)、process(过程)、modeling(建模)

可支持性(适应性)由3个系统特征组成的集合来定义:可理解性、可维护性(maintainability)、可伸缩性(可扩展性)

1.1.2 利益相关者

1、利益相关者是在软件项目中存在利害关系的人,主要包括两组:customers(客户)、developers(开发者)

2、信息系统是社会系统,它由人为人开发

1.1.3 过程

1、定义软件生产中使用的活动和组织程序和维护

2、一个过程模型:

  • 声明了所执行活动的次序

  • 详细说明要交付哪些开发的人工制品,以及什么时候交付

  • 将活动和人工制品分配给开发者

  • 提供用来监控项目进展、评估结果和规划未来项目的标准

3、软件过程不易于被标准化(Is not susceptible to standardization)

4、Iterative and incremental process(迭代和增量过程)

  • 现代软件开发过程总是迭代和增量的。

  • 在连续的迭代中增加细节,必要时还引入了变更和改进(迭代完发布新版本)。

  • 增量版本保持了用户的满意度,提供重要反馈(一次迭代的功能增加或减少

    (注:增量版本并不是向软件产品增加新的功能,增量改进非功能性的软件质量,如软件的正确性、可靠性、耐用性、性能等)

  • 具有特殊意义的变体:

    • 螺旋模型(the spiral model):包含了RUP,MDA,敏捷开发模型

    • RUP(the Rational Unified Process (RUP)):提供文本,概念,开发思路

    • MDA(Model Driven Architecture (MDA)):由模型和构件生成软件

    • 敏捷开发过程(the agile development process):提出了一个框架,人与团队协作被认为比规划、文档更重要

    • 面向方面的软件开发(aspect-oriented software development):引入有关横切关注点的正交思想

5、能力成熟度模型(Capability Maturity Model,CMM过程标准

  • 用于进行过程评估和改进的交流方法

  • 本质上是一个由IT组织填写的问卷调查表

  • 第一级:走到哪算到哪,没有特定的规则,大部分都在第一级

    第二级:可重复级,靠经验每一次用相同的方法,东软

    第三级:定义级,已经定义好了规则,不到整个软件企业总量的10%

    第四级:管理级,对整个每一步的过程增加了监控,亚马逊

    第五级:优化级,对整个过程或标准优化的策略,基本是军方企业

6、ISO9000系列质量标准 过程标准

  • 如果过程是正确的,那么结果一定是正确的,即关注产品质量问题
  • 强调必须完成什么,没强调必须怎么执行

7、ITIL框架 过程标准

  • 高效的利用4P:people、processes、products、partners
  • 致力于方案交付和管理的操作方便
  • 持续的服务改进方案(continuous service improvement programme,CSIP),用来实现解决方案管理的ITIL方法。该方案以实现高水平业务目标的决心为起点,接着检查是否达到里程碑,并通过巩固已达到的改进和持续任务循环而保持发展的势头。

8、COBIT框架 产品标准 服从框架

  • 侧重于一个组织需要做什么,而非如何去做

  • 将相关的IT工作组织到4个领域:P8

    1. 规划与组织(Plan and Organize)
    2. 获取与实现(Acquire and Implement)
    3. 交付与支持(Deliver and Support)
    4. 监控(Monitor)
  • 将控制目标分配到这些领域,有34个高级别的控制目标,它依据COBIT推荐的318个详细控制目标来评估IT过程

1.1.4 建模

1、建模几软件开发活动,是来自现实的抽象,是现实的抽象表示

2、需要开发人员在不同阶段进行沟通(language)和文档化(tools)

3、统一建模语言(UML

  • 是一种通用的、可视化的建模语言
  • 独立于任何软件开发过程,也独立于实现技术
  • 要求:只要面向对象开发方法就行
  • 分类:
    • 状态模型(state models),类图:描述静态数据结构
    • 行为模型(behavior models),用例图,时序图,
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐的冲浪码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值