软件项目与知识团队管理基础

系统分析与设计 Homework 2

Posted by Heng on March 30, 2019

简答题

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

答:

  • 分析强调的是对问题和需求的调查研究,而不是问题的解决方法。是为了调研抽象出问题的几个核心要点。
  • 设计强调的是一个满足需求的概念性解决方法,而不是具体实现,是将分析出的要点形成结构化的整体框架。

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

答:

  • 降低了问题分析和实现之间的沟通成本,能够正确理解问题域以及系统责任,支持软件的复用与迭代且易于他人理解软件的整个体系设计。

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

答:

  • UML的作用:UML是可视化分析和设计结果的标准图表语言,是一种用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。
  • 考试考的图有:
    • 用例图:用户角度:功能、执行者
    • 静态图:系统静态结构
      • 类图:概念及关系
      • 对象图:某种状态或时间段内, 系统中活跃的对象极其关系
      • 包图:描述系统的分解结构
    • 行为图:系统的动态行为
      • 交互图:描述对象间的消息传递
        • 顺序图:强调对象间消息发送的时序
        • 合作图:强调对象间的动态协作关系
      • 状态图:对象的动态行为。状态-事件-状态迁移-相应动作
      • 活动图:描述系统为完成功能而执行的操作序列
    • 实现图:描述系统的组成和分布状况
      • 构件图:组成部件及其关系
      • 部署图:物理体系结构及软件单元的对应关系

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

答:

  • 软件范围控制,指的是进行软件项目设计时,从所得到的需求中只选取部分进行实现。
  • 软件具有的本质特性:复杂性一致性可变性不可视性
  • 由于软件所具有的这些特性,软件范围多数情况下对于客户和开发者都是模糊的,软件开发过程中,开发人员必须在满足客户基本需求的前提下,围绕开发的成本进行调控,删去一些不明确、不合理的需求,来确保软件开发过程的可控性。而根据2/8法则,只需要细化实现20%的有效需求,就可以满足80%的客户需要,所以软件范围控制是可行的,而且也是十分必要的。

项目管理实践

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

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

小组项目看板

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

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

答: UML和模式应用 (Page 110,图9-9)