如何开展软件架构之概念架构

如何开展软件架构之概念架构

到目前为止,我们已经完成了需求的分析过程,总结来说,主要的步聚是

一)需求结构化,

二)分析约束影响

三)重点关注质量需求。

那么接下来的阶段则是系统的概念架构了,这也许是大家最感兴趣的话题,前面提到系统的多层架构,各层之间相互隔离,下层提供服务而不知道上层应用,上层也只通过接口与下层交互,每一层的修改均不会影响其它层的逻辑,看上去有多华丽就有多华丽!

但是真正开始系统架构时,却有无从下手无力感,为啥?因为你注意到软件的概念架构最主要的任务就是将系统按照某作规则划分成各种子系统,确定各子系统之间的协作,为下一阶段的细化设计奠定基础。

系统划分的规则主要有三类:

1:按逻辑分割

2:按物理部署分割

3:按通用性分割 

而三层架构也正是按逻辑分割的体现。

简单地说,要对系统进行分割,我们必须明确系统有哪些职责,在明确职责之后,再将相似或相近的划分至各层中。

在需求分析阶段我们了解了系统需要实现的功能,但仅基于此,却难以支撑我们确定职责。在需求用例与功能职责之间还需要一座桥,那就是鲁棒图。

如前文提到的查看签到记录用例,通过绘制鲁棒图,我们发现了很多用例中没有体现的对象及相互之间的交互。系统分割正是基于此时发现的职责来进行割分的。

 

转载于:https://www.cnblogs.com/jiangu66/p/3221871.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【51单片机快速入门指南】6.1:LCD1602的八线、四线控制及自定义符号,完美兼容Proteus仿真

目录硬知识显示特性接口定义操作时序写操作时序读操作时序寄存器忙标志位BF地址计数器(AC)显示数据寄存器(DDRAM)CGROMCGRAM指令清屏指令光标归位指令进入模式设置指令显示开关控制指令设定显示屏或光标移动方向指令功能设定指令设…

在MAC OS 下配置python + Flask ,并支持pyCharm编辑器

https://www.cnblogs.com/lgphp/p/3841098.html 在MAC OS 下配置python Flask ,并支持pyCharm编辑器 flask是一个micro framework ,伸缩性很强。可以部署到openshift 的PAAS里。这个框架上手非常快。喜欢的可以试试。 若实在MAC里,python已经默认安装了…

Nginx (LNMP+https)

单向认证与双向认证的概念 什么是单向认证 单项认证就是比如你有个密码用户名然后和服务器上的用户信息进行比对一致的话你们就可以建立连接. 什么是双向认证 SSL的双向认证就是客户端要获取服务端的证书,检查下服务端是不是我可以信任的主机,否则我就认…

MySql简介及概念

关系型数据库系统:建立在关系模型上的数据库系统。 关系模型:当将日常生活中的实体(学生),和实体的属性(学生的学号,姓名)保存数据中时,该如何处理该实体结构。1、数据结构可以规定&…

【51单片机快速入门指南】6.2:SPI 、八线、四线控制 LCD12864 屏幕及Proteus的仿真(支持中文汉字)

目录硬知识LCD12864简介主控芯片ST7920的功能是:驱动芯片ST7921的功能是:引脚功能时序并行通信串行通信指令存储结构操作取模软件的配置示例程序st7920.cst7920.h测试程序显示图片图片1实验现象图片2实验现象显示字符英文实验现象中文实验现象Proteus的仿…

百度推送老是不成功,没有提醒查找原因

AndroidManifest.xml中配置&#xff1a; <!-- 在百度开发者中心查询应用的API Key, MainUIActivity的onCreate方法中记得启动 --><meta-data android:name"api_key" android:value"48YiX3RgcCYmv9aaTcr3uTVK" /> 继承FrontiaApplication publi…

如何让body背景图自适应浏览器窗口大小

html {height:100%; } body {padding:0;margin:0;background:url(images/Starry.jpg) no-repeat;background-size:100% 100%;position:absolute; } https://blog.csdn.net/annaluo/article/details/78280251

【转】java中定义二维数组的几种写法

原文链接 注&#xff1a;以下的 type[][] var 也可以这样申明 type var[][] type为数组的类型&#xff0c;var为变量名 写法一&#xff1a;行列固定的数组 //定义二维数组写法1 class Test {public static void main(String[] args){float[][] numthree; //定义一个flo…

一款jq的计时器

举例子&#xff1a; http://files.cnblogs.com/Alandre/201201031633347950.rar转载于:https://www.cnblogs.com/Alandre/p/3224204.html

【51单片机快速入门指南】仿真实例:幅值可调、频率可调的函数发生器(方波、三角波、正弦波)(1~10kHz)

目录效果设计思路STC89C52 Windows 10 20H2 Proteus 8 Frofessional v8.9 SP2 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 51函数发生器&#xff0c;附工程源码和Proteus仿真文件 效果 0 ~ 5V &#xff0c;50Hz的正弦波&#xff1a; 1 ~ 4V&…

VisualSvn Server介绍

1 、VisualSvn Server VisualSvn Server是免费的&#xff0c;而VisualSvn是收费的。VisualSvn是Svn的客户端&#xff0c;和Visual Studio集成在一起&#xff0c;但是不免费&#xff0c;使用AnkhSvn&#xff08;VS2008插件&#xff09;来代替VisualSvn。使用 VisualSvn Server是…

jsp中页面元素

1.html代码 2.指令&#xff08;page..&#xff09; 3.小脚本&#xff08;<% %>&#xff09; 4.表达式&#xff08;<% %>&#xff09; 5.声明&#xff08;<%! %>&#xff09; 6.注释&#xff08;解释说明&#xff09;转载于:https://www.cnblo…

wordpress 主题教程-笔记

前言&#xff1a;代码参考 &#xff0c;如无特别说明&#xff0c;下面所说的文件&#xff0c;都在 主题目录下。 https://blog.wpjam.com/m/wp-theme-lesson-3-starting-indexphp/ https://github.com/laughing2/wp-theme-tutorial 主题制作步骤 1. 制作好 前端页面 2. 在…

转载 - 最近对问题

之前看过&#xff0c;可是当时没有细看&#xff0c;今天在网上搜了一下&#xff0c;看了一下别人的思路&#xff0c;毕竟这也是一类问题的经典。过一段时间再将自己对其认识总结。现在先转载别人的思路。 出处&#xff1a;http://blog.csdn.net/sd6264456/article/details/9318…

【51单片机快速入门指南】6.3:DS18B20 单总线数字温度计的多路读取

目录硬知识DS18B20介绍时序初始化时序写时序读时序命令ROM 操作命令ROM 搜索举例存贮器操作命令示例程序DS18B20.cDS18B20.h测试程序定时器中断服务函数单传感器时ID的获取 main.c单传感器读取温度和读取特定ID传感器的温度多路传感器读取普中51-单核-A2 STC89C52 Keil uVisio…

css怎么把背景图片拉伸至100%

div再加上属性&#xff0c; -moz-background-size:100% 100%; background-size:100% 100%; 这样设置后再看网页就会发现背景图片拉伸至100%了。 https://jingyan.baidu.com/article/ceb9fb10a6f68d8cad2ba017.html

SQL多行转多列

--★转换结果如上图 1、首先创建表&#xff1a; CREATE TABLE [成绩表]( [编号] [int]IDENTITY(1,1) NOT NULL, [姓名] [varchar](50)NULL, [语文] [numeric](5, 2)NULL, [数学] [numeric](5, 2)NULL, [英语] [numeric](5, 2)NULL ) ON [PRIMARY] 2、插入测试数据 INSERT INTO …

面向对象程序设计的术语

面向对象程序设计中的术语主要包括类、对象、封装、继承、多态性和消息传递。面向对象的思想通过这些术语得到了具体的体现。 类&#xff1a;是对具有相同类型的对象的抽象。一个对象所包含的数据和代码可以通过类来构造。对象&#xff1a;是运行期的基本实体&#xff0c;它是一…

C#通过FFmpeg获得视频文件参数

C#通过FFmpeg获得视频参数 FFmpeg简介 FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video&#xff08;录制、转换 、音/视频&#xff0c;并可将其转换为音/视频流的完整的&#xff0c;跨平台的j解决方案&#xff09;.FFmpeg的开发…

【51单片机快速入门指南】6.3.1:使用1-WIRE搜索算法搜索单总线上所有DS18B20的ID(基于二叉树)

目录源码OWSearch.c测试程序实验现象Proteus仿真实机测试普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 移植自1-WIRE搜索算法 串口部分见【51单片机快速入门指南】3.3&#xff1a;USART 串口通信 DS18B20驱动程序见【5…