软件工程-实践者的研究方法-内容浓缩--厦大软院

本文概述了软件工程中的一些关键概念,包括软件的特性、软件危机的原因、软件开发模型(如线性顺序模型、原型实现模型、增量模型、螺旋模型)以及各自优缺点。此外,讨论了软件过程、项目度量、软件配置管理、模块化设计、面向对象设计原则和设计模式。还特别强调了测试的重要性,区分了面向对象测试与传统测试的异同,并提出了面向对象测试的策略,如类测试和子类重用父类测试用例。
摘要由CSDN通过智能技术生成

期末考了,我们班其他同学整理的一些资料,(自己有作过一些修改),对复习大有好处哇。。。感谢ING......

内容很概括,但都说出了最重要的部分,拿出来和大家分享。。。。^_^

_______________________________________________________________

                                                        问答题

1.软件产品的特征是什么?

          软件是与计算机系统运行和操作有关的程序、规程、规则及任何与之有关的文档和数据。软件产品的特征是:

         软件是被开发和设计的,而不是传统意义 上被制造的;

         软件是逻辑产品:它没有明显的物理形态,无需对实体进行制造和加工,但需要设计、实施和维护的生产过程。软件一旦开发成功,就可以大量进行复制。软件不会磨损”,不过它会退化;虽然软件产业正在向基于构件的组装前进,大多数软件仍是定制的;

2.什么是软件危机?其产生的原因是什么?

          软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面:用户对开发出的软件很难满意。软件产品的质量往往靠不住。一般软件很难维护。软件生产效率很低。软件开发成本越来越大。软件成本与开发进度难以估计。软件技术的发展远远满足不了计算机应用的普及与深入的需要。

          造成软件危机的主要原因:  用户的需求描述不精确;软件人员对用户需求的理解与用户的原意不一致;对大型的软件项目缺乏有力的组织和管理;  容易产生疏漏和错误;  缺乏有力的方法学和工具的支持,过分依赖开发人员的技巧和经验; 软件的复杂性和人类智力的局限性。

3. 软件过程是为开发高质量软件所需要完成的任务的框架.

软件工程是一种层次化的技术。支持软件工程的根基就在于对质量的关注。软件工程的基础是过程层。软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够合理和及时地开发。过程定义了一组关键过程区域的框架。软件工程方法为软件开发提供了 如何做的技术,软件工具为软件工程方法提供了自动的或半自动的软件支撑环境

 

4. 软件生存期模型(也称软件开发模型、软件过程模型、软件工程范型)是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。

线性顺序模型

优点:1、它提供了一个摸板,这个摸板使得分析、设计、编码、测试和支持的方法可以在该摸板下有一个共同的指导。2、虽然有不少缺陷但比在软件开发中随意的状态要好得多。

缺点:开发初期需要清楚全部需求;开发周期长、风险大。

原型实现模型

          初始阶段人们对软件的需求认识常常不够清晰,第一次只是试验开发,其目标只是在于探索可行性,弄清软件需求。

          由客户评估并进一步精化待开发软件的需求。

          逐步调整原型使其满足客户的需求,这个过程是迭代的。

          优点1、如果客户和开发者达成一致协议:原型被建造仅为了定义需求,之后就被抛弃或者部分抛弃, 那么这种模型很合适了。2、迷惑客户抢占市场,这是一个首选的模型。

          瀑布方法假设当线性序列完成之后就能够交付一个完善的系统。

          原型实现模型设计成帮助客户(或开发者)理解需求,它并不是交付一个最终的产品。

          演化模型是迭代的,它的特征是使软件工程师逐渐地开发逐步完善的软件版本。

增量模型

增量模型融合了线性顺序模型的基本成分(重复地应用)和原型实现的迭代特征。

每一个线性序列产生软件的一个可发布的增量。第一个增量往往是核心的产品。客户对每一个增量的使用和评估,都做为下一个增量发布的新特征和功能

优点不能在设定的期限内完成产品时可以先开发核心产品,先发布部分功能给用户,起镇静剂的作用。

螺旋模型

与增量模型差不多,但是螺旋模型被划分为若干框架活动,也称为任务区域

         优点:1、对于大型系统及软件的开发,这种模型是一个很好的方法。开发者和客户能够较好地对待和理解每一个演化级别上的风险增加了风险分析,需要相当的风险分析评估的专门技术,且成功依赖于这种技术。当没有发现,就惨了。

没有最有效的,只有最适合的,只能根据具体的项目特点和自身人力物力等资源情况来选择合适的工程范型,才能发挥项目范型的作用。

 

第四章  软件过程和项目的度量

量化是管理的一个重要手段和基础。只有通过量化,才能深刻了解所研究的对象。软件度量是对收集到的原始数据,采用一些数学函数来计算,以测量过程、项目、产品的性能。度量方法分为:直接度量(代码行)和间接度量(功能点);

度量范围分为:过程度量(改进过程)和项目度量。

 

功能点:

面向功能度量用一种称为功能点的测量。

功能点是基于软件信息领域的可计算的(直接的)测量及软件复杂性的评估而导出的。

     生产率=功能点数(或千代码行数)/每人月

     成本=总费用/功能点数(或千代码行数)

 

一些概念:

检查点(Check Point): 指在规定的时间间隔内对项目进行的检查与复审工作,通过比较实际进展与计划进度的差距,并根据差距进行调整。

里程碑(Mile Stone): 完成阶段性工作的标志,往往是一些重要活动的完工,或重要文档的交付,或阶段评审的通过。

基线(Base Line): 指一个(或一组)配置项在项目生命期的不同时间点上通过正式评审而进入正式受控的一种状态。基线其实是一些重要的里程碑。基线一旦建立后,以后的任何更改都需要受到控制。

 

第五章 软件项目计划

工作量:用PM来度量,接着计算LOCFP的期望值 EE a4m

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值