结构化需求分析与设计
前言:
感觉书本上和线上课程, 讲的太抽象, 不好理解, 但软件开发不就是为了开发应用程序吗?!
干嘛搞这么抽象,对吧, 下面是个人对于软件开发的看法, 结合我的一些看法, 主打简单易懂,
当然,我一IT界小菜鸟, 对软件开发的认识也很浅显, 这个思维导图也仅仅是现阶段我的看法,
如果有不准确的地方, 欢迎留言, 你的留言是我更新的动力
结构化软件开发方法: 以下是正文
特点:
面向数据流, 以数据流为中心构建软件的分析/设计模型
结构化分析模型:数据流图
结构化设计模型:结构图, 模块的程序流程图
1.建立结构化分析模型:
数据流图--DFD图
功能建模, 规约加工流程
实体关系图-ER图
数据建模, 对实体对象的描述
状态转换图-SDT图
行为建模, 控制规约
数据字典--DD
包含软件使用和产生的所有数据的描述
2.建立结构化设计模型:
2.1概要设计
划分模块及其关系, 确定接口--将结构化分析阶段的数据流图DFD映射成结构图
1.体系结构设计
关注的是软件系统的整体结构,包括
1.体系架构风格的选择,
比如, B/S, C/S...
2.系统的物理结构
比如, nginx负载均衡, web服务器, 数据库服务器
3.系统如何划分成不同的软件组件,
比如,前端用户界面, 后端逻辑处理组件, 数据库表
4.这些软件组件之间的关系,以及它们如何交互
比如,前后端通过http请求通信,
后端使用sql对数据库表进行操作
2.数据结构设计
关注的是如何组织和存储数据
比如, 数据结构的选择、数据库设计、数据字典的创建等
3.接口设计
关注的是系统内部组件之间的接口以及系统与外部系统之间的接口
软件部件间接口
比如, 前端与后端是否使用RESTful风格进行通信
后端操作数据库使用sql还是orm
功能模块间接口
比如, 线上聊天室, A用户给B用户发送消息,
A通过聊天管理模块发送,
然后, 通知模块会提醒B用户查看消息
软件部件与外部系统接口
比如, 后端调用第三方api服务
人机接口
比如, 各个网站简洁大气的主页面
2.2详细设计(部件级设计)
给出每个模块的程序流程图或伪代码
3.评判方法:
主要根据模块的内聚度和耦合度判断
下面是作者的废话, 别看了
啥话也不说了
感觉学校教学与社会实践有点脱节了, 虽然408的那些知识很重要, 但是
也没必要一点也不跟时代节奏呀, 让学生硬扣代码吗???
啥也不说, 这碗自学的鸡汤, 灌你嘴里了吧?!