软件工程基础

1.软件特点

(1)逻辑实体,抽象性

(2)不同于硬件,没有明显制作过程

(3)不存在磨损老化

(4)对计算机系统的依赖

(5)软件复杂性高,成本昂贵

(6)开发涉及诸多的社会因素

2.软件的分类

(按功能)应用软件,系统软件,支撑软件(工具软件)

3.软件危机的表现

  • 软件需求的增长,得不到满足
  • 软件开发成本和进度无法控制
  • 软件质量难以保证
  • 软件不可维护或维护度低
  • 软件的成本不断提高
  • 软件开发产率提高跟不上硬件的发展和应用需求的增长

4.软件工程包含三个要素

  方法,工具和过程

5.软件工程的基本活动

  • P(plan)---软件规格说明
  • D(do)---软件开发
  • C(check)---软件确认
  • A(action)---软件演化

6.软件生命周期主要活动阶段

  • 可行性研究与计划制定
  • 需求分析
  • 软件设计
  • 软件实现
  • 软件测试
  • 运行和维护

7.软件工程的和技术性研究的内容主要包括

  软件开发技术  软件工程管理

8.软件工程的原则

抽象

时间: 2024-10-09 03:16:03

软件工程基础的相关文章

最佳的项目一定建立在最佳的软件工程基础上的

快速软件开发有几个基本原则:管理原则.技术原则.质量保证原则. 其中和我目前关系较深的是技术原则. 作者在第四章的前段便引用了这句话“最佳的项目一定建立在最佳的软件工程基础上的”. 而我认为我计算机相关的基础都比较薄弱,作者并没有给出软件工程基础相关的推荐书籍. 不知道是否有一些软件工程基础的推荐书籍. 最好是能够相互对照的.

第一部分软件工程基础[专业课考试]

第一部分软件工程基础 考试题型:概念问答题.实践案例题总分:50分一.软件过程软件过程的概念:经典软件过程模型的特点(瀑布模型.增量模型.演化模型.统一过程模型):过程评估与CMM/CMMI的基本概念:敏捷宣言与敏捷过程的特点. 二.软件需求软件需求的概念:需求工程的基本过程:分层数据流模型:用例和场景建模及其UML表达(用例图.活动图.泳道图.顺序图):数据模型建模及其UML表达(类图):行为模型建模及其UML表达(状态机图). 三.软件设计与构造软件体系结构及体系结构风格的概念:设计模式的概

阅读《软件工程基础》所产生的问题。

1.关于软件危机,从书中可以看出,现如今人们对这个问题已经有了相当的了解,包括它所产生的的原因以及解决方法.既然解决方法都有,但为何仍然要强调这个问题呢? 2.世界上有相当多的编程语言,各自都有自己独特的功能.但一个人的精力毕竟是有限的,是无法彻底掌握每一种语言的.那为什么不集这些语言的优点于一身,创造一种通用.实用的语言呢? 3.各种编程语言都是以符号为基础的,那么未来能否有一种基于自然语言的编程语言呢? 4.在编写大型程序时,对程序往往要进行封装,那么到底封装到怎样才算个度呢?封装是否存在一

#2018BIT软件工程基础#结对项目:四则运算题目生成

小队成员: 1120161945 雷云霖 1120161949 刘镓煜 一.开发时间 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划     · Estimate · 估计这个任务需要多少时间 5 6 Development 开发     · Analysis · 需求分析 (包括学习新技术) 120 120 · Design Spec · 生成设计文档 120 180 · Design Review ·

软件工程基础图式(第四章 系统设计)

软件工程基础图式(第四章 系统设计) 学习目标 1)软件设计过程 2)软件设计的概念和原则 3)设计技术 4)面向过程的系统设计 5)面向对象的系统设计 系统设计目标:将需求分析转化为软件内部结构 1.好的设计的三个特点 (1)包含所有明确要求(要实现什么,不要实现什么)满足客户所期望的所有隐含要求 (2)编码测试.维护人员可读可理解 (3)完整视图(概要图) 2.设计指导原则 1)模块化 2)含数据.体系结构.接口.组件 3)可重复使用 4)正确清楚 3.设计质量属性 1)功能性 2)易用性

软件工程基础图式(第四章 系统设计-面向过程的系统设计)

软件工程基础图式(第四章 系统设计-面向过程的系统设计) 1.结构化设计方法 2.在系统结构图中的模块 3.变换型系统结构图 4.事务型系统结构图 5.变换分析 例子1:将下图的DFD/数据流图转换为软件/控制结构图(有误,看模式) 例子2:将下列数据流图转换为控制结构图 变换分析注意事项 ① 在选择模块设计的次序时,必须对一个模块的 全部直接下 属模块都设 计完成之后, 才能转向另 一个模块的 下层模块的 设计. ② 在设计下层模块时,应考虑模块的耦合和内聚问题,以提高初始结构图的质量. ③

软件工程基础知识1

NATO会议上首次提出了“软件工程”这个名词,希望用工程化的原则和方法来克服软件危机.此后,人们开展了软件开发模型.开发方法.工具与环境的研究,提出了瀑布模型.演化模型.螺旋模型和喷泉模型等开发模型,出现了面向数据流方法.面向数据结构方法.面向对象等开发方法,以及一批CASE(Computer Aided Software Engineering,计算机辅助的软件工程)工具和环境. 一.软件生存周期               阶段 任务 参加人员 产生的主要文档 可行性分析与项目开发计划 确定

软件工程基础 - 1st 个人博客作业

快速阅读<构建之法>后产生的几个疑问 1. 现在我的编程基础差,怎样才能通过自学提高编程能力? 2. 我学习&用中文已经7年多了,上课老师听讲几乎没有问题,可是在课下自己学习的时间,用每一门科目老师指定的中文教材学习仍然消耗太多时间.理解起来也比较困难,我要怎么克服这个问题呢?难道我在中国上大学,还要每次都花那么贵的国际邮费.买韩文教材学习...... 3. 被限定的project时间短暂,结对编程的效率会比个人编程的效率高吗? 4. 如果在团队编程中想做测试,对于编程基础比较差的我来

程序员教程-5章-软件工程基础知识

先给出目录结构 5.1 软件工程概述 5.1.1 软件生存周期 1 问题定义 2 可行性分析 3 需求分析 4 总体设计 5 详细设计 6 编码和单元测试 7 综合测试 8 维护 5.1.2 软件生存周期模型 1 瀑布模型 2 增量模型 3 演化模型 4 螺旋模型 5 喷泉模型 6 统一过程 7 敏捷方法 5.1.3 软件过程评估 1 软件能力成熟度模型 2 能力成熟度模型集成 5.1.4 软件工具 1 软件开发工具 2 软件维护工具 3 软件管理和软件支持工具 5.1.5 软件开发环境 5.2

软考考前冲刺第七章软件工程基础知识

瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段.其优点是:可以使过程比较规范化,有利于评审;缺点在与:过于理想,缺乏灵活性,容易产生需求偏移.所以瀑布模型的应用场合为:需求明确的项目.二次开发项目以及与原型法配合使用. 快速原型模型:采用了一种动态定义需求的方法,通过快速的建立一个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与与决策.原型化人员对原型的实施很重要,衡量他们的重要标准是能否从用户