技术标签: 软件工程
工学: 工程学科的总称,应用学科,用数学和自然科学原理设计有用物体进程。。
研究自然学科的应用方式,研究工程进行的一般规律
工程:
软件工程:
用工程化方法,构建和维护有效的,实用的和高质量的软件的学科,因为有软件危机所以需要
表现:
产生原因
工程的内涵: 研究,设计,开发,生产,施工,操作,管理
科学与工程的区别:
软件重用:
多次不同软件开发过程中,重复使用相同或相近的软件元素的过程
可重用元素:
程序代码,设计文档,需求分析文档,测试用例,设计过程,领域知识
构件: 功能!
构件实现:
具体实现构件功能的逻辑系统,代码构件
领域工程
重用技术与领域之间的关系:
构件描述:
构件描述: 管理角度的细节刻画
构件模型: 本质的抽象描述
构件组织:
构件分类:
人员及权限管理
基于关键字法:
优点: 简单易行
缺点: 用户不一定能恰当运用关键字进行描述
优点:方便相似构件的查找
缺点:构造查询困难
优点: 人性化操作
缺点: 迷失,效率低
理解的目标:
理解的手段:
评价:
核心是在系统开发过程中尽早处理质量属性相关问题。
软件体系结构是一个程序/系统各构件的结构、它们之间的相互关系以及进行设计的原则和随时间演化的指导方针。
建模: 建立系统模型的过程
软件体系结构建模: 如何对软件体系结构建立系统模型
每个软件系统都有多个风险承担者: 最终用户,开发人员,系统工程师,项目经理
每个视图只关心一个侧面,结合在一起才反映系统的软件体系结构的全部内容
在每个视图上均独立地支持Perry & Wolf 的公式,即定义一个所使用的元素集合(构件、容器、连接件)
关于层次的引出
具有进程分配的小型ACS系统的物理视图
具有进程分配的大型ACS系统的物理视图
构件定义:构件是一个数据单元或一个计算单元,由构件的对象的集合,属性的集合,动作的集合和端口的集合组成
构件间关系的定义:
连接体的抽象描述:
连接件是构件运算的实现,它是一个6元组 <ID,Role,Beha,Msgs,Cons,Non-Func>
其中,Role为连接件和构件的交互点的集合,它由一个四元组定义
Role=<Id,Action,Event,LConstrains>
连接体的抽象定义: 设论域为U
软件体系结构记为A=<C,O>,其中C表示组成体系结构的构件集合,O表示构件运算的集合
软件体系结构性质:
相互独立,通过黑板完成交互
非独立单元
请求 + 通知
不同的结构有不同的处理能力的强项和弱点,一个系统的体系结构应该根据实际需要进行选择,以解决实际问题
上级系统独立于其从属系统,每个从属系统仅仅是其上级系统模型中所指内容的一个实现,并不属于上级系统功能约束的一部分
KWIC索引系统接受一些行,每行有若干词,每个词由若干字符组成;每行都可以循环移位,亦即重复地把第一个字删除,然后接到行末; KWIC把所有行的各种移位情况按照字母表顺序输出
Unicon
构件:
component<identifier>
<interface>
<implementation>
end <indentifier>
文章浏览阅读446次。scrapyScrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。_当你准备启动一个项目时,可以从这个教程开始
文章浏览阅读4.7k次,点赞11次,收藏18次。项目场景:在之前对树莓派进行PPP拨号上网/4G上网后,需要对树莓派中采集到的数据远程上传,并能接收云端软件下达的指令。然而在实现过程中,我们并不能够直接通过ITCP/IP通信实现数据的远程传输,还需要一个服务器作为中间桥梁,将云端主机的IP端口映射在全网上,这样树莓派才能通过映射后的IP地址与云端主机建立连接,实现数据的远程传输。花生壳花生壳是一款能够免费进行内网穿透与端口映射的服务器工具,可以在官网上直接搜索无需配置。支持多种通信格式,这里我们使用TCP通信类型。网络调试助手由于项目主体_树莓派有sim卡模块吗
文章浏览阅读825次。先是IPV6,再是WI-FI7你都清楚这是什么吗?_ipv6和wifi6有什么区别
文章浏览阅读1.9k次。首先我们给出一个Mapper配置文件,用于参照使用,下面给出详细介绍&amp;amp;amp;amp;lt;?xml version=&amp;amp;amp;quot;1.0&amp;amp;amp;quot; encoding=&amp;amp;amp;quot;UTF-8&amp;amp;amp;quot; ?&amp;amp;amp;amp;gt;&amp;amp;amp;amp;l_" update employee set
文章浏览阅读1.7w次,点赞18次,收藏119次。Puppeteer 是 Google 基于 Node.js 开发的工具,调用 Chrome 的 API,通过 JavaScript 代码来操纵 Chrome 完成一些操作,用于网络爬虫、Web 程序自动测试等。pyppeteer 是非官方 Python 版本的 Puppeteer 库。_pyppeteer
文章浏览阅读1.6k次。变异分析_hapmap数据库
文章浏览阅读2.1k次。蓝屏错误代码0X000000EA(0X85AFDDA0,OX89?0x000000EA错误表示显示驱动程序遇到了问题。这个错误一般是因为显卡或显示器的驱动程序存在BUG或安装不正确引起的。 如果遇到0x000000EA错误,建议在Windows中重新安装显卡及显示器驱动程序,看看问题能否解决;如果故障依旧,请使用“替换..._0x000000ea
文章浏览阅读1w次。问题:Excel想要编辑或者删除宏,都要先取消隐藏这个PERSONAL的工作簿今天取消隐藏之后,顺手就关掉了,然后就发现自己保存的宏不见了解决:找出文件PERSONAL.XLSB并重新打开即可解决过程:在网上找了一番,大概是因为我把宏保存到个人工作簿中(就是PERSONAL.XLSB)然后,实际上,我们打开Excel的时候也会同时在隐藏中打开PERSONAL.XLSB和..._个人宏工作簿不见了
文章浏览阅读1.8w次,点赞57次,收藏364次。本系列介绍Alter/Xilinx FPGA中各种数字信号处理算法的实现,学习各种DSP IP核的使用方法,以及DSP算法的设计思路和关键问题。_使用matlab与fpga实现2ask的调制与解调
文章浏览阅读816次。1、定义typedef struct QueElement_t_ { void *data;} QueElement_t;typedef struct Que_t_{ int size; int capacity; int head; int tail; int (*destroy)(void *data ); QueElement_面试题:请用数组实现一个队列
文章浏览阅读2.2k次。相关解释都在注释里了,写的很详细。% matlab version 2020b% time 20211108% zzx fft for newer%%clc;clear;close all;%% 以下步骤是循序渐进的,是按照推理过程编写的:% -----------------step1 确定信号幅度A1=7;A2=3; % -----------------step2 确定信号的频率f0=20;%单位:Hz or kHz or其他,这个不影响,为了描述方便,后续都不再带单位。f_matlab fft 幅值单位
文章浏览阅读1.2w次,点赞9次,收藏11次。在按照element-ui文档和网上各个文章的描述方式都未能正确配置出按需加载的功能。经小编一番摸索之后,终于搞定了,本篇文章记录实现的全过程#1 node与vue的版本情况#2未按需加载打包后的文件情况由上图看出,只是引入了 element-ui框架后,js文件急剧的上升到了 783KB,这显然是不能接受的。element-ui按需加载文档:https://e..._let whitelistedmodules = [‘vue’, ‘element-ui’] 在cli4上怎么设置