团队作业2-需求规格说明书
这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | 团队作业2-《需求规格说明书》 |
这个作业的目标 | 确定项目需求、成员分工,撰写需求规格说明书 |
团队成员
姓名 | 学号 |
---|---|
温惠兰(组长) | 3222004641 |
陈靖凯 | 3122004856 |
徐天 | 3121000506 |
黄立韬 | 3122004609 |
刘国浩 | 3122004619 |
张树程 | 3122004802 |
王喆 | 3122004625 |
一、需求规格说明
1.1 引言
- 现如今,随着电脑、手机等用户终端设备的普及,对于公职人员而言,大量文书工作的基本载体由手工书写纸张转变为采用电子文档文件。对于文章工作者、程序编写人员而言,其工作的主要载体为电子文档文件的编写。本项目旨在开发一个工具软件,为用户提供服务,使得用户可在特定终端完成文档文件的创建、查看、编辑等相关操作。
- 本文档旨在描述文本编辑器规格需求,包括功能、性能、用户界面、数据管理、安全等方面的内容。该平台旨在为用户提供一个方便、高效的工具,用于进行文本编辑器的开发。
1.2 项目概述
- 项目名称:文本编辑器
- 项目类型:实用工具
- 适用人群:具有大量文档编写需求的群体、如程序员、作家、文书工作人员等
- 预期用户量:100-200人
1.3 功能需求
1.3.1 基础功能:
1)UI界面设计:如菜单栏、工具栏、帮助信息等界面的设计
2)新建文件:在指定路径新建特定格式文本文件(纯文本文件(.txt) 、C语言源代码文本文件(.c)、C++ 源代码文本文件(.cpp)、MarkDown文本文件 (.md))
3)打开文件:支持从指定文件路径打开纯文本文件(.txt) 、C语言源代码文本文件(.c)、C++ 源代码文本文件(.cpp)、MarkDown文本文件 (.md)
4)保存文件:保存文件到指定路径
5)编辑文件内容:剪切、复制、粘贴、清空文本
6)导入图片:从指定文件路径导入图片文件,支持不同格式(.jpg 、.png等)
7)可修改字体属性:字体颜色、字体类型(宋体、黑体等)、字体大小、字体加粗、字体斜体等
1.3.2 可扩展功能:
1)切换不同主题:如白色主题、深色主题
2)支持创建代码块,并实现以下功能:
语法高亮:对不同编程语言或文件类型进行语法高亮显示
自动补全:对于代码编辑功能,提供代码补全
代码折叠:隐藏和展开代码块
3)创建数学公式:
公式的渲染(即显示):基于LaTex语法或其它语法显示数学公式
检测合理性:检测公式语法是否正确,如括号是否匹配等
给出错误提示
4)支持部分MarkDown语法
多级标题、引用等
5)多窗口支持:支持同时打开多个文本文件
6)编码转换:如将文件由GBK编码转换为UTF-8编码
7)跨平台支持:支持在多种操作系统上使用,如可支持在Windows、Linux、MacOs等系统上使用
1.4 技术需求
- 开发语言:C++
- 编程环境:Viusal Studio 2022
- 工具包/外部库:Qt
- 编码规定:采用UTF-8编码
1.5 其他需求
1)性能需求:需尽量保证开发的软件轻量化,降低内存消耗。
2)测试需求:所有功能的实现需经过缜密的测试,如单元测试、系统测试等。
3)文档需求:项目开发文档需按照一定规范编写。
1.6 项目真实性、可用性和价值阐述
- 真实性:随着电脑、手机等电子设备的普及,与文字相关的工作逐渐由手写转变为编写电子文档的形式。文档编辑器能够准确地处理各种文本格式,包括普通文本、Markdown、LaTeX 等,同时提供基本的编辑、保存、打开等功能。
- 可用性:界面设计简洁、操作流畅敏捷,同时提供了丰富的功能和定制选项,以满足不同用户的需求。
- 价值所在:其为用户提供了一个方便快捷的编辑文本的工具,可以用于编写代码、撰写文章、制作笔记等各种用途。一些高级功能,如语法高亮、自动补全、多窗口编辑、版本控制集成等,可以进一步提升用户的编辑效率和体验。对于开发者来说,一个功能强大的文本编辑器还可能提供代码片段、调试工具、集成开发环境等功能,帮助他们更高效地编写和调试代码。
二、项目管理
2.1 团队概况
- 项目仓库地址:仓库地址
- 代码管理工具:Git
- 开发文件(代码、文档)管理平台:Github
- 团队issue截图:
2.2 团队安排
2.2.1 分工安排
总体安排及完成情况
职责 | 成员 |
---|---|
功能性需求分析 | 陈靖凯(已完成) |
技术性需求分析 | 团队全员 |
实现基本功能 | 温惠兰、黄立韬、刘国浩、张树程、王喆 |
实现扩展功能 | 徐天、王喆、陈靖凯 |
测试 | 团队全员 |
详细安排
成员 | 具体要实现的功能 |
---|---|
温惠兰 | 基本功能7:可修改字体属性 |
陈靖凯 | 扩展功能3:创建数学公式 扩展功能5:多窗口显示 |
徐天 | 扩展功能2:创建代码块 |
黄立韬 | 基本功能2:新建文件 基本功能4:保存文件 |
刘国浩 | 基本功能3:打开文件 基本功能6:导入图片 |
张树程 | 基本功能5:编辑文件内容 |
王喆 | 基本功能1:UI界面 扩展功能6:编码转换 |
2.2.2 项目开发计划
原计划:
时间 | 安排 |
---|---|
第9周 | 1.组队、博客随笔 |
2.团队介绍、成员展示、角色分配、选题确定 | |
3.制定团队计划安排,团队贡献分的规定 | |
第10周 | 1.需求规划说明书 |
2.原型设计,估计任务难度并学习必要技术 | |
3.编码规范完成、初步架构搭建 | |
第11周 | 1.原型改进,初步建立完善基础框架 |
2.架构设计,团队成员估计各自任务所需时间 | |
3.测试计划 | |
第12、13周 | 1. 团队项目Alpha任务分配计划 |
2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
第14周 | 1.用户反馈+测试计划改进 |
2. 团队Alpha阶段个人总结 | |
3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
第15周 | 1. 团队项目Alpha博客:事后分析 |
修改后计划:
时间 | 安排 |
---|---|
第9周 | 1.组队、博客随笔 |
2.团队介绍、成员展示、角色分配、选题确定 | |
3.制定团队计划安排,团队贡献分的规定 | |
第9、10周 | 1.需求规划说明书 |
2.原型设计,估计任务难度并学习必要技术 | |
3.编码规范完成、初步架构搭建 | |
第11周 | 1.原型改进,初步建立完善基础框架 |
2.架构设计,团队成员估计各自任务所需时间 | |
3.测试计划 | |
第12、13周 | 1. 团队项目Alpha任务分配计划 |
2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
第14周 | 1.用户反馈+测试计划改进 |
2. 团队Alpha阶段个人总结 | |
3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
第15周 | 1. 团队项目Alpha博客:事后分析 |