1、建模的目的是什么?
- 建模的目的包括:
- 通过分治法处理系统复杂性;
- 针对要解决的问题构建仅关注相关问题的模型,且模型要简单到让人能完全理解;
- 能将简单模型逐步细化为更接近现实的详细模型;
- 支持广泛的沟通活动;
- 为存储设计及其基本原理提供紧凑表示,供未来参考。
2、编程语言是一种用于表示算法和数据结构的符号。列出在整个开发过程中仅使用编程语言作为唯一符号的两个优点和两个缺点。
- 优点 :
1. 可直接执行,能快速验证算法逻辑和数据结构的正确性。
2. 有丰富的库和工具支持,提高开发效率。 - 缺点 :
1. 抽象程度相对较低,难以表达复杂系统的高层次概念和架构。
2. 不同开发者对代码理解可能存在差异,增加沟通成本。
3、“知识获取不是顺序性的”是什么意思?请举一个具体的知识获取例子来说明这一点。
“知识获取不是顺序性的”指的是新信息的加入可能会使我们为理解一个系统而获取的所有知识失效,并非按照固定顺序逐步积累知识。例如在软件开发中,即使系统已经完成了90%的编码,预计下周就能完成,但新信息的出现可能需要重新开始。就像发现设计和实现中的错误、用户评估时发现可用性问题,或者有新技术出现,如长寿命电池和高带宽无线通信技术的出现,都可能引发对便携式终端概念的修订,之前已有的知识和工作可能需要重新调整。
4、推测以下设计决策的理由:“票务分发机最高为一米半”;“票务分发机将包含两个冗余计算机系统”;“票务分发机界面将由用于显示指令和访问命令的触摸屏以及一个用于中止交易的按钮组成”。
-
“票务分发机最高为一米半”可能是为了适应安装空间,方便不同身高人群操作,且便于运输和摆放。
-
“票务分发机将包含两个冗余计算机系统”是为了提高系统可靠性和稳定性,当一个系统出现故障时,另一个系统可继续工作,减少停机时间,确保票务服务正常进行。
-
“票务分发机界面将由用于显示指令和访问命令的触摸屏以及一个用于中止交易的按钮组成”,触摸屏能直观展示信息,方便用户交互操作;设置单一的中止交易按钮,可让用户在需要时快速停止交易,操作简单且明确。
5、指出下列陈述哪些是功能需求,哪些是非功能需求:“票务分发机必须能让旅客购买周票。” “票务分发机必须用 Java 编写。” “票务分发机必须易于使用。” “票务分发机必须始终可用。” “票务分发机发生故障时必须提供联系电话。”
- 功能需求:
- 票务分发机必须能让旅客购买周票。
-
票务分发机发生故障时必须提供联系电话。
-
非功能需求:
- 票务分发机必须用 Java 编写。
- 票务分发机必须易于使用。
- 票务分发机必须始终可用。
6、指出以下哪些决策是在需求阶段做出的,哪些是在系统设计阶段做出的:‘票务分发器由用户界面子系统、计算票价子系统和用于与中央计算机通信的网络子系统组成。’ ‘票务分发器硬件使用PowerPC处理器芯片。’ ‘票务分发器为旅客提供在线帮助。’
- “票务分发器由用户界面子系统、计算票价子系统和用于与中央计算机通信的网络子系统组成” 和 “票务分发器硬件使用PowerPC处理器芯片” 是系统设计阶段的决策;
- “票务分发器为旅客提供在线帮助” 是需求阶段的决策。
7、在以下描述中,解释术语“账户”何时用作应用领域概念,何时用作解决方案领域概念:“假设你正在为移动客户开发一个在线管理银行账户的系统。一个主要的设计问题是,当客户无法建立在线连接时,如何提供对账户的访问。一个建议是,即使服务器未启动,移动计算机上也能显示账户信息。在这种情况下,账户显示的是上次连接会话的余额。”
- 账户 作为应用领域概念时,代表银行客户持有的银行账户这一与系统相关的领域概念;
- 作为解决方案领域概念时,指为解决客户无法在线连接时访问账户问题,在移动计算机上呈现的账户信息及相关处理方式,是系统设计的一部分。
8、任务和活动之间的区别是什么?
- 任务 是可管理的原子工作单元,由经理分配给开发者执行,经理监控其进度和完成情况。
- 任务消耗资源,产生工作产品。
-
任务依赖其他任务产生的工作产品。
-
活动 是更大的工作单元,相关任务会被归为活动,其持续时间通常与开发阶段相同,如需求分析或系统设计。
- 当活动贯穿项目的整个持续时间时,被称为 项目功能 。
9、一架客机由数百万个零件组成,需要数千人来组装。四车道公路桥是另一个复杂的例子。微软1989年发布的首款Windows版Word文字处理软件,耗费了55人年的工作量,产生了249000行源代码,且推迟了4年交付。飞机和公路桥通常能按时且在预算内交付,而软件却常常做不到。请讨论在你看来,开发飞机、桥梁和文字处理软件导致这种情况的差异是什么。
- 飞机和桥梁 :
- 属于传统工程项目,具有成熟的行业标准和规范。
- 设计和施工方法经过长期实践检验,确定性高。
- 物理特性稳定,可提前进行精确规划和预测。
-
拥有严格的监管体系,确保项目按计划和预算完成。
-
软件开发 :
- 需求易变,客户在开发过程中可能提出新要求或修改原有需求。
- 软件系统复杂且抽象,难以精确估算工作量和时间。
- 技术更新迅速,增加了开发过程中的不确定性。
- 项目对人员依赖程度高,人员流动和能力差异会影响项目进度和质量。
10、考虑一个自动取款机(ATM)系统。识别至少三个与该系统交互的不同参与者。
与ATM系统交互的参与者有:
- 客户 :他们使用ATM进行取款、查询余额等常规操作;
- 银行管理员 :负责ATM的维护、加钞等工作;
- 技术维护人员 :对ATM的硬件和软件进行维修和升级。
11、正在考虑的系统能否被表示为一个参与者?请说明理由。
- 可以。

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



