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

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

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

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

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

05《UML大战需求分析》之五的更多相关文章

  1. 《uml大战需求分析》阅读笔记05

    <uml大战需求分析>阅读笔记05 这次我主要阅读了这本书的第九十章,通过看这章的知识了解了不少的知识开发某系统的重要前提是:这个系统有谁在用?这些人通过这个系统能做什么事? 一般搞清楚这 ...

  2. UML大战需求分析--阅读笔记01

    本次阅读的书籍是<UML大战需求分析>,看了前两章的内容:1 大话UML,2绞尽脑汁的需求分析.这两章内容关联不大,分开描述. 第一章:大话UML 本章主要概述UML是什么,有什么内容.U ...

  3. UML大战需求分析——阅读笔记04

    读<UML大战需求分析>有感04 开发某系统的重要前提是: 这个系统有谁在用? 这些人通过这个系统能做什么事? 一般搞清楚这件事,再画个业务流程图,就能条例清楚的表达系统的需求了.作为一个 ...

  4. UML大战需求分析——阅读笔记03

    读<UML大战需求分析>有感03 状态机图和活动图在样子比较相似,但状态机图是用来为对象的状态及造成状态改变的事件建模.我们大二学习UML统一建模语言状态机图模块时了解到,UML的状态机图 ...

  5. 阅读笔记 1 火球 UML大战需求分析

    伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑.对于我选的这本   <火球 UML大战需求分析>,首先 ...

  6. <<UML大战需求分析>>阅读笔记(2)

    <<UML大战需求分析>>阅读笔记(2)> 此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用 ...

  7. uml大战需求分析阅读笔记01

    <<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...

  8. 《UML大战需求分析》阅读笔记01

    在刚学习软件开发的课程时,首先学习了UML设计,但只是学习了基本的语法,虽然在学期通过课堂练习进行了实践,但并没有真正理解其中作用.为了进一步的理解UML的用法,我阅读了<UML大战需求分析&g ...

  9. 火球-UML大战需求分析(体验版3.0.2).pdf

    火球-UML大战需求分析(体验版3.0.2).pdf http://files.cnblogs.com/files/happlyonline/%E7%81%AB%E7%90%83-UML%E5%A4% ...

  10. 《火球——UML大战需求分析》(第1章 大话UML)——1.2 结构型的UML(Structure Diagram)

    说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...

随机推荐

  1. 使用yum update更新文件系统时不更新内核的方法

    CentOS使用yum update更新时不升级内核 cp /etc/yum.conf    /etc/yum.confbak 方法一.修改yum的配置文件 vi /etc/yum.conf  在[m ...

  2. javascript正则表达式总结(test|match|search|replace|split|exec)

    test:测试string是否包含有匹配结果,包含返回true,不包含返回false. <script type="text/javascript"> var str ...

  3. PHP统计当前在线用户数实例

    HTML 我们在页面上放置一个显示当前在线人数的div#total以及一个用于展示访客地区分布的列表#onlinelist,默认我们在列表中放置一张与加载动画图片,后面我们用jQuery控制当鼠标滑向 ...

  4. Codeforces 902D/901B - GCD of Polynomials

    传送门:http://codeforces.com/contest/902/problem/D 本题是一个数学问题——多项式整除. 对于两个整数a.b,求最大公约数gcd(a,b)的辗转相除法的函数如 ...

  5. 转载 - 汇编--INT 10H功能

    出处:http://www.cnblogs.com/magic-cube/archive/2011/10/19/2217676.html INT 10H 是由 BIOS 对屏幕及显示器所提供的服务程序 ...

  6. [React Native] Target both iPhone and iPad with React Native

    By default, React Native only targets iPhone - so if you run on an iPad, it will show up as a scaled ...

  7. Tomcat启动时载入某个servlet

    当我们做一个java项目时,有几个功能都须要载入servlet或者实现某个共同的方法,尽管我们一味地在每个功能中依次载入也不是不能够,可是当某个servlet 或者方法被频繁地载入和应用.我们将面向对 ...

  8. _DataStructure_C_Impl:链串

    //_DataStructure_C_Impl:链串 #include<stdio.h> #include<stdlib.h> #include<string.h> ...

  9. UVA11234 Expressions

    题目的意思实在是读不懂,又是把栈变成队列什么的.. 只是大体的意思就是把后缀表达式变一下.. 抛开意思,事实上就是依据输入建个树,然后倒序输出.. 拿第一个例子说明:大写代表操作符(+ - × /之类 ...

  10. ubuntu下如何查看和设置分辨率

    ubuntu下如何查看和设置分辨率 在ubuntu下可以使用xrandr来设置自己需要的分辨率.大致步骤如下:  www.2cto.com   1.使用xrandr命令查看屏幕分辨率,这里我使用的是显 ...