随笔分类 - 软件工程
摘要:现在编程的主流语言基本上都是面向对象的。如C#,C++,JAVA。我们在使用时,已经构造了一个个的类。但是往往由于我们在类内部或外部的设计上存在种种问题,导致尽管是面向对象的语言,却是面向过程的逻辑,甚至维护起来异常困难。每次增加或修改功能都要改动很多的代码,如履薄冰。而面向对象的六大原则主要的目的
阅读全文
摘要:软件在开发和维护的过程中,会遇到很多问题,软件工程作为一门学科,是为了解决软件危机的,那么什么是软件危机? 一、软件危机 软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件危机主要表现: 1 软件开发进度难以预测拖延工期几个月甚至几年的现象并不罕见,这种现象降低了软件开发组织的
阅读全文
摘要:需求工程的活动 划分为以下5个独立的阶段:需求获取:通过与用户的交流,对现有系统的观察及对任务进行分析,从而开发、捕获和修订用户的需求;需求建模:为最终用户所看到的系统建立一个概念模型,作为对需求的抽象描述,并尽可能多的捕获现实世界的语义;形成需求规格:生成需求模型构件的精确的形式化的描述,作为用户
阅读全文
摘要:软件需求是 (1)用户解决问题或达到目标所需条件或权能(Capability)。 (2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。 (3)一种反映上面(1)或(2)所述条件或权能的文档说明。它包括功能性需求及非功能性需求,非功能性需求对设计和实现提出了限制, 比如性
阅读全文
摘要:敏捷宣言 敏捷宣言,也叫做敏捷软件开发宣言,正式宣布了对四种核心价值和十二条原则,可以指导迭代的以人为中心的软件开发方法。 敏捷宣言 敏捷宣言,也叫做敏捷软件开发宣言,正式宣布了对四种核心价值和十二条原则,可以指导迭代的以人为中心的软件开发方法。 敏捷宣言强调的敏捷软件开发的四个核心价值是: 个体和
阅读全文
摘要:"CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。 它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。 CMM的核心是把软件开发视为一个过程,并根据这一原则对
阅读全文
摘要:瀑布模型 瀑布模型(经典生命周期)提出了软件开发的系统化的、顺序的方法。其流 程从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供一 个完整的软件并提供持续的技术支持。 优点: 1. 强调开发的阶段性,各阶段具有顺序性和依赖性 2. 强调早期调研和需求分析,推迟编码实现的观点 3.
阅读全文
摘要:软件过程(Software Process)是指一套关于项目的阶段、状态、方法、技术和开发、维护软件的人员以及相关Artifacts(计划、文档、模型、编码、测试、手册等)组成。 目前有三种方法:UP(the unified process),The OPEN Process,OOSP(TheObj
阅读全文