软件工程——概述

上次因为临时需要就直接看了系统架构那一章,现在打算从头看起。不求对《软件工程》有多么深入的理解,只求把书变薄就行了。

软件工程定义

  采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能得到的最好的技术方法相结合。

软件工程的目标

  采用工程化的方法,提高软件生产质量和软件生产率,降低软件开发成本,成功地构建一个满足用户需求的软件系统。

软件工程开发活动

  • 需求获取

  • 分析

  • 系统设计

  • 对象设计

  • 实现

  • 测试

软件工程过程

  在软件工程的定义中,过程是一组将输入转化成输出的相互关联或相互作用的活动。

  软件工程过程是指软件生命周期所涉及的一系列相关的过程,是产生一个最终能满足需求且达到工程目标的软件产品所需的步骤。

  其主要包括:开发过程、运作过程、维护过程。

软件工程原则

  1. 选取适宜的软件开发模型。

  2. 采用合适的软件开发方法。

  3. 提供高效的开发支持环境。

  4. 重视软件开发过程的管理。

  5. 建设高素质的软件开发团队。

软件工程相关的术语及概念

  1. 参与者、角色:把所有参与到这个项目中的人员均称为参与者;把项目或系统的一组职责称为角色。一个角色与一组任务联系在一起,且被指派给一个参与者。一个参与者能充当多个角色。

  2. 系统与建模:系统一词来指内部相互关联部分的集合。建模是一种通过忽略不相关的细节来处理复杂性的方法。我们用建模一词来专指系统的任何抽象。

  3. 工作产品:一个工作产品是一件在开发中生产的人工产品。我们把供给项目内部使用的工作产品称为内部工作产品(状态报告、测试手册);把必须交付给客户使用的工作产品称为交付的工作产品(规格说明、操作手册)。

  4. 活动、任务、资源:一种活动是为某一具体目的所需完成得任务的集合。一种任务代表一种可管理的原子工作单位。资源使用来完成工作的资产。

从不同的方面提出软件工程的高层次的视点

  1. 软件工程是一项建模活动。

  2. 软件工程是一项解决问题的活动。

  3. 软件工程是一项知识获取的活动。

  4. 软件工程是一项受软件工程原理指导的活动。

以下属于个人认知:

建模的目的

  是对一个系统或子系统的抽象表示。是我们能够可视化和理解马偕已经不复存在的系统或那些认为存在但未经证实的系统。

“知识获取不是线性的”的理解

  知识获取是一个非线性的过程。对一个系统的理解,一条新信息的获得可能使我们为了理解系统而获取得所有只是变得无效。即使我们已经在文档和编码中证明了这种理解(“这一系统已经完成了90%的代码,我们下周就完工了”),我们必须做好从零开始的准备。

任务和活动的区别:

  活动是任务的集合,任务是活动的子集。

软件工程——概述,码迷,mamicode.com

时间: 2024-11-05 11:36:22

软件工程——概述的相关文章

单元测试软件工程概述

软件工程简介 软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的.实用的和高质量的软件的学科.它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面. 在现代社会中,软件应用于多个方面.典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等.同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等.这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活

构建之法现代软件工程概述

程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言. 程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法. 软件工程时代:这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件. 软件开发技术的进步未能满足发展的要求.在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机. 表现方面: (1) 用户对开发出的软件很难满意. (2

1.1软件工程概述之软件危机

典型表现 1.对软件开发成本和进度的估计不够准确.2.用户对"已完成的"软件系统不满意的现象经常出现.3.软件产品的质量往往靠不住.4.软件常常是不可维护的.(不可重用)5.软件没有适当的文档说明.6.软件成本在计算机系统总成本中占比越来越高.7.软件开发生产率提升的速度远远跟不上计算机应用迅速普及和深入的趋势.(供不应求) 原因: 1.软件不同于硬件,是一种逻辑组织形式,进度很难被衡量,管理和控制软件开发很困难.2.软件运行出错时,是开发过程中没有检测出来的bug,想要修正和维护难度

软件工程01:软件工程概述

1. 定义 软件:是包括程序.数据及其相关文档的完整集合. 程序和数据是构造软件的基础,文档是软件质量的保证,也是保证软件更新及生命周期长短的必需品. 2. 特点 软件是一种逻辑实体,具有抽象性. 软件开发过程中没有明显的制造过程 ,应理解为"创作". 不存在机械磨损和老化问题,但存在软件退化问题 . 软件的开发和运行受到计算机系统的约束和限制. 软件开发至今未完全摆脱手工艺的开发方式. 软件是复杂的原因:(1).实际需求的复杂性 (2).程序逻辑的复杂性 3. 分类 根据软件服务对象

软件工程概述

⒈项目计划阶段:确立项目开发的经济或社会效益,说明项目开发的必要性和初步计划. ⒉需求分析阶段:通过对客户业务的了解和客户对流程的讨论,对需求进行基本建模,最终形成求规格说明书. ⒊概要设计阶段:通过分析需求信息,对系统的外部条件及内部业务需求进行抽象建模,最终形成概要设计说明文档. ⒋详细设计阶段:此部分在需求和概要设计的基础上进行系统的详细设计(也包含部分代码说明). ⒌开发编码阶段:按详细设计文档要求编码,并完成单元测试. ⒍测试与系统集成阶段:对所有功能模块进行模拟数据测试及其他相关性测

(4)软件工程基础知识

4.1 软件工程概述 4.2 软件过程模型 4.3 软件开发方法 4.4 软件工具与开发环境 4.5 软件项目管理 4.6 风险管理 4.7 软禁读量

面向对象软件工程知识点

面向对象软件工程知识点  1.封装是指把对象的(A)结合在一起,组成一个独立的对象. A.属性和操作 B.信息流 C.消息和事件 D.数据的集合 2.状态图和活动图建立了UML面向对象开发过程中的对象动态(B)模型. A.交互      B.状态       C.体系结构     D.软件复用 3.UML的(C)模型图由活动图.顺序图.状态图和合作图组成. A.用例 B.静态 C.动态 D.系统 4.在UML的需求分析建模中,对用例模型中的用例进行细化说明应使用(A). A.活动图     B.

西安建设科技专修学院高考软件工程专业常见问题解答

#软件工程概述# #简介# 软件工程是研究和应用如何以系统性的.规范化的.可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的一门学科. #软件工程学什么# 本科阶段主要学习并研究开发软件的一些基本理论.开发工具.开发过程.编程技巧.软件开发的过程组织等相关内容,主要偏向软件开发(就是编程啦~). 专业课方面会学一些程序语言比如C++,java,汇编语言,编译原理,还有数据结构,算法分析,统一建模语言,数据库,操作系统,计算机组成

程序员教程-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