软件系统分析与设计笔记(二)

Posted by Nino Lau on March 12, 2019

系统的分析与设计

对系统分析的理解

Analysis is the process of breaking a complex topic or substance into smaller parts in order to gain a better understanding of it.

分析是将复杂的话题或事物逐渐拆分的过程,以此来达到对话题更好的理解。即化虚为实,化复杂为简单。

对系统设计的理解

Design is the intentional creation of a plan or specification for the construction of an object or system or for the implementation of an activity or process.

设计是为对象或系统的构建或活动或流程的实现而有意创建的计划或规范。即目标活动(软件工程里主要指项目)的执行方式。


面向对象的分析与设计优势

面向对象方法的解决问题的思路是从现实世界中的客观对象(如人和事物)入手,尽量运用人类的自然思维方式来构造软件系统,这与传统的结构化方法从功能入手和信息工程化方法从信息入手是不一样的。因此,这种方法最大的优势在于可以在虚拟的软件环境模拟现实世界。


UML 统一建模语言

统一建模语言(Unified Mpdeling Language)是软件工程领域中一种通用的、开发的、建模语言,旨在提供一种可视化系统设计的标准方法。可以用来描述面向对象的分析与设计过程的图形化表达方式。

用例图

用户角度:功能执行者

静态图

  • 类图
  • 对象图
  • 包图

行为图

  • 交互图
  • 状态图
  • 活动图

实现图

  • 部署图

软件的范围控制的可行性

Project scope is the part of project planning that involves determining and documenting a list of specific project goals, deliverables, tasks, cost and deadlines. The Project Scope pertains to the work necessary to deliver a product.

项目范围是项目计划的一部分,包括确定和记录一系列具体的项目目标、可交付成果、任务、成本和截止日期。项目范围属于交付产品所需的工作。

软件的开发由于软件的复杂性、 不一致性、 可变性、和不可见性是十分困难的,软件范围对于客户和开发者一般都是模糊的,导致软件产品与其他产品有不同的开发过程。因此我们可以在保证客户基本需求的同时,通过多次反馈和迭代进行开发和升级,使得软件的范围和需求受控。


项目管理实践

为了系统化管理任务,参考Git Project 官方指南,我们在我们的 organization 中建立了 Git project 看板——M$ Plan kanban

我们的teamwork已经如火如荼地展开啦!


UMl 初体验

为了摆脱Eclipse的依赖,我下载了standalone的UMLet,然后用教材pp.110 figure 9.9的类图做了个简单的小测试,如图所示。为了我会尝试更难得UML图,应对课程日益增长的技能需求。

UML