Xungerrrr's Blog

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

系统分析与设计 Homework 2

Word count: 755Reading time: 2 min
2019/03/10 Share

简答题

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

  • 分析强调的是对问题和需求的调查研究,而不是解决方案。例如,如果需要一个新的在线交易系统,它会怎样被使用?它有什么功能?分析是做正确的事情(Do the right thing)。
  • 设计强调的是满足需求的概念上的解决方案(在软件方面和硬件方面),而不是其实现。例如,对数据库模式和软件对象的描述。设计是把事情做对(Do the thing right)。

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

能够构建与真实世界相似的问题模型和对象,符合人在世界中的思维方式,使得人能够更好地理解和设计。

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

将分析和设计的结果可视化,将问题抽象成容易理解的可视化模型。

UML图分四类:

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

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

软件的本质决定了软件开发的困难,Brook总结其本质特性为四个:复杂性、不一致性、可变性、不可见性。因此,软件范围多数情况下对于客户和开发者都是模糊的,这形成软件产品与其他产品不同的开发过程。在保证需求的前提下,可以砍去一些客户都没思考清晰的业务,通过多次反馈和迭代进行开发和升级,使得软件的范围和需求受控。

项目管理实践

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

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

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

《UML和模式应用(原书第3版)》,P6,图1-3:

各模块参数:

CATALOG
  1. 1. 简答题
    1. 1.1. 用简短的语言给出对分析、设计的理解。
    2. 1.2. 用一句话描述面向对象的分析与设计的优势。
    3. 1.3. 简述 UML(统一建模语言)的作用。考试考哪些图?
    4. 1.4. 从软件本质的角度,解释软件范围(需求)控制的可行性
  2. 2. 项目管理实践
    1. 2.1. 看板使用练习(提交看板执行结果贴图,建议使用 Git project)
    2. 2.2. UML 绘图工具练习(提交贴图,必须使用 UMLet)