软件工程背诵笔记

本文档详尽地总结了软件工程的多个章节,涵盖了软件的特点、软件危机、软件工程研究内容、软件生命周期、开发模型、软件过程、CMM的作用、编程语言选择、测试方法、项目管理、风险识别、软件质量定义、配置管理、软件维护等方面的知识点。内容全面,适合作为软件工程学习的复习笔记。
摘要由CSDN通过智能技术生成

文章目录

一、简答题

第一章

1. 与计算机硬件相比,计算机软件有哪些特点?

软件的特点如下。
●无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了解它的功能、特性和质量等。
●人们在分析、设计、开发、测试软件产品,以及在软件开发项目的管理过程中,渗透了大量的脑力劳动。
●不存在像硬件一样的磨损和老化现象,但存在着缺陷维护技术更新的问题。
●软件的开发和运行必须依赖于特定的计算机系统环境
●具有可复用性

3.什么是软件危机?什么原因导致了软件危机?

  • 软件危机的现象如下。
    ●经费超出预算,项目一再拖延。
    ●不重视需求,开发的软件不能满足用户的要求,项目成功率低。
    ●没有规范的软件工程方法,软件可维护性差、软件质量差可靠性差
    ●开发工具落后,手工方式,开发效率低。

  • 所有导致软件危机的原因,都与软件本身的产品特点相关。
    ●软件是一个复杂的逻辑产品。如果没有解决复杂问题的有效方法,以及软件产品的结构、质量、可维护性得不到保障,开发与维护费用就会持续升高。
    ●软件产品不能实现大规模复用,这导致了软硬件生产效率的不同。
    ●软件生产是脑力劳动,它看不见、摸不着,开发成本、开发周期等都无法做到准确估算,生产过程不易控制
    ●软件成本主要是由研发成本构成;而硬件的生产成本主要是材料和制造成本,分摊的研发成本很少,即软件研发过程与硬件制造过程相比要复杂得多。

5.请简述软件工程研究的内容

  • 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。

软件开发方法的内容涵盖市场调研、正式立项、需求分析、项目策划、概要设计、详细设计、编程、测试、试运行、产品发布、用户培训、产品复制、销售、实施、系统维护、版本升级等。
●常用的软件开发模型有瀑布模型、迭代模型、增量模型和原型模型等。
软件支持过程由所支持的CASE工具组成,常用的CASE工具有Power Designer和Rational Rose等。

7.请简述软件工程的目标、过程和原则

  • 目标、过程和原则是一切工程的三维框架,这里是以工程的观点来看待软件开发。

●软件工程的目标:降低成本、及时交付高质量的软件产品(高质量、高效率、高效益)。.
●实现目标的过程即完成产品加工的过程,包括:基本过程、支持过程和组织过程。
●进行过程应遵守的原则
原则就是过程中的轨道约束,包括:
选取适宜的开发范型、
采用合适的设计方法、
提供高质量的工程支持、
重视开发过程的管理。

9.请简述现代软件工程与传统软件工程显著的区别和改进。

区别:
传统的软件工程是基于结构化的软件开发方法,
而现代软件工程是以面向对象技术为标志。

改进:
●不仅在编程技术上有很大的改进,而且在分析、设计等整个开发过程中,采用面向对象的思维方式,更加完整、自然地反映客观世界。
●采用架构技术,开发效率、产品质量得到了极大提高。
●更注重团队开发和管理,融入更多、更新的管理理念和手段,如RUP模型、XP模型、过程改进、能力成熟度模型、配置管理等。

第二章

1.如何理解软件生命周期的内在特征

软件产品的生命周期是指从设计该产品的构想开始,到软件需求的确定、软件设计、软件实现、产品测试与验收、投人使用以及产品版本的不断更新,再到最终该产品被市场淘汰的全过程。
软件生命周期这个概念从时间的角度将软件的开发和维护的复杂过程分解为了若干个阶段,每个阶段都完成特定的相对独立的任务
由于每个阶段的任务相对于总任务难度会大幅度降低,因此在资源分配、时间把握和项目管理上都会比较容易控制。
应该合理地划分软件生命周期的各个阶段,使各个阶段之间既相互区别又相互联系,为每个阶段赋予特定的任务。

3.当需求不能一次搞清楚,且系统需求比较复杂时应选用哪种开发模型比较合适?

开发模型不是孤立或排斥的,它们之间需要相互借鉴和参考螺旋模型是一种综合性的模型,适合于较复杂的系统。

5.XP是一种什么样的模型

XP是现代版的增量模型,特点是客户参与适应变化测试驱动以代码为核心
实行XP的条件如下。
●企业具有较高的能力成熟度,具有团队开发环境和配套的测试工具。
●软件结构是开放的,增量可随意整合。
●开发团队拥有 “系统隐喻”。

7.请简述软件过程

软件过程就是软件产品的加工过程
其本质就是将**“客观世界”映射(虚拟)到“计算机世界**",即从抽象到具体的逐步细化过程。
系统分析就是对客观世界的抽象,中间要经过分析模型、设计模型的逐步细化(具体化),最终的具体结果就是计算机世界里的代码。

9.请简述CMM的作用

CMM的作用如下。
●CMM是评价软件组织开发能力(水平)的参考模型,是一种认证标准,认可软件工程达到的程度(如同评定职称的条件)。
●CMM是软件组织提升自身能力、走向成熟的参照系。它提供了走向成熟的阶梯目标,但并不提供走向目标的方法
●CMM等级的提高依靠软件过程改进
●CMM既是评估软件能力成熟度的模型,也起到了促进软件企业按照该模型设置的级别和关键过程域不断改进自己的软件过程的作用。

11.假设你要开发一个软件,它的功能是把73624.9285开平方,所得到的结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值