1、指导实践的原则有哪些?
①敏捷
②每一步都关注质量
③做好适应的准备
④建立一个有效的团队
⑤建立沟通和协调机制
⑥管理变更
⑦评估风险
⑧创造能带来价值的工作产品
2、指导实践的原则有哪些?
①分而治之
②抽象
③力求一致性
④关注信息传递
⑤模块化
⑥寻找模式
⑦从不同角度表示问题和解决方案
⑧总有人将要对软件进行维护
3、沟通的原则有哪些?
①倾听
②有备而来
③要有人主持
④面对面沟通
⑤记录和纪要
⑥通力合作
⑦模块化讨论
⑧一幅图胜过千言万语
⑨转换话题
⑩协商不是一场竞赛或者一场游戏,协商双赢时才发挥了协商的最大价值
4、规划的原则有哪些?
①理解项目范围
②吸引利益相关者参与讨论
③计划的制订应按照迭代方式进行
④根据已知进行估计
⑤考虑风险
⑥保持脚踏实地
⑦调整计划粒度
⑧制定计划确保质量
⑨描述如何适应变换
⑩经常跟踪并根据需要调整计划
5、建模的原则有哪些?
①软件团队的主要目标是构建软件而不是创建模型
②不要创建不需要的模型
③尽量创建能描述问题和软件的最简单模型
④用能适应模型改变的方式构建模型
⑤明确描述创建每一个模型的目的
⑥调整所开发模型来适应待开发系统
⑦尽量构建有用的模型而不是完美的模型
⑧对模型的构建方法不要过于死板
⑨如果直觉告诉你模型不妥当,应重新检查或重新设计
⑩尽可能快地获得反馈
6、需求建模的原则?
①必须描述并理解问题的信息域,信息域包括了流入系统的数据,流出系统的数据,数据存储
②必须确定软件所要实现的功能
③必须描述软件的行为(作为外部事件的结果)
④描述信息、功能和行为的模型必须以一种能揭示分层细节的方式分解开来
⑤分析任务应该从本质信息转向实现细节
7、设计建模的原则?
①设计可追溯到需求建模
②要始终关注待建模系统的架构
③数据设计与功能设计同等重要
④必须精心设计接口
⑤用户界面设计必须符合最终用户要求
⑥构件级设计应是功能独立的
⑦构件之间以及构件与外部环境之间松散耦合
⑧设计表述(模型)应该做到尽可能易于理解 ⑨设计应该迭代式进行
8、编码的原则有哪些?
(1)准备原则。在写下每行代码前,要确保:
理解所要解决的问题;
理解基本的设计原则和概念;
选择一种能够满足构建软件以及运行环境要求的编程语言;
选择一种能够提供工具以及简化工作的编程环境;
构件级编码完成以后进行编码测试。
(2)编程原则。在开始编码时,要确保:
遵循结构化编程方式来约束算法;
考虑使用结对编程;
选择能满足设计要求的数据结构;
理解软件架构并开发出与其相符的接口;
尽可能保持条件逻辑简单;
开发的嵌套循环应使其易于测试;
选择有意义的变量名并符合相关编码标准;
编写注释,使代码具有自说明性;
增加代码的可读性。
(3)确认原则。在完成第一阶段的编码之后,要确保:
适当进行代码走查;
进行单元测试并改正所发现的错误;
重构代码。
9、测试的原则?
①所有的测试都应该可以追溯到用户需求;
②测试计划应该远在测试之前就开始着手;
③将Pareto原则应用于软件测试;
④测试应该从“微观”开始,逐步转向“宏观”;
⑤穷举测试是不可能的。
10、部署的原则?(部署活动包括三个动作:交付、支持和反馈)
①客户对于软件的期望必须得到管理;
②完整的交付包应经过安装和测试;
③技术支持必须在软件交付之前就确定下来;
④必须为最终用户提供适当的说明材料;
⑤有缺陷的软件应该先改正再交付;
11、什么是抽象?
从许多事物中,舍弃个别的、非本质的属性,抽出共同的、本质的属性的过程。
12、为什么穷举测试是不可能的?
即使是一个中等大小的程序,其路径排列组合的数目都非常庞大。因此,在测试中对每个路径组合测试是不可能的。然而,充分覆盖程序逻辑并确保构件级设计中的所有条件都通过测试时可能的。