系统分析与设计 - Homework2

1、简答题

用简短的语言给出对分析、设计的理解

  • 分析:关注对于问题的本质和其需求的调研,而不那么关注解决方案。
    • 做正确的事情
  • 设计:关注满足需求的概念化的解决方案,而不关注具体的实现。
    • 把事情做正确

用一句话描述面向对象的分析与设计的优势。

  • 面向对象的分析与设计不需要分析师精通编程语言,同时在分析问题和解决问题的两个过程中使用同一类建模标记。

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

  • UML能可视化分析和设计结果。

考试考的图

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

从软件本质的角度,解释软件范围(需求)控制的可行性

  • 软件本质:写代码,而不是花费大量的时间写代码。
  • 因为软件的本质使得在代码生产与管理成本之间取得平衡这一问题的解决之道变得尤为重要。
  • 从提升客户满意度的角度,对软件范围进行控制可以提高软件项目的成功率。
    • 由于在多数情况下,客户与开发者能就项目20%内容给出严格的需求约定,而80%都是相对模糊的。围绕客户目标,发现并满足客户感兴趣的内容很关键。
    • 同时考虑到软件本质为写代码,因而控制软件范围就间接控制了代码量,因此使得软件整体成功率变高。并且由于当前软件在初期一般仅针对一两个功能进行突破加以研究,因而这两个功能为软件的核心。找到软件的核心所在,其余的内容加以控制甚至丢弃,便使得软件范围的控制变得可行。

2、项目管理实践

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

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

    kanban

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

    • 《UML和模式应用》P329
    • UML