13Point
1 信息系统工程的目标
是在规定的预算和进度范围内,生产满足用户需求的高质量的信息系统
2 软件工程(信息系统)三要素
方法、工具和过程。
3 统一开发过程 rup 哪四个阶段?6个核心工作流
3.1 RUP 四个阶段
- 初始阶段:
- 建立系统业务案例,确定项目边界,关注风险
- 里程碑-生命周期目标里程碑
- 细化阶段:
- 分析问题领域,捕获大部分系统功能需求用例
- 建立体系结构基础
- 编制项目计划
- 生命周期结构里程碑
- 构造阶段:
- 本质是制造过程
- 完成所有需求分析与设计
- 所有构件和应用程序功能被开发并集成为产品
- 所有功能被详细测试
- 本阶段通过一系列迭代过程建造系统,每一次迭代开发都是一个小项目的开发过程。
- 初始功能里程碑
- 交付阶段:
- 确保系统对最终用户可用,并将系统部署到系统环境
- 产品发布里程碑
3.2 RUP 六个核心过程工作流:
3分析+3实践
- 业务建模(Business Modeling):通过分析业务需求和流程,建立业务模型以支持系统开发。
- 需求(Requirements):捕获并明确用户和系统的功能与非功能需求,通常通过用例(Use Case)描述。
- 分析与设计(Analysis & Design):将需求转化为系统架构和设计模型,包括类图、交互图等UML模型。
- 实现(Implementation):将设计转换为代码,完成构件开发、集成和单元测试。
- 测试(Test):验证系统是否符合需求,包括功能测试、性能测试及用户验收测试等。
- 部署(Deployment):将系统交付到用户环境,包括安装、培训和迁移等工作。
4 软件过程模型(瀑布/增量等等)
4.1 瀑布模型(结构化生命周期模型)
- 严格按照顺序执行各阶段(如问题定义、可行性研究、系统分析、设计、实现、测试、维护)。
- 每个阶段结束后需交付文档并通过评审才能进入下一阶段,适用于需求明确的项目。
- 特点:
- 各阶段工作安排基本按顺序进行
- 系统规划->系统开发->系统运行
- 适用范围:
- 早期可冻结用户需求
- 组织结构稳定,需求明确
- 系统规模大,功能结构复杂
4.2 快速原型法(快速原型化模型)
- 通过快速构建原型与用户交互,早期验证需求,适用于需求不明确的场景。
- 强调用户参与和迭代反馈,缩短开发周期。
- 快速构建原型,逐步迭代完善
4.3 螺旋模型
- 结合瀑布模型和原型法的迭代特性,每个迭代周期包括制定计划(本次迭代)、风险评估、开发和验证、规划(是否下次迭代)四个步骤。
- 通过多次迭代逐步完善系统,重点在于风险分析。
4.4 迭代增量模型(统一开发过程/RUP)
- 四阶段: #3.1. RUP 四个阶段
工作流 9个(3个核心支持,6个核心过程):
核心支持:
配置和变动管理 项目管理 环境
核心过程: #3.2. RUP 六个核心过程工作流:
| 业务建模 | 需求 |
| 分析设计 | 实现 |
| 测试 | 部署 |
核心特点包括用例驱动、以架构为中心、迭代(工作流重复)与增量(信息系统内容增加)。
5 面向对象设计的七大原则(开闭.etc)
| 名称 | 定义 | 目的 |
|---|---|---|
| 单一职责原则 | 一个类只负责一个功能领域中的对应职责 | 便于理解,提高代码的可读性 |
| 开闭原则 | 软件实体应对扩展开放,修改关闭 | 降低维护带来的新风险 |
| 里氏代换原则 | 所有引用基类(父类)的地方能够透明地使用其子类对象 | 防止继承泛滥 |
| 依赖倒转原则 | 抽象不应该依赖于细节,细节应该依赖于抽象 | 更利于代码结构的升级扩展 |
| 接口隔离原则 | 使用多个专门的接口,而不使用单一的总接口 | 功能解耦,高聚合、低耦合 |
| 合成复用原则 | 尽量使用对象组合,而不是继承来达到复用的目的 | 降低代码耦合 |
| 迪米特法则 | 软件实体应尽可能少地与其他实体发生相互作用 | 减少代码臃肿 |
6 ⭕编码能力(一个规则能编多少码)校验位计算
7 uml有哪九种图
UML语言定义了五种类型,9种不同的图,把它们有机的结合起来就可以描述系统的所有视图。
| UML图类型 | 描述 | 包含的具体图 |
|---|---|---|
| 用例图 | 从用户角度描述系统功能,并指出各功能的操作者 | 用例图 |
| 静态图 | 表示系统的静态结构 | 类图、对象图、包图 |
| 行为图 | 描述系统的动态模型和组成对象间的交互关系 | 状态图、活动图 |
| 交互图 | 描述对象间的交互关系 | 顺序图、协作图 |
| 实现图 | 用于描述系统的物理实现 | 构件图、部署图 |
8 ⭕面向对象设计 各种设计模式适用场合(eg:塔台调度),什么时候要用
工场:多实例化
调停:机场
观察:看小孩
8.1 创建型设计模式->创建对象建模
- 工厂方法
- 抽象工厂
8.2 结构型设计模式->用接口联系实现和抽象,组合已有对象
- 外观
- 适配器
8.3 行为形模式->对变化封装,提供灵活行为方式
- 策略
- 观察者
- 调停者
9 正向工程逆向工程概念
- 正向工程是指从模型->代码的过程。利用一定的开发工具,设计者可以通过正向工程从模型生成代码框架,从而减少了开发者用于编写类、属性、方法代码等琐碎工作的时间。
- 逆向工程将代码->设计模型。在只有源代码,而没有设计文档的情况下,通过逆向工程得到设计模型。从而了解以前某个软件的设计。逆向工程也可以用于对代码和模型进行同步。
10 面向对象设计(OOD)的五个部分
OOD模型包括一个问题域部分的核心, 还包括人机交互部分、控制驱动部分、数据管理部分和构件及部署部分四个外围部分

| 部分名称 | 描述 |
|---|---|
| 问题域部分 | 描述系统的核心业务逻辑和领域模型,关注需求分析和业务对象建模 |
| 人机交互部分 | 即人机界面设计部分 |
| 控制驱动部分 | 用来定义和协调并发的各个控制流 |
| 数据管理部分 | 用来对持久对象的存取建模 |
| 构件及部署部分 | 构件模型用于描述构件以及构件之间的关系,部署模型用于描述节点、节点之间的关系以及实现构件的制品在节点上的分布 |
11 mvc模式中,m,v,c三部分作用
MVC设计构架将功能划分为相互关联的3个构件:模型、视图和控制器。
- m 模型 model 部分是应用程序的主体部分,表示系统的业务逻辑。
- v 视图 vision 部分实现系统的外观,它是应用系统的外在表现,即界面。
- c 控制器 controller 部分接受用户请求,用户数据->给业务逻辑模块,调用相应的业务逻辑模块进行处理,根据用户所需要的响应调用相应的视图模块->结果页面返回
作用:
- 多个视图映射同一个模型
- 模型部分的独立性
- 控制器的多对应性
将控制器、模式和视图强制分离,各自独立,虽然会
增加一些额外的工作,但其带来的好处会更大。
12 软件测试的目的是什么,软件测试工作中要注意的原则
- 软件测试的目的是用最小的代价找出软件中潜在的错误和缺陷。
- 测试的目的并不是证明软件中没有错误,而是找出软件中的错误。没有发现错误的测试不是成功的测试。
- 测试具有不彻底性,人们必须研究如何设汁测试用例,以期用较少的测试用例,覆盖尽可能多的需要测试的内容。
12.1 ~在测试中要特别注意以下几点
- 尽早地和不断地进行测试
- 制定严格的测试计划
- 完全测试程序是不可能的,但是要尽量全面地测试
- 认真设计测试用例
- 避免检查自己的程序
- 发现的错误越多,说明潜在的错误越多(米中含沙)
- 正确对待测试的结果
- 妥善保存相关文档
13 LAMP stack 开源解决方案各字母意义
LAMP是这个开发环境中四个组件的缩写:
- L指的是Linux操作系统;
- A指的是Apache web服务器;
- M指的是MySQL开源数据库;
- P则是PHP、Perl或Python脚本语言。
这四种开源技术结合在一起便组成了一个应用服务平台。