-
作业链接:https://edu.cnblogs.com/campus/fzu/FZUSoftwareEngineering1715W/homework/1300
第一部分 调研,评测
评测:
软件的bug,功能评测,黑箱测试
-
下载并使用,描述最简单直观的个人第一次上手体验。
- bug的定义
按照构建之法十三章的定义,BUG是软件的缺陷。
Bug可以分解为:症状、程序错误、根本原因
1).症状:即从用户的角度看,软件出了什么问题
2).程序错误:即从代码的角度看,代码的什么错误导致了软件的问题
3).根本原因:错误根源,即导致代码错误的根本原因
- 按照描述的bug定义,找出几个功能性比较严重的bug(至少两个)。用专业的语言描述(每个bug 不少于 40字),如有必要,可以配图.
1.T功能作为S功能的子功能,所有的T功能完成后应该等价于S功能的完成。但是在操作过程中发现,它们之间的关系好像并没有遵从上下级的关系,而是平级的,将S功能关闭后,归属于S功能的子功能还处于新建状态,不符合常理。
3.上传文档的层数受到了限制,经测试发现,文档最多只能传到第3层,超过3层就无法上传了。
3.描述用户使用这个产品的过程, 用户的问题解决了么件在数据量/界面/功能/准确度上各有什么优缺点户体验方面有问题么/p>
-
软件中的代码广场模块有仓库代码可以参考学习,解决了一部分的问题。
-
缺点:
1).是在 页上操作而不是在本地操作,需要 页的加载,一旦 速慢,测试和部署费时。
2).如果是企业的代码,不适合发布在github上,那么使用华为云代码不方便,需要保密的项目也是不适合托付给云端。如果是小组合作的代码,使用github就已足够。
3).开发模式单调,缺少个性化。 -
用户体验方面暂时没有什么问题。
4.用户对产品有什么改进意见/p>
1).所有云端数据可加密存储,可以在本地操作,然后再上传云端。
2).项目管理能否根据不同工程或项目可定制化。
5.结论:整体感受一般
第二部分 分析
参考 8.6 节 对工作的估计, 和14.1 节 软件工程的质量
- 使用此软件的大部分功能,联系第二部分的分析,估计这个项目做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI 支持)。 分析这个软件目前的优劣(和类似软件相比),并推理出团队在软件工程方面可以提高的一个重要部分(具体建议)。
阶段 | 周数 |
---|---|
开发前的计划 | 1 |
需求分析 | 2 |
生成设计文档 | 2 |
设计复审 | 2 |
代码规范 | 0.5 |
具体设计 | 4 |
具体编码 | 15 |
代码复审 | 3 |
测试 | 1.5 |
测试 告 | 1 |
计算工作量 | 0.5 |
事后总结,改进 | 0.5 |
优势:
1).相比于其它的项目管理工具,如Teamlab、Redmine等,华为软件云目前的优势主要体现在对于配置管理、代码检查、编译构建以及发布管理这几个方面,这些功能能够大大提升开发效率,适合中小型企业进行项目开发。
2).与其它软件不同的是,华为云是建立在云服务的基础上的,具有云的一些优点和特性。
3).软件提供了一套完整的开发流程,从项目启动到项目发布全都覆盖了,功能全面丰富。
劣势:
1).开发模式单调,不利于个性化开发。
2).只有中文,不支持多语言。
3).云端开发受 速限制,不像在本地一样操作方便。
4).云端的安全性得不到保障。
建议:我觉得可以提升的一个重要部分是功能的创新。现在市面上类似的软件比比皆是,要想在众多的软件中占领一席之地,就必须要有所创新,给用户带来不一样的体验,设计出一些能让用户感到眼前一亮的功能,会极大提高用户的满意度。
- 根据理解和体验,画出整个软件所有功能逻辑框图,根据重要度标识出各模块的重要度、完成度、出发点及效果;
华为软件开发云的基本操作流程图:
各功能逻辑框图:
1.看板
3.代码
5.构建
7.部署
9.流水线
因为这是一款集成了各个阶段开发工具的软件,每个功能都是一整套流程中不可或缺的部分,所以每项功能都挺重要的,因此我将重要度按照功能对用户的需求程度分为2个等级。
非常重要:核心需求功能,方便用户
重要:辅助功能
模块 | 重要度 | 完成度 | 出发点 | 效果 |
---|---|---|---|---|
看板 | 非常重要 | 90% | 能够一目了然查看项目进度及相关信息 | 能很直观的显示出当前项目的进度 |
工作 | 非常重要 | 85% | 提供项目立项,需求创建,计划安排,任务设计等子功能 | 操作简便,项目规划完成后会自动生成各层级相对应的Epic,Feature,Backlog |
代码 | 非常重要 | 85% | 提供代码托管功能 | 类似github,适合团队开发,效果不错 |
检查 | 非常重要 | 80% | 方便用户检查代码 | 提高了用户的开发效率,降低了代码的错误率 |
构建 | 非常重要 | 85% | 开发阶段的设计和实现 | 还不错 |
测试 | 非常重要 | 85% | 提供测试计划、测试用例、问题记录与分析等功能 | 方便团队成员进行测试 |
部署 | 非常重要 | 85% | 将开发好的软件拿给用户正常使用 | 还不错 |
发布 | 非常重要 | 85% | 提供软件发布的云服务 | 还不错 |
流水线 | 重要 | 75% | 设计整个开发的流程 | 开发人员清楚地知道下一阶段的任务是什么,不会显得手足无措 |
设置 | 重要 | 85% | 项目的基本信息设置,管理项目成员 | 可以设置基本信息属性。给团队成员安排任务方便 |
- 针对不同的维度评分,对用户体验方面、UI界面美观度、核心功能,分别打分。
1.用户体验方面
维度 | 维度说明 | 评价 | 用户体验 |
---|---|---|---|
易上手性(10’) | 初次使用不存在困难 ,并可以知道APP所有的核心功能以及如何使用 | 比较荣容易上手,很快知道某些功能的使用,但有些功能从未接触过,不知如何使用 | 8‘ |
最小记忆负担(10’) | 使用简单,不费脑力 | 使用起来还算简单,对于之前接触过的功能很容易操作 | 8.5′ |
流畅性(10’) | 功能使用流畅,不会感到缺少功能造成操作不便 | 使用起来挺流畅的,功能很强大,没有感觉缺少了什么 | 10′ |
可靠性(10’) | 稳定的,安全的 | 云端的数据还是存在一定的安全问题的 | 8′ |
效率(10’) | 操作响应速度 | 响应速度时好时慢,可能跟 速有关 | 8′ |
可理解性(10’) | 信息可理解 | 都是些开发中常见的词汇,而且是中文,理解起来很容易 | 9′ |
总分:60.0分; 得分:51.5分; 百分制:85.83分;
2、UI界面美观度
维度 | 维度说明 | 评价 | UI界面美观度 |
---|---|---|---|
布局和谐性(10’) | 排版合理 | 排版清晰简洁,各功能块分布合理 | 9.5′ |
色彩愉悦性(10’) | 配色合理 | 颜色搭配让人舒适,没有较强烈的对比色出现,背景的搭配增加了用户体验的愉悦感 | 10′ |
视觉清晰性(10’) | 字、图片大小适中 | 字、图片的大小适中,没有出现密集堆砌在一起的情况,也没有很松散的情况 | 9.5′ |
总分:30.0分; 得分:29.0分; 百分制:96.67分
3、核心功能
维度 | 维度说明 | 评价 | 核心功能 |
---|---|---|---|
有效性(10’) | 满足需求 | 开发过程中的主要需求都能得到满足 | 9′ |
完整性(10’) | 达到预期效果 | 功能完整丰富,包括了整个开发流程 | 9.5′ |
可用性(10’) | 使用过程流畅 | 易操作,使用起来也很流畅,但 速会影响页面的响应 | 8′ |
新颖性(10’) | 是否有创新 | 建立在云端的项目管理软件,代码检查部分也比较新颖 | 9.5′ |
总分:40.0分; 得分:36.0分; 百分制:90.00分
第三部分 建议和规划
参考《构建之法》第8章 功能的定位和优先级;第9章 项目经理
这个软件有很多可以提高的部分。
- 如果你是项目经理,如何提高从而在竞争中胜出/li>
根据《构建之法》8.5小节的内容,我觉得可以从以下几个方面提高:
2、OpenProject
OpenProject 是一个开源的、基于Web的项目管理应用程序。OpenProject 为项目团队提供了整个项目生命周期的支持,通过插件,OpenProject 支持:
协同项目计划、进度 告、任务管理、时间和成本 告、Scrum 等
4、DotProject
DotProject是一个基于Web的项目管理工具,采用 PHP 开发。它包含的模块有:公司管理,项目管理,任务进度跟踪(运用甘特图),论坛,文件管理,日历,通信 录,备忘录/帮助桌面,用户与模块的权限管理,主题管理。DotProject已被翻译成17种语言并采用模块化设计以便于扩展。

- 你要设计什么样的功能/li>
即时消息功能:可以在软件开发过程中进行实时的交流互动,类似微信那样可以和固定的成员进行交流,也可以建一个群在群里进行讨论。
- 为何要做这个功能,而不是其他功能/li>
团队开发中的交流非常重要,每个人都有自己的开发风格和特点,要通过频繁的交流协调各成员之间的差异,最终才能实现一个完整高质量的项目。开发期间遇到的各种问题也需要队员之间协商解决。而且每个人平时用的聊天工具可能也都不太一样,所以可以在该软件中进行统一,不用再打开别的软件进行聊天。
华为软件开发云中有讨论的功能,可以在特定的需求模块中进行讨论,但是操作起来并不是很方便,必须要先找到特定的模块,才能进行讨论。对于需求之外的问题,就没有对应的需求模块进行讨论。
- 为什么用户会用你的产品/功能/li>
团队在进行开发的时候,沟通交流是非常重要的。高效率的团队在企业经营活动中显示了强大的生命力,团队自身要想提高效率的运作,在很大程度上依赖于团队内部成员的构成和沟通的有效性等因素。成员彼此之间需要进行强有力的沟通才能了解各自的想法,能够互相了解,并能通过协作共同解决问题。即时消息的功能就挺符合团队开发人员的需求的。即时消息功能不仅能够增进成员之间的感情,还能促进团队的开发效率,这种形式的交流相比于讨论来说更加轻松,也更方便。
- 你的创新在哪里以用 NABCD 分析。
1、N(Need,需求)
团队成员之间需要进行频繁的沟通交流。
2、A(Approach,做法)
增加即时消息的功能,类似微信那样可以跟固定成员对话,也可以建一个群,进行讨论。收到消息后会有提示。
3、B(Benifit,好处)
增强成员之间的沟通,提升开发效率,提高产品质量。
4、C(Competition,竞争)
Teamlab项目管理软件有提供即时消息的功能,但是配置管理、代码检查、构建、发布这些功能是没有的。其他的项目管理软件大多没有即时消息的功能,所以这个功能相比于其他类似软件还是有一定的差异性的,具有一定的竞争力和优势。
5、D(Delivery,推广)
既然是华为的软件,推广可以采用召开发布会的形式或者是在各大技术 站或App市场进行推广。
- 如果你来领导这个团队,会有什么不一样/li>
、前期做足充分的市场调研,开发过程中时刻站在用户的角度考虑,注重用户体验。
、充分调动队员的积极性,经常跟进队员进度。
、合理安排每个成员的分工,尽量让每个人能的工作量相差不大。
、加强后期的测试,保证软件的质量。
- 如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)/li>
1个人负责美工——进行原型设计,并在项目开发过程中不断完善UI设计,编码期间可进行非核心代码的编写
2个人负责开发——进行核心模块代码的编写
1个人负责文档的设计——阶段文档的编写,编码期间可进行非核心代码的编写
1个人负责测试——进行后期测试,编码期间可进行非核心代码模块的编写
- 描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。
时间 | 任务 |
---|---|
第一周 | 需求分析,用户调研;会见客户,明确客户需求 |
第2周(小里程碑) | 需求复审,设计原型,编写需求规格说明书 |
第3周 | 搭建开发环境,确定编码规范,进行系统概要设计 |
第4周-第5周(小里程碑) | 进行系统的详细设计(包括系统的基本处理流程、模块划分、接口设计等等) |
第5周-第10周 | 进入编码开发阶段,每个开发者根据设计要求分别实现各个模块的功能。开发过程中遵守编码规范以及注释规范,开发期间涉及到的命名、接口等等需要严格按照设计文档执行。 |
第11周 | 测试阶段,对各功能模块进行单元测试和集成测试 |
第12周(中里程碑) | 发布版本,在小范围内进行测试 |
第13周-第14周(小里程碑) | 修复测试过程中发现的,若有需求变更也要进行更新 |
第15周 | 撰写各项文档 |
第16周(大里程碑) | 正式发布产品,交付使用。 |
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8665 人正在系统学习中 相关资源:台湾版平彼电脑测试软件_比鲁大师好的测试电脑软件-硬件开发其他…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!