软工视频总结(6~15)

前言:从开始的知道,到现在的初步了解。软件工程是一个用图来说明问题,用文档来体现想法的过程。不断积累,不断成长。

(一)可行性分析(以技术为主)

确定目标&要求 方法:高层次系统分析
结束:提交~ 使用工具:图

(二)软件需求分析

①任务
描述性能–确定接口–其他需求
借助逻辑模型(当前~推导目标),解决做什么。
②过程
(1)问题识别
*需求内容 : 建立通信途径,保证顺利。
(2)分析与综合(信息流&结构)
*常用分析方法
传统:SA(数据流) JSD(数据结构) DSSD(数据系统) 面向对象OOA
(3)编制文档
软件说明书 数据要求 初步用户手册(需求分析阶段) 修改、完善
(4)需求分析评审
一致(用户) 齐全(文档) 清晰(描述) 接口(其他成分)
③原则
确定功能 ;抽象 分析 细化 分解(横向&纵向)
建模前指导性原则:
(1)开发模型(用户了解-人机交互) (2)记录(需求起源)
(3)使用(多个需求视图) (4)赋予优先级(需求)
(5)努力删除含糊性
④规格说明原则: 分离功能–做什么 ; 系统定义语言
⑤分析方法
(1)需求~(信息域 & 信息驱动) (2)结构化~(数据流(图)DFD)

(三)数据流图

①层次结构
逐层分解(L0–L1–L2)保持平衡
方框:起/终点 圆圈:数据加工 箭头:数据流 矩形右线左移:存储文件
四种元素 ; 至少一个输入&输出; 边框编号 ; 子父图一致;元素带名字;无控制流
②数据字典DD(与数据流图配合)
词条描述(完整定义 ); 数据结构(符号 含义 举例)
③架构逻辑说明工具
(1)结构化英语(陈述/重复/判定结构)
(2)判定表(多个逻辑条件 详细)
(3)判定树(直观)

(四)原型化方法

(用户&开发人员)快速分析-主要需求
①类型:探索型 实验型 进化型
②策略:废弃~; 追加~
③原型生存期(软件开发模型):分析-设计-编码-策湖-运行维护
常用动态分析方法:
(1)状态迁移图 (直观)(图→表)
圆圈:可得到系统 箭头:状态转移
(2)时序图
(3)Petri网
圆圈:位置 ; 箭头:转移; 有向边:转移的输入/出 ; 标记(黑点):状态

(五)需求规格说明书

①内容
1.(引言) 目的 背景 定义 参考资料 2.任务概述(目标 环境 限制)
3.数据描述(静态 动态 库 词典 采集) 4.功能描述(划分 描述)
5.性能需求(数据精确 时间 适应) 6.运行需求 (用户 硬件 软件 故障) 7.其他需求
②任务(回答“ 系统必须做什么“)
确定综合/数据需求; 导出系统逻辑模型; 修正计划;开发原型系统
结构化分析方法(SA):面向数据流 自顶向下~
③原则
表达数据/功能域; 自定项下逐层分解 给出逻辑&物理视图

*数据流图
抽象 概括 层次
用途:
(1)数据人员 自下而上 分析系统 (2)图上画计算部分
(3)数据存储 分析 过渡 (4)流向 方式 (5)工具
优缺点:
概念性强 反应过程 流向 及时发现错误 与计算机处理相对照 ; 不直观 工作量大

*数据字典(数据信息的集合)
和数据流图=逻辑模型
内容:数据流/项/结构/存储/逻辑/实体

图形工具
评审方法:一致性、完整、现实、有效

(六)面向过程的 软件设计的方法(没有设计, 系统结构不稳定)

①目标&任务(信息域 表示软件需求 ):
数据 系统 过程
②开发阶段:设计-编码-测试
③任务:
工程管理角度:两步完成:概要 详细
技术~:数据 系统结构 过程
④ 过程(7个)
规范; 总体设计; 处理方式;数据结构;可靠性;文档;评审
⑤基础
自定向下,逐步细化; 软件结构(程序模块/数据结构); 程序结构(树状&网状)
结构图(层次调用 模块的调用关系&接口&信息传递&条件调用);
模块化(大变小); 抽象化(层次 细化); 信息隐蔽

(七)模块独立性(功能独立)

①两个准则:高内聚 低耦合
*数据耦合(一个模块访问另一个 简单参数输入输出); 标记耦合(参数表传递记录信息)
*控制耦合(通过传送的开关 标志)
模块三个基本属性:功能(做什么) 逻辑(怎么做) 状态(环境条件)
*外部耦合(访问全局简单变量)
*公共耦合(访问公共数据)松散/紧密
*内容耦合(进入另一模块内部)
②模块内聚(功能7/信息6/通信5/过程4/时间3/逻辑2/巧合1)
内聚:高→低 独立性:强→弱 功能:单一→分散
每个模块完成单一功能/7 顺序执行/6 功能使用相同输入数据/6 使用流程图/5
同一时间内执行/3 几种功能结合/2 内部联系少&松散/1

(八)结构设计方法

①方法:研究数据流图; 数据处理方法:变换型&事务型 ; 对两种图分析
②结构图模块:传入 传出 变换 协调
③变换型 :取得数据 变换~ 给出~
事务型:接受事务–找出事务中心
④变换分析四步骤:
重画数据流图 区分有效(逻辑)输入/输出&变换中心(虚线) 一级分解 二级分解
分析过程:完成全部下属模块; 耦合和内聚; 黑箱技术; 模块划分(5个左右)
分解时/太小时停止功能分解
⑤事务分析(类似变换分析)
从数据流图开始,自顶向下
分析过程:识别事务源 规定事务型级 确定定义和操作 利用公共模块
建立事务处理模块; 规定下层操作; 规定细节
⑥模块结构改进
完善化 :执行功能; 出错处理;调用者结束标志
消除重复功能(完全/局部相似),改善软件结构
在控制范围之内
减少高扇出结构,随深度增大扇入
减少病态联接(直接/公共数据/通信)
模块大小适中
可预测性
设计可移植性
⑦设计后处理
处理说明 接口说明 确定全局/局部数据结构 约束 评审

(九)数据设计及文件设计

①数据设计原则(定义&开发阶段):
用于软件的方法,也适用于数据 ; 确定结构
建立书记字典→定义数据&软件的设计; 顶层后期进行; 信息隐蔽(本模块才能知道)
建立操作库; 支持抽象数据

②文件设计
两个阶段:逻辑(概要设计阶段)
(1)整理数据元素 (2)分析数据关系 (3)确定文件逻辑设计 (4)理解文件特性
(5) 确定文件组织方式
索引顺序文件:升序/降序 关键字 分区~:存放程序 虚拟:虚拟存储 倒排:候选键属性(6)文件存储介质 (7) 记录格式 (8) 估计存取时间&容量

③过程设计(对设计内容细化)工具:图形、表格、语言

(1)程序流程图:符号表示走向
五种基本结构:顺序、选择、先判定循环、后~ 多种情况选择
(2)NS图(盒子图)
五种基本结构:五种图形构件:顺序型、选择~、WHILE重复~、UNTIL重复~、 多分支CASE
*NS嵌套
(3)问题分析图(PAD)
五种基本结构:五种图形构件:顺序型、选择~、WHILE重复~、UNTIL重复~、 多分支CASE
(4)判定表(静态)
(5)无多分支判断结构

④建立表的步骤:
列出一个具体过程有关处理; 执行期间所有条件
特定取值组合处理匹配 消除不可能套件; 右部每一纵列规定为要给处理规则

⑤PDL(伪码)描述功能语言 严格关键字 灵活
特点:提供全部结构化控制结构(易于理解); 关键字大写,其他小写

(十)概要设计(划分模块)

说明书:同其他
设计防范 选取 推荐 功能分解 数据设计 测试 编写文档 文档

总结:看视频,了解基础知识,点滴的积累,帮助我们更好的成长!

猜你喜欢

转载自blog.csdn.net/a954553391/article/details/79657650
今日推荐