Software System Analysis and Design Assignment 2

系统分析 第二次作业

熊永琦 16340258

简答题

  • 用简短的语言给出对分析、设计的理解。
    • 分析 Analysis:其任务是根据客户的需求,提取用户的具体需求,并基于此构建需求模型,并给出初步的软件架构。其重点在于调查问题和需求本身,而不是最后的解决方案。这包括改进使用案例(场景)模型、定义用户需求模型、定义候选的架构、改良架构。
    • 设计 Design:其任务是根据分析得到的需求模型和使用场景,设计出能够满足需求模型和使用场景的软件框架。其最关心的是一个能够满足要求的概念上的解决方案(的设计),而不是解决方案的实现。这包括设计使用案例(场景)的具体实现、开发设计模型、开发部署模型。
  • 用一句话描述面向对象的分析与设计的优势。
    • 不同领域的,或者说负责不同阶段任务的专业技术人员不必要知道其他领域的专业知识,他们可以通过一种共同的,事先约定的记号语言来进行交流。
  • 简述 UML(统一建模语言)的作用。考试考哪些图?
    • UML 的作用
      • 作为草图:UML 可以用于来创建那些用于探索不同问题和不同可能解决方案的非正式、未完全的图样。
      • 作为蓝图:UML 可以用于反向工程,构建已有代码的示意图来更好地理解现有工程结构,同时也可以帮助工程师更好地将结构化工程转换为代码。
      • 作为编程语言:UML 可以构建一个可执行的软件系统,并自动生成可运行的代码。
    • 考察四类十种视图:
      • 用例图:从用户角度出发,描述软件功能和执行者。
      • 静态图
        • 类图:描述类之间的概念和关系。
        • 对象图:描述某个时间状态内系统中的对象和他们之间的关系。
        • 包图:描述系统的分解结构。
      • 行为图
        • 交互图:描述对象间的消息传递。
        • 状态图:描述对象的动态行为。
        • 活动图:描述系统为完成某项功能而执行的操作序列。
      • 实现图
        • 构件图:组成部件及其关系。
        • 部署图:物理体系结构和软件单元间的对应关系。
  • 从软件本质的角度,解释软件范围(需求)控制的可行性
    • 软件内在本质是软件危机的根源,为了满足用户增长的需求而设计和实现的计算机程序即为软件。然而大多数情况下,客户与开发者能就项目的少量内容给出严格的需求约定,绝大多数的内容都是相对模糊的。但是客户感兴趣的往往是当时背景下最能创造价值的几个特性,软件的复杂性、不可见性、不一致性、可变性决定了其范围对于客户和开发者均为模糊的,但这带给了开发管理的特色,产品设计与开发者有更大的话语权,从而使得范围管理成为可能。给予一些项目管理领域的成功模型(如 STR 模型),我们就能有效地在需求间做出决策,实现一定程度上的软件范围控制。

项目管理实践

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

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

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

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

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

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×