软件工程速通

发布于:2024-12-19 ⋅ 阅读:(13) ⋅ 点赞:(0)

1.Java语言特点:

简洁性,面向对象,安全性,平台无关性(动态性,高性能,多线程,分布式)

2.Java虚拟机

虚拟运行Java代码的假想计算机,源程序编译后解释

3.Java程序基本结构

一个包声明package,任意引入import,类和接口声明class或interface

4.数组实例化

5.类

6.继承

7.包

8.多线程

9.流

10.软件的概念和特点

软件=程序+数据+文档

11.软件危机

概念:计算机软件在开发和维护过程中遇到的一系列问题

产生原因:软件本身特点,不正确的开发方法

12.软件工程

定义:应用系统化的学科化的定量的方法,开发运行维护软件,即将工程应用于软件

三要素:方法,工具,过程

应用原因:在给定的时间和预算内,按照用户需求,开发易修改,高效,可靠,可维护、适应力强、可移动、可重用的软件。

13.软件生命周期

软件产品或系统从设计,投入到被淘汰的全过程

14.软件过程

概念:工作产品构建过程中,需要完成的工作活动,动作和任务

模型:瀑布(军工,航天,医疗),原型(客户或开发者对系统不熟悉),增量(进化开发,希望尽快),螺旋(多次迭代,需求变化),喷泉(面向对象),敏捷(变化和不确定,商业竞争)

15.需求分析

概念:确定系统必须有的功能和性能,系统要求的环境,系统发展的前景

需求确认的步骤:需求获取→需求提炼→需求描述→需求验证

需求分析三类建模:功能模型、数据模型、行为模型。

功能模型(用例图)

主要包含参与者(角色),用例(动作),执行关联(前两者的关系)

行为模型——活动图

16.软件设计

系统设计分为概要设计(如何实现)和详细设计(怎样实现)

抽象:忽略具体信息将不同事物看成相同事物

体系结构:软件的整体结构和体系结构为系统提供概念上完整性的方式

设计模式:在给定上下文环境中一类共同问题的共同解决方案

模块化:软件被划分成命名和功能相对独立的多个组件,组件的集成来满足需求

信息隐藏:分解系统软件以到达最佳的模块划分

功能独立:每个模块只负责特定子功能,其他部分看,具有简单接口

精化:逐步求精的过程

重构:不改变功能和行为,简化组件设计(或代码)的一种重组技术

系统设计从体系结构、数据、接口和组件四方面进行设计

面向对象的系统设计,各自包含的设计内容:架构设计(物理模型,子系统,非功能需求),用例设计与类设计

类图

UML顺序图

对象:

17.软件质量

概念:明确表示是否符合功能和性能要求,明确的记载开发标准和所有专业开发软件的期望的隐形特点

单元测试(检验程序模块)的内容:模块接口,出错处理,独立路径,边界条件,局部数据结构

集成测试的分类:自顶向下,自底向上,冒烟测试

系统测试的分类:

验收测试的分类:

18.黑白盒

白盒:语句覆盖(每种可能都执行一次),分支覆盖,条件覆盖

项目管理

四要素:人员,产品,项目,过程

软件度量的方法:面向规模的度量,面向功能点的度量