软件工程实践——软件测评作业

222200211李成功 2024-10-16 10:23:26
这个作业属于哪个课程2024软件工程
这个作业要求在哪里软件工程实践结对作业第一次——原型设计
这个作业的目标<1.调研测评网站 2.分析软件的功能和特点 3.给出分析和建议>
其他参考文献软件工程-案例分析作业幸存者偏差 (Survivorship bias)只评价界面的分析报告

目录

  • 第一部分 调研,评测
  • BUG量化标准
  • 评测环境
  • 福大算法与数据结构教学网站
  • 使用体验
  • 介绍和使用软件
  • 优点
  • 缺点
  • 改进建议
  • 采访另一个用户
  • BUG描述
  • 结论
  • 表格
  • 定量
  • InsCode
  • 使用体验
  • 介绍和使用软件
  • 优缺点分析
  • 改进意见
  • 采访另一个用户
  • BUG描述
  • 结论
  • 评分
  • 定性结论
  • 第二部分 分析——InsCode
  • 2.1 开发时间估计
  • 2.2 同类产品对比排名
  • InsCode与其他同类软件对比与排名
  • 1. GitHub Copilot
  • 2. 文心快码(Baidu Comate)
  • 3. 通义灵码(阿里云)
  • 4. InsCode
  • 5. Replit GhostWriter
  • 6. Amazon CodeWhisperer
  • 7. Sourcegraph Cody
  • 总结
  • 2.3 软件工程方面的建议
  • 2.4 BUG未修复的原因分析
  • 2.5 思考团队在哪一个层次还有问题?为何职业的软件团队还有这些问题?这个软件团队在软件工程方面还可以如何提高?
  • 2.6 市场概况
  • 2.6.1 市场概况
  • 2.6.1.3 用户画像分析
  • 2.7 产品规划
  • 2.7.1 NABCD分析
  • 2.7.2 角色配置及人数说明
  • 2.7.3 16个周期每周的详细规划

第一部分 调研,评测

BUG量化标准

严重程度定义影响示例
致命系统崩溃或主要功能完全不可用,无法使用。所有用户受影响,严重影响业务操作。应用无法启动、数据库崩溃、核心功能失效。
重要功能出现问题,影响用户体验,但有临时解决方案。大多数用户受影响,业务操作受阻。主要功能响应缓慢、重要数据无法访问。
一般功能存在问题,影响部分用户或功能,但不影响整体使用。一些用户可能受到影响,业务操作尚可继续。界面布局问题、部分功能有缺陷。
小问题,不影响功能或用户体验,通常是界面或美观问题。极少数用户受影响,业务操作不受影响。拼写错误、排版问题、次要功能的小瑕疵。
微小几乎不影响用户体验的小问题,通常是建议性的改进。用户几乎不会注意到,解决时间灵活。建议的界面改进、优化的文档说明。

评测环境

  • 设备型号:台式机
  • 处理器:Intel® Core™ i5-12400F
  • 机带RAM: 32.0 GB (31.8 GB 可用)
  • 显示适配器:NVIDIA GeForce RTX 4060 GPU
  • 操作系统:Windows 11 64位
  • 浏览器:Microsoft Edge 129.0.2792.89 (正式版本) (64 位)

福大算法与数据结构教学网站

使用体验

介绍和使用软件

登陆后的这个界面

img


img


img


img

优点

  • 综合性功能:该平台具备全面的服务,从课程管理、作业提交到成绩查看、优秀作业展示和讨论区,覆盖了学习过程中的各个关键环节。

  • 作业提交的便捷性:在提交作业时,用户可以利用支持的多种编程语言,界面设计贴心,左侧展示题目,右侧为代码编辑区域,方便用户在不同语言间切换和编写代码。

  • 强大的互动性:讨论区的功能强大,用户不仅可以发布问题和帖子,还能进行点赞和评论,极大地促进了学习者之间的交流和互动。

  • 优秀作业展示:通过展示优秀作业的榜单,为学生提供了一个学习和参考的平台。

缺点

  • 讨论区界面设计:讨论区的界面在默认分辨率下显得不够精致,两侧的空白区域和个人信息栏占据了较大空间,导致实际帖子内容的显示区域较小。

  • 功能实现不全面:一些功能尚未完全实现,例如搜索栏仅作为装饰而无法使用,帖子中的图片也无法点击放大。

  • 代码提交和测试流程:提交代码后缺乏实时测试功能,用户必须等到提交时间结束后才能看到测评结果,这导致用户无法即时了解自己的代码是否正确,有时即使本地测试通过,提交后也可能无法得分。

  • 菜单栏功能逻辑:点击“我的课程”和“实验作业”菜单项都会导向同一个实验作业页面,这使得“我的课程”按钮的存在变得没有必要。

改进建议

  • 界面设计优化:重新设计讨论区的布局,减少不必要的空白,调整个人信息栏的尺寸,扩大帖子内容的显示区域,以便用户能够更集中和舒适地阅读内容。

  • 功能完善:确保搜索栏能够正常工作,并改善帖子中图片的查看体验,增加点击放大的功能,以提升整体的用户体验。

  • 实时测试功能的引入:在提交代码时加入实时编译和测试的功能,让学生能够立即获得代码的正确性反馈,避免长时间等待提交结束后的结果。

  • 菜单栏逻辑的优化:重新审视并优化菜单栏的功能布局,确保“我的课程”和“实验作业”具有明确的区分,或者合并相似的功能,以避免不必要的页面跳转。

采访另一个用户

  • 采访对象背景:软件工程专业的学生,使用过Github等平台
  • 使用栏目:创建项目以及ai辅助编程的功能
  • 选择该采访对象的原因:专业要求契合且是该软件的目标用户

img

BUG描述

-BUG1

  • 评级:致命,对所有用户有影响
  • 可复现性:100%
  • 具体描述:无法注册
  • 复现展示

    img

  • 可能原因
    -JavaScript错误:如果注册页面中的JavaScript代码存在错误,可能会导致注册按钮无法正常工作。
    • 表单验证失败:如果注册页面中有表单验证,而用户填写的信息不符合要求,注册按钮可能无法触发提交事件。
    • 服务器端问题:注册按钮无法触发可能是因为在后台服务器端处理出现问题。
    • 代码逻辑错误:可能是注册按钮的处理逻辑存在问题。
    • 数据库连接问题:如果注册按钮需要将用户的注册信息存储到数据库中,可能是由于数据库连接出现问题导致注册按钮无法正常工作。
    • HTML和JavaScript绑定问题:检查注册按钮的HTML代码是否正确,包括是否有正确的type属性(如"submit"),以及是否有正确的name和value属性。
  • 改进建议
    • 提供更清晰的注册指导和错误提示。
    • 优化注册流程,减少不必要的步骤。
    • 提供多种联系方式,如在线客服、电话支持等,以便用户在遇到问题时能够快速获得帮助。
    • 定期更新和维护系统,以确保兼容性和稳定性。

结论

表格

评价指标描述评分(1-10)
内容质量网站是否提供了全面、准确的算法与数据结构教学内容。7
用户界面网站的设计是否直观、美观,导航是否便捷。7
互动性网站是否提供了讨论区、问答等互动功能,以及这些功能的活跃程度。6
资源可用性网站是否提供了丰富的学习资源,如视频、文档、示例代码等。7
技术支持网站是否提供了有效的技术支持,如常见问题解答、在线帮助等。6
更新频率网站内容的更新是否及时,是否经常添加新的教学材料。6
移动设备兼容性网站是否在移动设备上也能良好显示和操作。6
个性化学习体验网站是否提供了个性化的学习路径推荐或自适应学习内容。8
社区参与度学习者是否积极参与网站社区,社区的活跃程度如何。6
安全性和隐私保护网站是否采取了适当的安全措施来保护用户数据和隐私。6
总分65

定量

不太推荐使用

InsCode

使用体验

介绍和使用软件

主界面,只要登陆了csdn,登入这个网站便会自动用csdn账号登陆,并且包含工作台,社区,悬赏,模板中心,GPU云容器,帮助文档,反馈中心等功能的跳转的功能。

img

登陆注册界面,也是csdn的登陆页面

img

编程界面

img

优缺点分析

  • 优点

    • 功能丰富,满足编程爱好者多种需求
    • 易用性良好,新手也能快速上手
    • 有ai辅助编程
    • 包含在线IDE可进行修改
    • 提供API和插件接口,满足个性化需求。
  • 缺点

    • 部分功能需要收费
    • 用的人感觉较少,社区没有太多优质内容分享

改进意见

1,可以将大部分模板内容取消收费,这样使用者会更多
2,可以开发一个桌面端,这样用户在没有网络时,依旧可以使用下载的模板等各种功能
3,宣传吸引更多用户使用这个网站,为社区提供更多优质文章

采访另一个用户

  • 采访对象背景:软件工程专业的学生,使用过Github等平台
  • 使用栏目:创建项目以及ai辅助编程的功能
  • 选择该采访对象的原因:专业要求契合且是该软件的目标用户

img

BUG描述

-BUG1

  • 评级:中,对部分用户有影响

  • 可复现性:100%

  • 具体描述:点击fork后,再点击创建项目,会出现程序异常的情况

  • 复现展示

    img

  • 可能原因

    • 前端JavaScript错误:可能存在JavaScript代码中的错误,导致在执行Fork操作时,代码运行异常。
    • 服务器端逻辑错误:服务器端处理Fork请求的逻辑可能存在缺陷,导致无法正确处理Fork操作。
    • 数据库问题:如果Fork操作涉及到数据库,那么数据库错误(如连接问题、查询问题、权限问题等)可能导致异常。
    • API接口问题:如果Fork操作需要调用后端API,那么API可能存在问题,如未正确处理请求、服务器内部错误等。
    • 缓存问题:如果系统使用了缓存机制,可能由于缓存数据不一致或缓存服务异常导致Fork操作失败。
    • 配置问题:服务器或应用的配置问题可能导致Fork功能异常。
  • 改进建议

    • 错误捕获与处理:在前端JavaScript中添加更严格的错误捕获和处理机制,确保任何运行时错误都能被捕捉并记录。
    • 代码审查和测试:定期进行代码审查,以发现和修复潜在的逻辑错误。实施单元测试、集成测试和压力测试,确保代码在各种情况下都能稳定运行。
    • 资源管理和优化:优化服务器资源使用,确保在高负载情况下也能保持稳定。考虑使用负载均衡和自动扩展来处理高并发请求。
    • 文档和用户教育:提供清晰的文档说明Fork操作的预期行为和可能遇到的问题,以及如何解决这些问题。

-BUG2

  • 评级:中,对部分用户有影响
  • 可复现性:50%
  • 具体描述:在搜索框随机打入一串代码,出现暂无资源后,在输入其他内容并ENTER以后,无反应
  • 复现展示

    img

  • 可能原因

    • 前端事件处理问题:可能是前端在处理搜索事件时,没有正确地清除或重置搜索状态,导致第二次输入无法触发搜索事件。
    • 缓存问题:浏览器或前端框架可能缓存了第一次搜索的结果状态,导致第二次输入时没有更新。
    • JavaScript错误:前端JavaScript代码可能存在错误,导致在第一次搜索后,脚本执行中断或进入了错误状态。
    • 后端服务问题:后端服务可能在处理第一次请求时出现了异常,导致后续请求无法正常发送或接收。
  • 改进建议

    • 优化前端事件监听:确保每次输入后都正确地触发搜索事件,可以通过重置搜索框状态或重新绑定事件监听器来实现。
    • 清除缓存:在用户进行第二次搜索前,清除可能影响结果的缓存,确保每次搜索都是基于最新状态。
    • 错误处理:在JavaScript代码中添加错误处理逻辑,确保即使出现错误也不会影响后续操作。
    • 后端服务优化:确保后端服务能够正确处理各类请求,并在出现异常时能够恢复到正常状态。后端服务应有适当的错误处理和日志记录机制,以便及时发现和修复问题。

结论

评分

类别描述评分(满分 10 分)
云端开发环境评估InsCode提供的云端开发环境的稳定性和易用性。8
AI编程助手评价InsCode内置AI编程助手的准确性和辅助编程的效率。7
用户界面设计根据InsCode的用户界面的直观性和美观性进行评分。9
功能丰富性评价InsCode提供的功能是否全面,是否覆盖了用户的主要需求。8
部署便捷性评估InsCode部署项目到生产环境的简便程度。7
社区活跃度根据InsCode社区的用户活跃度和交流质量进行评分。8
学习曲线评价新用户学习使用InsCode的难易程度。7
性能表现评估InsCode在处理大型项目时的性能表现。8
客户支持评价InsCode的客户支持服务的响应速度和解决问题的能力。7
安全性根据InsCode的数据保护措施和安全性进行评分。8
总分77

定性结论

推荐使用

第二部分 分析——InsCode

2.1 开发时间估计

对于一个6人团队(包括计算机专业大学毕业生和UI支持),开发类似InsCode这样的软件/网站/服务,估计需要6个月至1年的时间。这个时间包括前期规划、功能开发(项目模板、IDE界面、部署功能、社区等)、测试和UI设计。由于团队可能对某些关键技术或开发流程不熟悉,需要额外的学习和调研,同时可能需要处理其他项目或任务,因此时间估计较长。

  • 需求分析和规划:1周
  • UI/UX设计:2周
  • 前端开发:4周
  • 后端开发:5周
  • AI编程助手集成:3周
  • 云端开发环境配置:2周
  • 社区和协作功能开发:3周
  • 测试和质量保证:3周
  • 部署和发布:1周
  • 市场推广和用户反馈:2周

2.2 同类产品对比排名

InsCode与其他同类软件对比与排名

1. GitHub Copilot

  • 特点:由GitHub与OpenAI合作开发,提供智能代码建议,支持多种编程语言。
  • 优势
    • 预测代码生成
    • 多语言支持
    • 持续学习用户风格
  • 排名:1

2. 文心快码(Baidu Comate)

  • 特点:基于百度大模型,提供智能代码生成和优化。
  • 优势
    • 实时代码诊断
    • 安全漏洞自动修复
    • 企业级定制化支持
  • 排名:2

3. 通义灵码(阿里云)

  • 特点:提供代码智能生成和研发智能问答。
  • 优势
    • 行/函数级实时续写
    • 自然语言生成代码
    • 多编程语言支持
  • 排名:3

4. InsCode

  • 特点:支持AI辅助编程和多语言开发,提供云端开发环境。
  • 优势
    • AI生成应用
    • 一键部署功能
    • 社区支持
  • 排名:4

5. Replit GhostWriter

  • 特点:与Replit在线代码编辑器集成,提供实时代码补全。
  • 优势
    • 实时代码补全
    • 语法错误预防
    • 集成开发环境
  • 排名:5

6. Amazon CodeWhisperer

  • 特点:提供从片段到函数的实时代码建议。
  • 优势
    • 增强代码安全性
    • 可定制的建议
    • 快速发现漏洞
  • 排名:6

7. Sourcegraph Cody

  • 特点:提供自动代码审查和错误检测。
  • 优势
    • 智能代码补全
    • 自动错误检测和修复
    • 代码评论功能
  • 排名:7

总结

InsCode在多语言支持和AI辅助编程方面表现出色,但在代码生成的智能化和安全性方面略逊于GitHub Copilot和文心快码。通过不断优化用户体验和功能,InsCode有潜力在未来的排名中更进一步。

2.3 软件工程方面的建议

  1. 用户调研和反馈机制:建议团队对用户进行调研,收集用户需求和反馈,并及时处理和改进。
  2. 更好的文档和帮助中心:提供更详细的文档和帮助中心,以便用户更好地了解软件的功能和使用方法。
  3. 更严格的测试:采用更严格的测试方法,包括单元测试、集成测试和验收测试,确保软件的稳定性和可靠性。
  4. 安全性保障:重视软件的安全性,包括用户数据的保护、用户信息的加密等。
  5. 持续集成和持续交付:采用持续集成和持续交付的方法,快速发布新版本和修复已知问题。

2.4 BUG未修复的原因分析

对于InsCode中发现的BUG,如点赞后数据未同步的问题,可能是由于数据渲染和点赞图标渲染不是同时进行,导致刷新后数据不一致。这可能是由于不同程序员编写的函数在调用时未协调一致,加之软件发布时间不长,测试用户反馈数据不足,导致问题未能及时发现和修复。

2.5 思考团队在哪一个层次还有问题?为何职业的软件团队还有这些问题?这个软件团队在软件工程方面还可以如何提高?

团队存在的问题

  • 需求管理和测试流程可能不够严格。
  • 沟通和资源分配可能存在问题。

提高方法

  • 加强项目管理和团队沟通。
  • 合理分配资源,确保测试和开发资源的合理分配。
  • 引入敏捷开发方法,加强迭代和反馈。

想问软件团队的问题

  1. 如何确保需求的持续更新和适应市场变化?
  2. 在开发过程中如何平衡新功能开发与现有功能的维护?

2.6 市场概况

2.6.1 市场概况

  • 市场规模:全球软件开发市场规模巨大,预计到2025年将达到数千亿美元。InsCode作为在线协作和代码评审平台,市场需求不断增长。
  • 直接用户:包括软件开发人员、工程师、大学生等,注册用户超过100万,但实际活跃用户数量需进一步分析。
  • 潜在用户:全球软件开发人员数量超过2000万,潜在市场空间巨大。

2.6.1.3 用户画像分析

  • 专业开发者:需要高效的开发工具和团队协作支持。
  • 学生和新手开发者:需要学习资源和实践机会。
  • 自由职业者和小型开发团队:需要灵活的工作流程和项目管理工具。
  • 科研人员:需要数据处理和算法实现工具。
  • 爱好者和业余开发者:需要兴趣爱好支持和个人项目开发工具。

2.7 产品规划

2.7.1 NABCD分析

Need(需求):提升协作效率,增强学习体验,即时反馈与指导。

Approach(方法):集成智能协作工具,优化用户界面,利用AI技术分析代码,集成实时通讯工具。

Benefit(利益):即时反馈,提高协作效率,增强学习体验,职业发展。

Competitors(竞争):市场独特性,定制化体验,社区优势。

Diversity(差异化):宣传与介绍,试用与反馈,案例研究,合作伙伴关系,持续创新。

2.7.2 角色配置及人数说明

  • 项目经理:1人
  • UI/UX设计师:1人
  • 前端开发者:1人
  • 后端开发者:1人
  • 全栈开发者:1人
  • 数据库管理员,测试工程师:1人

2.7.3 16个周期每周的详细规划

周次任务
1项目启动和团队组建
2-3需求分析和规划
4-6UI/UX设计
7-12前后端开发
13-14集成AI编程助手和云端开发环境配置
15-16测试和质量保证
...全文
51 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

239

社区成员

发帖
与我相关
我的任务
社区管理员
  • FZU_SE_teacherW
  • 助教赖晋松
  • D's Honey
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧