系统分析与设计复习题和笔记
一、复习题
需求分析的目的是保证需求的( )
- A.正确性和目的性 B.目的性和一致性
- C.完整性和一致性 D. 完整性和目的性
- c
对应于精益思想提及的库存问题,下面哪个答案不属于软件行业的库存问题?
- A.还未编码的需求 B.上线的用户手册遗漏了某些软件特性
- C.还没有文档化的功能模块 D.开发完却没测试的代码
- b
下哪个是对Devops不正确的描述?
- A.DevOps鼓励融合开发和运维团队 。B.既可开发开源项目也可开发闭源项目。
- C.DevOps引入了敏捷的理念。 D.是能力成熟度模型集成(CMMI)的替代品,是一个流程。
d
假如采用关系数据库系统来实现应用,在数据库设计的 阶段,将E-R模型转换为关系数据模型。
A.物理设计B.逻辑设计C.概念设计D.运行阶段
结构特性设计称逻辑结构特征 包括把实体转换为er图 将分er汇总 得出概念结构模型 再得出逻辑结构模型
物理设计是得出数据表的过程
若关系中的某一属性组的值能唯一标识一个元组,则称该属性组的最小属性组为
- A.候选码 B.主属性 C.主码 D.外码
A
下面哪一个需求会驱使项目采用SOA架构?
-
A.应用集成B.资源虚拟化
-
C.改善的系统管理D.业务灵活性
-
d
-
有一个零售公司很难改变其业务流程,许多业务需要维护他们的数据库和相
应的接口,下面一些包括重拾数据在内的手工步骤。零售公司应该怎样改变这些
流程进而提高流程的效率
- A.开发具有整合应用程序和信息资源的服务
- B.用最新的可用的技术来整合应用程序和资源
- C.用来减少成本的航运功能外包 D.创建公共服务以减少流程的冗余
- d
如果整体系统的一个功能组件能够独立于其他组件正常运行,这是SOA架构中的哪一个概念
- A.模块化B.扩展性C.松耦合D.关注点分离
a
复杂产品或者服务,可以建立4级流水线,包括个人级、项目组级、版本级和_____
-
A.资源部门级 B.解决方案级 C.特定用户级 D .最终版本
b
以下哪项不属于DevCloud应用部署的流程
- A.填写部署参数
- B.创建虚拟私有云
- C.添加授信机器
- D.创建部署任务
b
工作拷贝(工作目录):用于存放产品开发数据本地工作目录。
索引(Index):用于存放待提交数据的缓存区。
本地库:远端库的一个完整的拷贝,包括所有文件的修改记录,分支等。
远端库:本地库clone来源。
中心库:远端库的一种,公司级存放某个项目所有产品数据的仓库。
快照(snapshot):版本库某个时间点所有文件集合。
全球版本号(commitID):Git库的版本号是通过SHA-1算法根据库中的所有内容计算出一个40 位的哈希值,这个哈希值是全球唯一的,基本只要前六位就可以唯一标识了。
系统规划的主要任务不包括( )
-
A.明确组织的信息需求、制定系统总体目标
-
B. 对系统进行经济、技术和使用方面的可行性研究
c. 确定软件系统的模块结构
d. 计算机逻辑配置
c
诺兰阶段模型把信息系统的成长过程划分为( 六个)阶段
下列描述正确的是( )
- A. 总体规划阶段应当包含数据流程分析
- B.总体规划是系统开发中的首要任务
- C. 总体规划是系统开发中相对容易的阶段
- D.总体规划位于系统分析之后
b
敏捷开发的最好的激励团队成员的方式:迭代回顾会议【考】
- 以下命令中哪个可以查看当前所有git分支?( git branch )
- 在Git基本概念中,索引(Index)是指什么?( 用于存放待提交数据的缓存区
过度加班而获得的特性不是浪费 缺陷是浪费
一般子系统的划分是在系统( )阶段,根据对系统的功能/数据分析的结果提出的。
- A.总体设计B.系统分析C.逻辑阶段D.详细设计
- b
在绘制数据流图时,应遵循父图与子图平衡的原则,所谓平衡是指( )
- A.父图和子图都不改变数据流的性质
- B.子图不改变父图数据流的一致性
- C.父图的输入/输出数据流与子图的输入/输出数据流一致
- D.子图的输出数据流完全由父图的输入数据流确定
c
不属于用例之间关系的是( )
A.聚合B.包含C.泛化D.扩展
a
系统设计阶段的主要成果是()。
A、用户的决策方针
B、用户的分析方案
C、系统设计说明书
D、系统总体设计方案
c
下列哪些是大数据时代新的伦理问题
- A.数据安全B.身份困境C.隐私边界D.开发规范
abc
数据的价值有非消耗性,不随使用次数增多而减少 dui
ByPass 漏洞指: 绕过正常检测判断,直接到达目的地
能够在一定程度上防范SQL注入问题:
使用存储过程(存储过程中不要使用动态sql拼语句)、用参数形式调用sql 、hibernate、Linq(不要使用里面的直接拼sql语句的方式)
指针覆盖漏洞主要特性: 外部数据不仅可以覆盖程序的函数返回地址,还可能覆盖程序运行中其他的关键地址
无法防范SQL注入的做法 禁止用户入中含有 双引号(")
对企业使用SOA构成挑战 的是 a服务组件的联合使用b 定义适当粒度的服务
b
用户开发应用系统的主要手段是 生命周期法
系统分析主要成果是 可行性研究报告
系统设计的主要成果是 系统设计说明书
二、笔记
系统分析与设计
1.3 软件研发趋势
软件系统:复杂性 可变性 不可见性
1 软件实体比其他实体更复杂
2 软件有大量的状态 理解很难
3 软件是思维活动的产物 客户的需求在一直变化 软件修改很容易所以修改频率很高
4 软件设计随技术 开发语言方法人的经验变化
一致性
1 软件需要各种系统的兼容
2 需求和实际是否一致
不可见性
无法可视化 难以直观
数据流图 流程控制图等软件表达方式和建模方法无法详尽展现软件阻碍交流
传统软件开发 1 计划预测 2 预定义和分阶段控制 3 一次性交付
现代软件开发 1探索 适应 2 小批量快速交付 拥抱变化
3 严格交付验收 4 高效协作
传统IT软件在向云服务转型 快 体验
多语言混合编程
从单一产品竞争变为生态联盟竞争
1.4devops是软件开发运维质量保证三个部门间沟通协作集成的流程 方法体系的集合
驱动因素 1 快速迭代的业务诉求 2 大规模使用敏捷软件开发的 能力基础
3 虚拟化和云计算的技术基础 4 希望自动化完成配置工作
Devops减少从研发到部署的时间
开发和运维一体化的 自动化一切可以自动化的东西
精益 快速迭代
TTD 自动化测试
第二章系统规划
2.1系统规划概述
erp系统 企业资源计划
系统规划
2.2系统规划步骤
系统规划的准备工作 1接受任务组织队伍
客户是投资项目的人 是系统所有者 对于大型系统 系统所有者是中高层经历 小型系统是主管或经历
系统用户是使用信息系统的人 有内部外部和远程移动用户
产品经理 融合市场和技术
系统分析师 抽象模型建立者 是会编程的
收集数据 组织的环境地位特点 管理的目标 通信条件 经费 收益等等
组织机构调查
识别管理功能
识别资源的生命周期
组织管理矩阵是识别管理功能的常用方法
定义数据类
1 实体法 把可以独立考虑的事物定义为实体 如客户产品材料等
2 功能法
数据类矩阵
c表示功能产生 u是功能使用 把c放对角线上 再根据功能组 划分子系统
再寻找子系统的数据交流 画出数据流 删去c u 产生体系的结构图
两种模式
c/s模式 服务器是文件管理 数据库 客户端进行运算等 对客户端软硬件成本高 维护成本高 移植性不好
b/s模式 浏览器+客户端+服务器 只要安装浏览器 所以扩展性 移植性好 成本低
实际可以二者结合
2.4 系统规划的模型
系统成长的六个阶段
初装
蔓延 从一个部门到多个部门
控制
集成
数据管理
成熟
现在发展为 CMM能力成熟度模型
由五个开发等级构成
1 初始级 2 可重复级 3 已定义级 4 已管理 5 可优化级
特点 1 基于实际实践 2反映实践情况 3反映软件过程改进和过程评估执行人员的需求 4形成文档 5文档可公开使用
提高公司的管理能力 提高软件质量
关键成功因素法 常用头脑风暴法
把头脑风暴产生的关键因素 合并排序
用鱼骨图整理这些因素 是一种透过现象看本质的方法
鱼骨图
鱼头在右边时 是原因型 用为什么…来写
鱼头在左边 用如何提高…的句式来写
基于场景的需求才是真正的需求
好的产品满足需求 nb的产品创造需求
挖掘深层需求 找准用户特点
3.3 需求 来自用户的反馈或突发奇想 或竞品展示 或甲方任务
随着科技 商业 人的成长
需求发现的思维 极致思维 逆向思维 打破常规 联想思维 跨界思维
需求分析的步骤
1 用户研究
2 市场分析 政治 经济 技术 社会
swot strength weakness opportunity threat
3 竞品分析
直接竞争 间接竞争 行业领先者
竞品分析报告 给谁看 着重分析性的内容 报告需要有结论
数据分析 可以分析需求 看到隐形需求 大数据排行榜
分析后获取用户反馈
用户画像概述
用户画像是 具备用户核心定位后 融入用户角色 不断对产品核心理念做修正的过程
焦点小组收集用户反馈 8-12用户 解决紧急调研需求 快速反馈问题
深度访谈 让用户自己讲述 倒金字塔 先开发再聚焦
3.10 用户画像过程
最小化成本验证需求 :用一句话 把一个核心需求讲清楚
mvp最小化可行的产品 快速投放到市场
第四章:项目管理概念
1 发起团队
2 可行性分析 wbs工作分解 创建资源规划 评估风险
3 执行基线计划
4 结束项目
项目组织 1单纯型 小项目
2 职能型 按人的工作分成部分 一个部门负责几个项目 一个成员可以横跨几个项目
3矩阵型 项目经理决定工作内容 部门经理决定人员和技术
受多重领导
工作分解结构 work breakdown structrue
按照功能模块 项目的地域或部门 或职能分解 最后交付工作包
工作包超过80小时 即两周
某项具体工作只在一个工作包里
一个工作包多人参与 一个人负责
任务分解与实际行动一致
4.2项目启动
发现问题
甘特图 横轴时间 纵轴安排的活动 计划和实际活动的完成情况
加上 任务分配表
网络图
4.7敏捷开发
12个原则
2-4周的短迭代交付 业务参与(开发和业务人员互相参与
客户满意 拥抱变化 以人为本 面对面沟通 结果导向(可交付的软件
保持节奏(开发 责任人 用户要同步 追求卓越 简洁为本 团队自组织
敏捷=理念+优秀实践(经验积累 如何站立会议 结对编程 重构等 +具体应用
聚焦客户价值 激发团队 适应变化
敏捷:在缺陷发生立刻停下来解决问题
技术债务:不稳定的架构 圈复杂度高的代码(好几个逻辑判断
不及时消除静态检查警告 和低的自动化测试率
敏捷实践 因地制宜
tdd测试驱动开发
敏捷的三个核心角色
po product owner 产品负责人 (用户 市场 管理者 等 对产品投资回报负责)确保做正确的事
scrum master确保team正确的做事 激励团队
开发团队 team 负责需求实现 5-9名跨功能领域的人
迭代开发 如果没有完成就缩减交付范围而不延期 持续获得反馈
产品backlog 经过优先级排序的动态刷新的产品需求清单 用来制定发布计划和迭代计划
可以看到优先级 工作量 注意事项 userstory 只有近期的需求才详细
迭代backlog将需求转换为具体任务 迭代计划任务会议 (输入产品backlog 输出迭代backlog)
将需求转换成更小的任务 可以分多级的迭代会议
完成标准 definition of done团队自协商 根据实际情况定好标准并持续遵守不改变
有三个层次 story级别 <迭代级< 发布级别
每日站立会议 昨天做了什么 今天计划做什么 需要什么帮助 有什么困难
准时 高效 跟踪问题
可视化管理 让团队成员直观获取项目的进度 实体化 白板 内容精简易懂 实时刷新
迭代验收 需要有真实的产品 收集反馈(po根据用户反馈更新backlog
结对编程 两个人一台电脑 一个敲代码 一个实时评审和协助 两人经常角色互换
可以减少缺陷 总体效率很高
TDD测试驱动开发 测试作编程中心 在代码前先写测试用例 测试可以完全自动化测试
优化代码设计 提高可测试性
持续集成 CI 自动化测试用例很重要 每人每天集成一次 每次集成自动化构建 可以早期暴露缺陷
强调快速 和 反馈
Anatomy系统解剖 是一个系统全视图 从用户视角全面展示复杂产品的功能依赖关系
站在用户角度的功能体现 是功能上的依赖关系 增量开发时不断更新
精益项目管理
1 消除浪费 七个致命的浪费
1缺陷导致返工 用自动化测试检测缺陷
2 过度生产
3 运输传递 瀑布模型中存在 知识在传递中丢失
4 等待 延迟 开发人员需要问知识 等待决策
5 半成品工作 使用单件流方式 某个小功能尽快到部署完成 再进行下一个
6 任务切换 中断扼杀生产力 用单件流的状态
7 不必要的流程 比如没有任何产出的过程 没人读的文档 等
内建质量 每个工序能错误验证和自检 不能留到最后再质检
发现问题时整个生产线要停止 解决问题后再生产
延迟决策 创建知识记录经验教训
快速交付 对人尊重 全局优化 精益创业环
精益的原则 1 站在客户的立场思考价值 2关注业务流中一切有价值的活动 3 拉动客户的隐藏需求 4 逐步完美
看板产品开发框架 记录产品开发过程 快速产品验证对齐方向 消除等待和瓶颈
产品 1最小可用产品mvp 体现核心价值的产品 快速验证客户需求
快速原型迭代的演进 测试商务模式通过用户反馈进行调整 业务结构调整等
2 xft跨功能团队
3 建立输入节奏
4看板管理流动
精益创业过程
敏捷和精益的区别
1 敏捷强调尽快交付可用产品 与客户密切协作 及时获得反馈
精益是最小可用产品 用看板来管理 促进
敏捷不关心商业上下文环境 精益创业 视角宽泛一些
微服务项目管理 松耦合 可并行开发 部署运行小产品
将业务 数据剥离 敏捷自治 devops去中心化开发测试运维美工全都有
功能可以在团队内直接决策 自己交付 自己规划 自己决策
silo 传统的软件架构模型 桶仓 分层模型
服务之间的关联性小 关注精 小
SOA架构 连接大量微服务 一个团队只做一件事情 包括整个开发部署流程也用微服务
只通过服务的接口 API 发布数据功能
各个组件只能用接口通信
接口设计时就方便外部的访问
采用微服务架构 服务间全解耦
小 粒度小
独 单独的进程
轻 轻量级通讯机制 用HTTP /REST接口
松 松耦合 可独立部署
微服务是单独进程 是可以直接使用的产品 和组件不同 组件是共同在一个进程里
区别于传统的SOA进程 微服务部署集中部署的额
第五章 系统分析建模
业务流程图 TFD
数据流程图 DFD
外部实体(系统之外的人 物
数据流 表示数据传递的方向
处理逻辑 P
数据存储DB 一个表 D打头