05《UML大战需求分析》之五
调研需求的时候,用户会说这个软件要具备怎样的功能,能做什么事情等,这些是功能性的需求。部署图和构件图是用来描述软件架构的,但是我又怀疑软件需求调研也需要确定软件架构吗?
我阅读了一个例子,一个软件公司采用.NET技术体系研发了一套电力系统,该系统使用的是SQL SERVER数据库。但安装系统时,客户发现该系统使用的数据库是SQL SERVER时,要求必须使用Oracle,如此一来,软件公司只能修改系统,这样的软件改动工作量是很大的。所以一定会需要软件技术框架,如果忽视了在软件技术框架、软件架构上的要求的话,会给软件后期工作带来想不到的麻烦。很多项目往往在初期就会对技术框架有一定的限制,常见的情况有:1.新项目需要在原系统的基础上开发;2.新项目需要与某些存在的系统做对接;3.新项目需要充分利用客户的现有IT资源,尊重和保护客户投资;4.软件公司承接新项目时;5.有安全性、可靠性和性能等方面的要求。
需求阶段一般不会决定全部的技术细节,但是往往会需要确定技术框架层次的一些要求。部署图的主要目的是在物理层次上做整体的系统规划,当然网络拓扑结构图也能起到这个作用,但是建议使用部署图,因为部署图的作用更加强大,最重要的是还可以在此基础上继续细化设计。用部署图来表示系统架构会显得更加专业,而且节点中的Tags能帮助我们表达更多的内容。目前我们要解决的问题就是:1.用部署图描述客户当前的IT环境架构;2.用部署图设计客户改造后的IT环境架构。
构件图也叫做组件图,构件有以下特点:1.能实现一定功能,或者提供一些服务。2.不能单独运行,要作为系统的一部分来发挥作用。3.是物理上的概念,不是逻辑上的。4.可单独维护、可独立升级、可替换但是不影响整个系统。一般情况下需求阶段并不需要设计软件的内部结构,但是新系统有可能会与别的系统有交互,或者是与别的系统的数据库进行交互。这是就要使用构件图。数据库可以表示为构件,将某个构件画在某个节点上,表示需要在这个节点上部署该构件。
通过部署图与构件图捆绑应用,可以让我们更好地分析和表达本系统在IT架构上的宏观要求,以及本系统与其他的系统的关系等。综合运用部署图和构件图,还可以进行详细的软件架构设计。
最新文章
- Spring学习记录(七)---表达式语言-SpEL
- Palo(OLAP database)–MOLAP
- Java Servlet(九):转发请求与重定向请求区别
- pcm跟.wav文件的关系
- BZOJ2851 : 极限满月
- 视频处理控件TVideoGrabber如何对屏幕进行录制/压缩
- keil中如何得知所编译程序所占空间大小?
- C++ 内存泄露处理方法 (转)
- YYKit之YYModel
- Date Math SimpleDateFormat 类
- Android Wi-Fi Display(Miracast)介绍
- 保存和恢复 Android Fragment 的状态
- akoj-1267-独木舟上的荡漾
- email program (客户端)演变过程有感
- osx安装sass
- NOI导刊 2018河南郑州游记
- keras CNN解读
- 黑马程序员_java基础笔记(06)...集合
- 20145302张薇《Java程序设计》第四周学习总结
- LOJ2421 NOIP2015 信息传递 【tarjan求最小环】