Homework 2

一、简答题

  1. 用简单的语言给出对分析、设计的理解。

    Answer

    • 分析:将复杂的问题拆分,从而对问题有更深入的理解,侧重调研而不需要给出解决方案。例如分析客户需求。
    • 设计:通过合理的规划及分析,给出在概念上满足客户的设计需求方案,侧重理论。
  2. 用一句话描述面向对象的分析与设计的优势。

    Answer:分析与设计者和实现者可以互相使用通用符号沟通,而不必是掌握编程语言的专家。

  3. 简述UML(统一建模语言)的作用。考试考哪些图?

    Answer:UML是一种进行面向对象程序设计的工具,使分析和设计的结果可视化,用来把现实中的问题抽象成面向对象的解决方案,以便进一步的编码。它为交流面向对象中的设计中的需求、行为和体系结构的实现提供了一套综合的表示法。

    UML有十多种视图,分四类:

    • 用例图:用户角度:功能、执行者。
    • 静态图:系统静态结构。
      • 类图:概念及关系。
      • 对象图:某种状态或时间段内,系统中活跃的对象及其关系。
      • 包图:描述系统的分解结构。
    • 行为图:系统的动态行为。
      • 交互图:描述对象间的消息传递。
        • 顺序图:强调对象间消息发送的时序。
        • 合作图:强调对象间的动态协作关系。
      • 状态图:对象的动态行为。状态-事件-状态迁移-响应动作。
      • 活动图:描述系统为完成某功能而执行的操作序列。
    • 实现图:描述系统的组成和分布情况。
      • 构件图:组成部件及其关系。
      • 部署图:物理体系结构及与软件单元的对应关系。
  4. 从软件本质的角度,解释软件范围(需求)控制的可能性。

    Answer:软件的本质有复杂性、一致性、可变性与不可视性。基于以上特性,软件范围多数情况下对于客户和开发者都是模糊的,这形成软件产品与其他产品不同的开发过程。在多数情况下,客户与开发者能就项目的 20% 内容给出严格的需求约定,80% 的内容都是相对模糊的。所以我们需要在满足客户基本核心需求的情况下,不断发掘并满足客户感兴趣的内容,细化软件需求,扩大软件范围,从而创造出更多的价值。并且细化的软件范围,对于我们的开发也是非常有帮助的。

二、项目管理实践

  1. 看板使用练习(提交看板执行结果贴图,建议使用Git project)

    • 使用截图工具(png格式输出),展现你团队的任务Kanban。
    • 每个人的任务是明确的,必须一周后可以看到具体结果。
    • 每个人的任务是1-2项。
    • 至少包含一个团队活动任务。

    看板

  2. UML绘图工具练习(提交贴图,必须使用UMLet)

    • 请在参考书2或者教材中选择一个类图(给出参考书页码图号)

    Answer:英文教材 Applying UML and Patterns P46。

    UML

分享到 评论