架构设计--软件工程
文章目录
- 软件工程
- 软件开发方法
- 软件开发方法***
- 结构化法
- 原型法
- 面向对象方法
- 面向服务的方法
- 软件开发模型****
- 瀑布模型
- 原型模型
- 螺旋模型
- V模型
- 喷泉模型
- 快速应用开发(RAD)
- 构建组件模型
- 统一过程(UP/RUP)
- 敏捷方法
- 极限编程 (XP)
- 水晶方法
- 开放式源码
- SCRUM
- 功用驱动开发方法 (FDD)
- ASD 方法
- 逆向工程
- 净室软件工程
- 需求工程
- `需求开发--技术维度`
- 需求获取 ***
- 分类
- 获取方法
- 需求分析 ***
- 结构化需求分析(SA)
- 面向对象(OOA)需求分析
- 相关概念
- 统一建模语言(UML)***
- UML之 UML4+1 视图***
- 需求定义---->生成需求规格说明书(SRS)
- 需求验证***------>生成需求的基线
- `需求管理`
- 变更控制
- 版本控制
- 需求跟踪
- 需求状态跟踪
- UML视图*****
- UML关系****
- 软件系统建模
- 系统设计
- 测试与评审
- 系统运行与软件维护
软件工程
软件开发方法
软件开发方法***
软件开发方法常见的有四种方法
结构化法
原型法
面向对象方法
面向服务的方法
软件开发模型****
瀑布模型
** 特点**:
适用于需求明确的项目
原型模型
螺旋模型
特点:
1.制定计划
决定目标、方案和限制
2.风险分析
评价方案、识别风险、消除风险
3.客户评估
4.实施工程
开发验证下一产品
V模型
特点:
强调测试贯穿于始终
测试今早做提前做
喷泉模型
特点:
面向对象
快速应用开发(RAD)
构建组件模型
统一过程(UP/RUP)
特点:
1.用例驱动
2.以架构为中心
3.迭代和增量
四个阶段
1.初始
需求方向的内容: 确定项目范围和边界 确定项目范围和边界 确定项目范围和边界 确定项目范围和边界
2.细化
简历软件架构基础--完成架构设计 分析系统问题领域 淘汰最高风险元素
3.构建
将软件拼装起来的阶段构件组装与测试 开发剩余的构建
4.交付
敏捷方法
使用场景:
适用于小型项目的开发
考点: 哪种属于/不属于敏捷方法的思想
特点: 砍掉了许多文档
极限编程 (XP)
费用控制严格的公司中的使用,也是被证明是非常有效的。
水晶方法
用最少的纪律约束而仍能成功的方法
开放式源码
程序开发人员在地域上分布很广
SCRUM
明确的定义了的可重复的方法过程
2-4周一个冲刺
功用驱动开发方法 (FDD)
编程开发人员分为两类:
首席程序员
和"类"程序员
ASD 方法
其核心是三个非线性的、重叠的开发阶段:测试、合作、学习
逆向工程
**重点知识:**实现的层级 特点及产出物
1.实现级
程序的抽象语法树、符号表、过程的设计表示
2.结构级
程序分量之间的相互依赖关系例如
调用图、结构图程序和数据结构
3.功能级
程序段功能及程序段之间关系的信息,例如
数据和控制流模型
4.领域级
程序分量或程序诸实体与应用领域概念之间对应关系例如
实体关系模型
净室软件工程
需求工程
需求开发--技术维度
需求获取 ***
分类
从技术维度分类
业户需求
--高层次需求
用户需求
系统需求
—计算机方面
功能需求
性能需求
设计约束
界面约束,数据库版本
从项目管理维度分类
基本需求
明确提出的需求
期望需求
隐含的需求
兴奋需求
需要注意** 镀金需求
获取方法
需求分析 ***
结构化需求分析(SA)
**描述:**围绕数据字典生成多种模型
数据字典
行为模型
状态转换图(STD)
状态(初始、终态)
事件
功能模型
数据流图 DFD
数据流
加工
数据存储
外部实体
数据模型
E-R图
实体
联系
面向对象(OOA)需求分析
相关概念
对象
--> 属性、方法、ID
类
–进一步对对象抽象形成的(实体类、边界类、控制类)
实体类
–描述数据库中的数据
边界类
—接口
控制类
–衔接不同得类完成业务数据的处理
抽象
封装
继承与泛化
多态
接口
消息
组件
模式和复用
统一建模语言(UML)***
组成
I 构造块***
事务
结构事务
行为事务
分组事务
注释事务图–>熟悉分类及特点
II 规则
规范性
可见性
完整性
执行
III 公共机制
规格说明
修饰
公共分类
扩展机制
UML之 UML4+1 视图***
需求定义---->生成需求规格说明书(SRS)
需求验证***------>生成需求的基线
需求管理
变更控制
版本控制
需求跟踪
需求状态跟踪
UML视图*****
UML关系****
软件系统建模
系统设计
测试与评审
系统运行与软件维护
架构设计--软件工程相关推荐
- 互联网公司的架构设计要怎么落地?| 技术头条
作者 | 张辉清 责编 | 胡巍巍 你做架构设计了吗?你认为要不要做架构设计?你的公司有没有做架构设计?互联网公司的架构设计又要怎么做? 我不知道你是怎么想的,在我得到的答复中,大部分人认为要做架构设 ...
- delphi7 dbgrid缓存模式下怎么判断输入重复记录_互联网公司的架构设计要怎么落地?| 技术头条...
作者 | 张辉清 责编 | 胡巍巍 你做架构设计了吗?你认为要不要做架构设计?你的公司有没有做架构设计?互联网公司的架构设计又要怎么做? 我不知道你是怎么想的,在我得到的答复中,大部分人认为要做架构设 ...
- 【软件工程】架构设计说明书
文章目录 1. 引言 1.1. 编写目的 1.2. 读者对象 1.3. 名词术语定义 1.4. 参考资料 2. 系统概述 3. 架构设计目标和约束 3.1. 架构设计目标 3.2. 约束需求 3.3. ...
- NVIDIA Turing Architecture架构设计(下)
NVIDIA Turing Architecture架构设计(下) GDDR6 内存子系统 随着显示分辨率不断提高,着色器功能和渲染技术变得更加复杂,内存带宽和大小在 GPU 性能中扮演着更大的角色. ...
- 系统架构设计的工程与艺术(0)
对于系统架构设计,我现在是功力不够,境界还凑合,俗称眼高手低是也.功力不够只能一点一点地练,一点一点的涨了,还不知道什么时候能有所小成.不过有境界也算是一件好事情,所以这个系列会先聊一聊境界方面. 之 ...
- 简单Unity时间架构设计(克洛诺斯之匙)
好吧,这次的题目有点标题党之嫌,提出这个设计,是因为最近玩了鬼泣,其中有一个关卡叫做"为了自己的主人",任务中,需要利用克洛诺斯之匙将时间变慢,便于通过激光镇. 使用克洛诺斯之匙之 ...
- Android App的架构设计:从VM、MVC、MVP到MVVM
随着Android应用开发规模的扩大,客户端业务逻辑也越来越复杂,已然不是简单的数据展示了.如同后端开发遇到瓶颈时采用的组件拆分思想,客户端也需要进行架构设计,拆分视图和数据,解除模块之间的耦合,提高 ...
- 程序员过关斩将--从未停止过的系统架构设计步伐
" 首先,这篇文章肯定会得罪一些人 " 其次,此文只代表我个人的意见,仅供参考 从分层说起 谈到系统架构的分层和系统领域边界的划分,每个架构师,每个技术经理,甚至每个程序员都有自己 ...
- .NET Core实战项目之CMS 第九章 设计篇-白话架构设计
前面两篇文章给大家介绍了我们实战的CMS系统的数据库设计,源码也已经上传到服务器上了.今天我们就好聊聊架构设计,在开始之前先给大家分享一下这几天我一直在听的<从零开始学架构>里面关于架构设 ...
最新文章
- android获取wifi连接状态,获取android设备wifi连接状态
- 一个指针的引用引发的血案
- III 25 git
- 《JAVA程序设计》第八周学习总结
- 让服务器iis支持.apk文件下载的设置方法
- 华为鸿蒙系统还没发布吗,华为没有孤军奋战,合作伙伴“雪中送炭”,鸿蒙系统正式发布!...
- spring boot 开源项目汇总
- endnote一打开就自动关闭_【EndNote文献管理】5分钟快速上手Endnote
- 中国金融家俱乐部秋季论坛聚焦“自贸区将带来什么”展开论道
- Fiddler4的下载与安装
- 基于python的图书管理系统设计与实现论文_图书馆管理系统的设计与实现毕业论文...
- 离线语音茶吧机设计应用案例
- 社交app的变现方式有哪些?
- ul阻燃标准有几个等级_塑料制品中的UL 阻燃等级防火等级划分标准
- 2.4G有源RFID数据读取实验
- 射影几何变换的基本原理
- 想配个电脑玩魔兽世界9.0,要什么配置,大概多少钱?
- js实现页面定时跳转
- 计算机系统原理题,计算机系统的组成及工作原理试题及答案.doc
- CDH 6.3.2 安装(二)