技术标签: 软件工程
工学: 工程学科的总称,应用学科,用数学和自然科学原理设计有用物体进程。。
研究自然学科的应用方式,研究工程进行的一般规律
工程:
软件工程:
用工程化方法,构建和维护有效的,实用的和高质量的软件的学科,因为有软件危机所以需要
表现:
产生原因
工程的内涵: 研究,设计,开发,生产,施工,操作,管理
科学与工程的区别:
软件重用:
多次不同软件开发过程中,重复使用相同或相近的软件元素的过程
可重用元素:
程序代码,设计文档,需求分析文档,测试用例,设计过程,领域知识
构件: 功能!
构件实现:
具体实现构件功能的逻辑系统,代码构件
领域工程
重用技术与领域之间的关系:
构件描述:
构件描述: 管理角度的细节刻画
构件模型: 本质的抽象描述
构件组织:
构件分类:
人员及权限管理
基于关键字法:
优点: 简单易行
缺点: 用户不一定能恰当运用关键字进行描述
优点:方便相似构件的查找
缺点:构造查询困难
优点: 人性化操作
缺点: 迷失,效率低
理解的目标:
理解的手段:
评价:
核心是在系统开发过程中尽早处理质量属性相关问题。
软件体系结构是一个程序/系统各构件的结构、它们之间的相互关系以及进行设计的原则和随时间演化的指导方针。
建模: 建立系统模型的过程
软件体系结构建模: 如何对软件体系结构建立系统模型
每个软件系统都有多个风险承担者: 最终用户,开发人员,系统工程师,项目经理
每个视图只关心一个侧面,结合在一起才反映系统的软件体系结构的全部内容
在每个视图上均独立地支持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>
文章浏览阅读4.2w次,点赞329次,收藏2.7k次。Python 入门的60个基础练习_练习python基础语法
文章浏览阅读1w次。用Xcode5运行一下应用,第一个看到的就是status bar的变化。在iOS6中,status bar是系统在处理,应用_ios7 statusbar
文章浏览阅读2.1k次。问题描述:,在gdb调试程序输出变量:p var,会提示No symbol "var" in current context.原因:程序编译时开启了优化选项,那么在用GDB调试被优化过的程序时,可能会发生某些变量不能访问,或是取值错误码的情况。这个是很正常的,因为优化程序会删改程序,整理程序的语句顺序,剔除一些无意义的变量等,所以在GDB调试这种程序时,运行时的指令和你所编写指_no registers调试显示
文章浏览阅读3.4k次。import java.util.Random;import org.drools.util.UUIDGenerator;/** * * * 类名称:GenerateIdUtil * 类描述: 主键生成工具类 * @author chenly * 创建时间:Jul 10, 2012 8:10:43 AM * 修改人: * 修改时间:Jul 10, 2012 8..._idgeneratorutils.generateid()
文章浏览阅读5k次。BX:跳转到寄存器reg给出的目的地址处,如:BX R2BLX:跳转到寄存区reg给出的目的地址处并将返回地址存储到LR(R14)使用这两个指令时有一点特别需要注意:跳转的目的地址必须是奇数,若不是奇数则在后面加1,如某函数的起始地址是0x80000f00,则要跳转到此函数则应该跳转到0x80000f01处!否则会进入硬件错误中断!..._汇编blx
文章浏览阅读2.6k次,点赞2次,收藏4次。vue打包后,其实就剩index.html和一堆静态资源,页面的加载和替换都是通过刷新index.html种的dom来实现的(应该是这样,可能表述不是很好),所以做个重定向就可以了。(博主是这么解决的,网上还有很多人是各种路径错误,大家可以尝试下自己是哪个原因)import org.springframework.boot.web.server.ConfigurableWebServerFa..._前端项目放入resource
文章浏览阅读9.7k次。1.问题展示2.解决方案1.任意窗口, 打开git bash2.命令行界面, 输入cd C:3.cat ~/.ssh/id_rsa.pub正常下面应该显示一大串公钥如果没有,显示如下图, 则进行下一步, 创建公钥4.创建公钥, 输入 ssh-keygen5.然后一直下一步, 直到出现6.再次输入cat ~/.ssh/id_rsa.pub下面一大串数字便是公钥,复制这些字符串, 打开github, 点击头像, 打开settings, 打开SSH and GPG Keys_cmd warning: permanently added
文章浏览阅读154次。[code="java"]1. SQL/Plus 常用命令 a. help [topic] 查看命令的使用方法,topic表示需要查看的命令名称。 如: help desc; b. host 该命令可以从SQL*Plus环境切换到操作系统环境,以便执行操作系统命名。 c. host [command] 在sql*plus环境中执行操作系统命令,如:host notepad.exe..._sql+plus的使用方法
文章浏览阅读441次。该文档均来自互联网,如果侵犯了您的个人权益,请联系我们将立即删除!**学校毕 业 论 文**学校园网络服务器的配置与管理姓 名: **学 号: **指导老师:系 名:专 业: 计算机网络技术班 级:二0一一年十二月十五日摘 要随着网络技术的不断发展和Internet的日益普及,许多学校都建立了校园网络并投入使用,这无疑对加快信息处理,提高工作效..._服务器配置与应用论文
文章浏览阅读1k次。一、单实例多库:一个mysql实例,创建多个数据目录。规划:实例路径:/usr/local/mysql数据目录路径:(1)/usr/local/mysql/data(2)/usr/local/mysql/data2步骤:安装mysql。配置my.cnf文件。初始化各个数据库。用mysqld_multi启动。1、安装mysql。平常安装。2、m..._数据库单实例和多实例
文章浏览阅读6.3k次。今天装了第三方的MFC软件库Xtreme ToolkitPro v15.0.1,听说搞MFC的人都知道它的强大,我刚学习,所以装了一个,然后想运行一下它自带的例子看看。出现一个“找不到mfc90.dll“的问题,百度一下,记录如下:vs2008已经打过sp1补丁,编译C++程序会提示找不到mfc90.dll文件的错误,但是如果是release版的话就能正常运行csdn看到解决方案,粘贴_microsoft v90.debugmfc
文章浏览阅读2.1k次。以前使用CJK进行中文的排版,需要自己生成字体库,近日,出现了XeTeX,可以比较好的解决中文字体问题,不需要额外生成LaTeX字体库,直接使用计算机系统里的字体,本文以在Linux下为例说明XeTeX的使用。操作系统: UbuntuTeX:除了texlive包外,还需要安装的包是texlive-xetex。字体:可以使用fc-list查看你自己的字体库,注意字体的完整名称,在XeTe..._latex 中文排版 texlive