二 Introducing Modeling and the Software Development Process
介绍模型化和软件开发的过程
目标
1、描述面向对象软件开发(OOSD)过程
2、建模是如何支持OOSD的
3、建模开发有什么好处
4、解释OOSD的工作流程:需求收集、需求分析、架构、设计、实施、测试、部署 的目标,活动和工件
OOSD的主要步骤:需求收集 ==》需求分析 ==》架构 ==》设计 ==》实施 ==》测试 ==》部署
//2016年8月13日18:16:01 一不小心又停了很长时间
描述软件方法论(一套方法)
A methodology is “a body of methods, rules, and postulates employed by a discipline”
[Webster New Collegiate Dictionary]
方法论是有纪律组织方法,规则,假设的一套体系 —— Webster New Collegiate Dictionary
1、在OOSD中,方法论是指对软件项目的高级别的组织。
2、这个组织可以分解成中级别的段,段可以分解成工作流,工作流可以分解成活动。
3、活动把一个工作流转换成另一个工作流。一个工作流的输出是下一个工作流的输入。
4、最终的工件是一个工作的软件系统,这个系统满足最开始的工件:系统的需求。
描述软件团队的工作角色
浏览需求收集的工作流
目的:决定系统必须做什么
描述:
1、决定系统和谁交互(演员)
2、决定系统必须支持哪些行为(用例图)
3、决定每个用例图的详细的行为,主要是低级别的功能需求
4、决定非功能需求
工件包括:
1、用例图
2、用例场景
3、用例描述
4、功能性需求和非功能性需求
5、附加说明(书):系统范围非功能性需求、项目风险、项目限制、业务目的、未来业务方向、相关者、词汇术语条
浏览需求分析的工作流
目的:对现有的业务步骤建模
描述:
1、决定每一个用例的详细行为
2、决定补充用例
3、决定在当前增量问题领域的中的关键抽象(类)
4、决定业务领域类图
浏览架构的工作流
目的:对系统结构高级别的建模,以满足非功能性需求
描述:
1、开发软件解决方案的高级别结构
2、识别将会支持架构模型的技术
3、用架构设计模式精心设计架构模型,以满足非功能性需求
浏览设计的工作流
目的:对“系统是如何支持用例”建模
描述:
1、用交互图为用例穿件设计模型
2、使用状态机对非琐碎状态识别和建模
3、对设计模型使用设计模式
4、通过合并设计模型和架构模型创建解决方案模型
5、精炼领域模型
浏览实现、测试和部署的工作流
目的:实现,测试,部署系统
面述:
1、实现软件
2、进行测试
3、将软件部署到生产环境
建模软件的好处
软件最开始起源于人的想法,为了把这个想法转化为生成系统,就可以使用建模。
什么是模型
模型是现实的简化。—— Booch UML User Guidepage 6
模型是某些实体(如建筑)或系统(如软件)的抽象的概念化的产物。
不同的视角展现模型的不同观点。
就像建筑物的蓝图,是建筑物的抽象概念,有三视角(六视角等),前视角,左视角,俯视角。
为什么要使用软件建模
“We build models so that we can better understand the system
we are developing.” (Booch UML User Guide page 6)
我们创建模型,所以我们可以更好的理解我们正在开发的系统。
特别是,建模可以让我们:
1、让新的或已经存在的系统可视化
2、与利益相关者交流决定
3、记录下每一个存在于OOSD工作流的决定
4、说明系统的结构元素和行为元素
5、给创建软件系统一个方案
OOSD作为模型的转换(名词)
定义UML
“The Unified Modeling Language (UML) is a graphical language for visualizing,
specifying, constructing, and documenting the artifacts of a software-intensive system.”(UML v1.4 page xix)
统一建模语言(UML)是可视化,说明,构建,文档化软件密集型系统的工件的语言。—— UML v1.4 page xix
使用UML,模型是有一下构成的:
1、元素(事情和关系)
2、图(有元素构建而来)
3、视图(展示模型不同方面的观点)
UML元素
UML图
UML图分类
常见的UML元素和(关系)链接
UML有一些元素和链接是在每个种类的UML图中通用的。是:
1、包
2、注释
3、依赖
4、标记
包和注释
依赖和标记
箭头是依赖关系
形如“<<type>>”是标记
UML是什么不是什么
UML不能创建可执行模型,但是可以用来创建代码框架。
UML不是编程语言,但是可以转化成大多数面向对象语言。
UML不是方法论,但是可以用作包含方法论的活动的工具。
ps:uml工具软件很强大,可以使用uml图生成代码结构。
总结
1、OOSD开始于收集系统需求,结束于部署可工作的系统。
2、工作流定义可以将工程工件从需求模型转换为实现的代码的活动。
3、UML支持创建代表你自己的模型的多个视角的可视化工件。
//2016年8月20日17:59:51 这章到此结束,翻译这章的时候,发现这章比较重要,
//所以90%以上是一字不落的翻译
//联系我,邮箱:bourne_w@sina.com
交个朋友吧
//祝自己早日找到更好的工作