调研需求的时候,用户会说这个软件要具备怎样的功能,能做什么事情等,这些是功能性的需求。部署图和构件图是用来描述软件架构的,但是我又怀疑软件需求调研也需要确定软件架构吗?

我阅读了一个例子,一个软件公司采用.NET技术体系研发了一套电力系统,该系统使用的是SQL SERVER数据库。但安装系统时,客户发现该系统使用的数据库是SQL SERVER时,要求必须使用Oracle,如此一来,软件公司只能修改系统,这样的软件改动工作量是很大的。所以一定会需要软件技术框架,如果忽视了在软件技术框架、软件架构上的要求的话,会给软件后期工作带来想不到的麻烦。很多项目往往在初期就会对技术框架有一定的限制,常见的情况有:1.新项目需要在原系统的基础上开发;2.新项目需要与某些存在的系统做对接;3.新项目需要充分利用客户的现有IT资源,尊重和保护客户投资;4.软件公司承接新项目时;5.有安全性、可靠性和性能等方面的要求。

需求阶段一般不会决定全部的技术细节,但是往往会需要确定技术框架层次的一些要求。部署图的主要目的是在物理层次上做整体的系统规划,当然网络拓扑结构图也能起到这个作用,但是建议使用部署图,因为部署图的作用更加强大,最重要的是还可以在此基础上继续细化设计。用部署图来表示系统架构会显得更加专业,而且节点中的Tags能帮助我们表达更多的内容。目前我们要解决的问题就是:1.用部署图描述客户当前的IT环境架构;2.用部署图设计客户改造后的IT环境架构。

构件图也叫做组件图,构件有以下特点:1.能实现一定功能,或者提供一些服务。2.不能单独运行,要作为系统的一部分来发挥作用。3.是物理上的概念,不是逻辑上的。4.可单独维护、可独立升级、可替换但是不影响整个系统。一般情况下需求阶段并不需要设计软件的内部结构,但是新系统有可能会与别的系统有交互,或者是与别的系统的数据库进行交互。这是就要使用构件图。数据库可以表示为构件,将某个构件画在某个节点上,表示需要在这个节点上部署该构件。

通过部署图与构件图捆绑应用,可以让我们更好地分析和表达本系统在IT架构上的宏观要求,以及本系统与其他的系统的关系等。综合运用部署图和构件图,还可以进行详细的软件架构设计。

最新文章

  1. Spring学习记录(七)---表达式语言-SpEL
  2. Palo(OLAP database)–MOLAP
  3. Java Servlet(九):转发请求与重定向请求区别
  4. pcm跟.wav文件的关系
  5. BZOJ2851 : 极限满月
  6. 视频处理控件TVideoGrabber如何对屏幕进行录制/压缩
  7. keil中如何得知所编译程序所占空间大小?
  8. C++ 内存泄露处理方法 (转)
  9. YYKit之YYModel
  10. Date Math SimpleDateFormat 类
  11. Android Wi-Fi Display(Miracast)介绍
  12. 保存和恢复 Android Fragment 的状态
  13. akoj-1267-独木舟上的荡漾
  14. email program (客户端)演变过程有感
  15. osx安装sass
  16. NOI导刊 2018河南郑州游记
  17. keras CNN解读
  18. 黑马程序员_java基础笔记(06)...集合
  19. 20145302张薇《Java程序设计》第四周学习总结
  20. LOJ2421 NOIP2015 信息传递 【tarjan求最小环】

热门文章

  1. [USACO10DEC]宝箱Treasure Chest
  2. while(Thread.activeCount() > 1)
  3. 用windows远程桌面连接ubuntu
  4. EditorLineEnds.ttr的困扰
  5. POJ 1673
  6. 怎样安装g++/gdb
  7. svn 插件安装
  8. OpenCV打开摄像头失败
  9. linux命令之man和info
  10. linux IPtable防火墙 禁止和开放端口(转)