配套哔哩哔哩视频主页:才鲸嵌入式

配套gitee源码仓库:才鲸

嵌入式编程技巧项目启动说明书


文档状态 文档标志 01-项目启动说明书.md 审核人
[√] 草 稿 当前版本 v0.1 审核日期
[ ] 正式发布 作者 将狼才鲸 批准人
[ ] 正在修改 完成日期 2020-03-23 批准日期

版本历史

版本/状态 作者 参与者 起止日期 修订说明 批准人

项目组成员

项目负责人 将狼才鲸
产品经理
项目经理
需求团队
设计团队
开发团队
测试团队
配置管理人员
质量保证人员

负一、项目简介

附加章节。本章是项目和产品初步说明和构想,最终的产品信息在后续的《产品定义说明书》中确定。

-1.1 产品说明

功能:嵌入式实用示例代码展示

编辑/编译环境:Ubuntu Linux、Windows

运行环境:Ubuntu Linux、硬件仿真器:SkyEye/ARMulator/Softgun/RealBoard/QEMU/Protenus/Keil/RTSM、目标开发板

使用语言:C、C++、汇编等

控制:Console控制台、Ncurses基于文本的用户界面、QT、Web

接口:API、私有通讯协议

用途:展示嵌入式编程技巧、架构、模块

目标群体:入门嵌入式编程的人员、工作中查找技术实现的人员

要求:文档齐全、从易到难、有目录索引、模块独立不耦合、以实用为准

-1.2 项目背景

因为UP主想自己从头到尾做一个项目。
一是记录自己的经验,方便以后工作中要用到时回来查看抄代码;
二是做出东西时能不断给自己成就感,打发晚上和周末漫长的时间;
三是如果能帮助到任何人也是很美好的一件事。

〇、项目流程

本章是附加章节,主要介绍一个项目的完整生命周期所需要的操作步骤,进行一下项目管理知识普及,
实际的《项目启动说明书》从第一章开始。

0.1 项目启动阶段

项目启动由项目负责人或者启动过程组成员负责,项目启动的初始原因可能是负责人的灵感、负责人发现商机、产品更新迭代、竞争对手推出新品等等。
项目启动以项目启动会的召开为标志,在项目启动会召开之前需要准备以下材料:
输出文档:《项目启动说明书》
项目启动说明书中包含以下章节:
产品定义 需求计划 项目计划 人员配置 规章制度 风险预估
产品描述 调研计划 实施计划 项目负责人 项目管理 骨干人员流动
主要功能 调研问卷 数据采集表 时间安排 里程碑计划 进度检查 产品经理 项目开发流程 团队氛围涣散
产品特色 调研记录 开发计划 项目经理 需求变更流程 进度延后
实施的意义 调研总结 资源 预算 成本计划 客户代表 版本控制章程 质量不达标
提交产物 完成标记 成果展望 系统分析 交付物计划 开发团队 保密制度 成本超支
约束条件 支持的操作系统 接口 可行性分析 沟通计划 测试团队 Bug追踪流程 需求频繁变更
目标用户 竞品分析 质量控制计划 人员与职责 奖惩制度 目标及需求不明确
项目范围 使用场景 项目目标 商业价值 风险控制计划 组织结构 人员技能不足
项目背景 规格说明书 用户培训计划 市场萎缩
成本要求 竞品增加

《项目启动说明书》

0.2 需求分析阶段

需求定义 竞品分析 市场调研 商业价值
功能 子功能 接口 公司背景 用户需求 项目价值
性能需求 用户数量 功能满意度 社会价值
可靠性需求 融资进展 功能接受度 用户价值
响应时间 特色功能 用户访谈
可扩展性 交互分析 利润导向
数据流图 用户评论 市场的问题
运行环境 设计约束 市场的机会

《需求规格说明书》

0.3 概要设计阶段

系统架构 系统框图 架构
系统分析评审 系统流程图 顺序执行
概要设计说明书 开发系统 时间片切分
系统框架 目标系统 模块路由
稳定性 状态机
远程升级
安全性

《概要设计说明书》

0.4 详细设计阶段

详细设计文档 模块设计文档 单元测试文档
接口说明 函数功能接口 单元测试用例
API接口函数说明 数据结构
通讯协议 全局变量
模块划分 文件读写
错误输出模块

0.5 开发

系统原型、《编码规范》、代码管理规范、设计文档规范、交叉审核
分支管理、bug追踪、进度报告、版本号说明、CICD自动测试自动发布
系统分析文档

0.6 测试

《测试大纲》、测试计划、测试报告、问题清单、测试用例、产品集成测试
功能测试、压力测试、性能测试(提供性能参数)、抗干扰测试

0.7 交付/发布

用户说明、产品说明、项目总结、系统管理手册、安装配置手册、用户操作手册
用户培训计划、用户培训教程、系统上线报告、问题清单、项目验收报告、项目总结报告

0.8 售后与升级

用户体验调查、缺陷追踪

一、产品定义

====产品定义 一款展示嵌入式软件编程规范和技巧的源码库,可以在Ubuntu主机/硬件仿真器/实际开发板运行的软件系统,包含从简答单个训练用例到复杂软件系统的全套开发文档和源码,可读、可仿真、可运行。 逐步展示嵌入式软件C语言编程技巧:编程规范、注释规范、源文件管理、编译控制、版本命名、模块编写、驱动编写、应用编写、协议设计、网络编程、系统架构、模块设计、接口设计、人机交互、单元测试、算法优化、版本管理……

二、需求计划

====需求定义 一键确定主机性能 确定主机环境 确定编译工具 确定测试环境(字符串菜单 qt web 文档在线查看) boot选择 区分有无MMU

三、项目计划

====一些准则 要做的功能都是自己会做的,不需要太多学习 作出的东西都是有实际作用 复杂的工程不替换一开始简单的功能,让人可以从最简单的开始慢慢接触 成品至少包含嵌入式中每一个方向。命名:模块名+系统名+芯片名+板级,所有设备上线探测, 代码有不加宏定义的版本,有加宏定义的版本​ 首先要是自己都会的,然后所有的东西都有实际用处,其次要循序渐进各步骤的代码都有,搜索arm模拟器,51protenus单片机模拟器,确定使用仿真平台。目的是使用所有能仿真的外设,做网络通讯产品控制别人的传感器执行器。有多少玩就能相互控制多少人的设备。所有的例程都应用在仿真器中,但是也要保证能稍作修改就能跑到实际硬件中。目的是所有跑起来的程序都有相互通信的可能。可以连一个网站,可以查找哪些设备在线,专门用来受理不同主机的网络请求,使两台设备相互通讯。第一阶段把编程规范说清楚就行。出一个git使用教程,实例解说。 (画出组织结构图)

四、人员配置

五、规章制度

====沟通方案 微信群、邮件、gitee留言、钉钉工时打卡 ====项目管理:禅道 代码管理:gitee ====项目开发流程 文档、表格、流程图、时序图、甘特图:markdown 思维导图(脑图):XMind 瀑布开发、敏捷开发 部门管理与项目管理分开 源码文件夹划分

六、风险预估

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐