@@ -23,4 +23,97 @@ UML占大头,九种xx都要会
2323
2424分析设计题70分
2525
26- 提出需求、需求分析、识别利益关系者、识别用例、用例设计描述、UML设计、各种建模、活动图、用例图、异常流 分支流
26+ 提出需求、需求分析、识别利益关系者、识别用例、用例设计描述、UML设计、各种建模、活动图、用例图、异常流 分支流
27+
28+
29+
30+ ### 简答题
31+
32+ 1 . 软件统一过程模型及各个阶段(非常重要)
33+
34+ 统一过程(RUP/UP,Rational Unified Process)是一种以用例驱动、以体系结构为核心、迭代及增量的软件过程模型,由UML方法和工具支持,广泛应用于各类面向对象项目。
35+
36+ 1 . UP的** 起始阶段** 包括客户端沟通和策划活动。
37+ 2 . ** 细化阶段** 包括沟通和通用过程模型的建模活动。
38+ 3 . ** 构建阶段** 与通用软件过程中的构建活动相同。
39+ 4 . ** 转换阶段** 包括通用构建活动的后期阶段以及通用部署活动的第一部分。
40+ 5 . ** 生产阶段** 与通用过程的部署活动一致。
41+
42+ 2 . 软件的定义(重要)
43+ 计算机软件是由专业人员开发并长期维护的工作产品。这些产品包括可以在各种不同容量和不同系统结构的计算机上运行的程序。
44+ 软件和硬件具有完全不同的特性:软件不会“磨损”,但是软件退化的确存在。
45+ 软件维护要应对变更请求,比硬件维护更为复杂。
46+
47+ 3 . 什么是软件过程?有哪些常用的过程模型?(重要)
48+
49+ - 过程是事情进行或事物发展所经过的顺序
50+ - 当开发产品或构件系统时,遵循一系列可预测的步骤(即路线图)是非常重要的,它有助于及时交付高质量的产品
51+ - 软件开发中所遵循的路线图就称为”软件过程“
52+
53+ 常用的过程模型有:瀑布模型、原型模型、螺旋模型、统一过程模型
54+
55+ 4 . 软件工程的定义(重要)
56+ 软件工程包括过程、一系列方法(实践)和大量工具,专业人员借由这些来构建高质量的计算机软件。
57+ 软件工程:将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。
58+
59+ 5 . 软件的生命周期
60+ 定义问题、软件开发和软件维护
61+
62+ 6 . 什么是敏捷开发
63+ 是一种软件开发方法论,可以应对客户快速变更的需求。它强调以人为核心,采用迭代的方式,循序渐进的开发软件。
64+ 基于敏捷原则进行的软件开发过程,视为敏捷过程。所谓“基于”,是指充分考虑,而不是全部包含。
65+
66+ 7 . 设计建模原则
67+
68+ 1 . 设计应可追溯到需求模型。
69+ 2 . 始终考虑要构建系统的体系结构。
70+ 3 . 数据设计与处理功能设计同等重要。
71+ 4 . 接口(内部和外部)的设计必须谨慎。
72+ 5 . 用户界面设计应适应最终用户的需求。
73+ 6 . 构件级设计应在功能上独立。
74+ 7 . 构件应彼此松耦合,并应与外部环境松耦合。
75+ 8 . 设计表示(模型)应易于理解。
76+ 9 . 设计应迭代式开发。
77+ 10 . 设计模型的创建并不排除采用敏捷方法的可能性。
78+
79+ 8 . 什么是模块化?
80+ 模块化是软件的单一属性,它使程序能被智能化地管理。
81+
82+ 9 . 为什么需要模块化?
83+
84+ - 模块化是为了使一个复杂的大型程序能被人的智力所管理,软件应该具备的惟一属性。
85+ - 如果一个大型程序仅由一个模块组成,它将很难被人所理解。
86+
87+ 10 . 什么是构件?(重要)
88+ 通常来讲,构件是计算机软件中的一个模块化的构造块。
89+ 再正式一点,OMG统一建模语言规范是这样定义构件的:系统中模块化的、可部署的和可替换的部件,该部件封装了实现并对外提供一组接口。
90+
91+ 11 . 什么是体系结构?
92+ 体系结构并非可运行的软件。确切地说,它是一种表达,使能够:
93+ (1) 在满足既定的需求方面下,分析设计有效性;
94+ (2) 在设计变更相对容易的阶段,考虑体系结构可能的选择方案;
95+ (3) 降低与软件构造相关的风险
96+
97+ 12 . 内聚性
98+ 传统观点:构件的专一性
99+ 面向对象的观点:内聚性意味着构件或类只封装那些相互关联密切,以及与构件或类自身有密切关系的属性和操作。
100+ 内聚分类:功能内聚、分层内聚、通信内聚、顺序内聚、过程内聚、时间内聚、偶然内聚
101+
102+ 13 . 耦合性
103+
104+ ** 耦合性是程序结构中各个模块之间相互关联的度量它取决于各个模块之间接口的复杂程度、调用模块的方式以及那些信息通过接口** 。
105+ 传统观点:一个组件连接到其他组件和外部世界的程度。
106+ 面向对象的观点:耦合是类之间彼此联系程序的一种定性度量。
107+ 耦合是必然存在的。
108+ 耦合程度:内容耦合、共用耦合、控制耦合、标记耦合、数据耦合、例程调用耦合、类型使用耦合、包含或者导入耦合、外部耦合。
109+
110+ 14 . 黄金规则(非常重要)
111+ Theo Mandel关于界面设计提出的三条黄金规则
112+
113+ 1 . 把控制权交给用户
114+ 2 . 减轻用户的记忆负担
115+ 3 . 保持界面一致
116+
117+
118+
119+
0 commit comments