软件工程实践——大模型评测作业

助教王董毅 助教 2025-10-23 09:43:01

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

发布时间:2025-10-23 10:00:00

为了方便阅读以及助教评分,请大家在博客开头给出博文目录,作为内容的索引

  • 请确认目录可以 正确跳转!
  • 请在博客中 加一个链接指向本次大模型评测作业——大模型评测作业
  • 请务必包含以下大标题,标题含义相近即可,你可以个性化你自己的大标题,并添加下属的小标题:
    • 第一部分 调研,评测
      • 大模型1
        • 体验
        • 自动化测试
        • 结论
      • 大模型2
        • 体验
        • 自动化测试
        • 结论
    • 第二部分 分析

      • 开发时间估计
      • 同类产品对比排名
      • 软件工程方面的建议
      • BUG存在的原因分析
      • 市场概况
      • 产品规划

Tips

🔺本次作业要求与邹欣老师发布的 软件工程-案例分析作业类似,希望同学们认真对待本次作业~

本次作业截止时间为:2024年10月27日 23:59

注:博客发布后需要审核,请同学们记得提前发布博客,避免影响作业提交。


O、前言

很多同学有疑惑:

软件工程课是否就是枯燥的理论课?

或者是几个牛人拼命写代码,其他人抱大腿的课?

要不然就是学习一个程序语言,练习某个框架,搞一个职业培训的课?

都不对!软件工程有理论,有实践,更重要的是分析,思辨,总结。在课程中,同学们自己组织团队写一个软件发布,然后分析其中的得失,的确是学习软件工程的一个好方法。这样能根据切身体会来分析,很有价值,但也有可能“身在此山中,未能看清全局。而且,课程时间有限,我们也不能做很多具体的项目。因此,我们也需要从间接经验中学习,分析。别的项目的成败同样给我们很多启发!

我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,背英语单词的手机App,买火车票的网站,互相联系用的微信微博,等等,都是软件,都很值得分析。

  • 你为何成为该软件的用户?

  • 软件背后的团队做对了什么,做错了什么?

  • 软件工程质量如何?

  • 如果你来做,会做得更好么?

通过各种案例分析,评测,思辨,总结,我们就能看到软件工程的原则在实践中的种种体现,学好软件工程,帮助我们在实践中做得更好。

分析什么样的软件也有讲究,这就要说到一个故事:

某国空军为了提高飞机在空战中的存活率,决定加固飞机,但是加固什么地方呢?他们研究空战后飞回基地的飞机,飞机各部分中弹的地方和密度,想以此得出结论。但是专家们忽略了一点,那些被击中要害的飞机,都没有能飞回基地,也没有能够参加这些调查。

幸存者偏差 (Survivorship bias)是一种常见的逻辑谬误,意思是只能看到经过某种筛选而产生的结果,而没有意识到筛选的过程,因此忽略了被筛选掉的关键信息。这东西的别名有很多,比如“沉默的数据”、“死人不会说话”等等。

因此,我们不光要分析那些经历战场的考验而最后 "活着出来" 而胜利的软件,还要分析那些在战场中被打败,或者伤痕累累,正在挣扎的软件,这样才能全面地了解软件工程的原理在好/坏软件上所起的作用。

有的同学会说:

“我只会看看界面,写不出来...”

那么,可以看看这个 只评价界面的分析报告,争取写出类似水平的报告来:

2023年软件评测优秀作业展示:

https://blog.csdn.net/m0_51697851/article/details/129953018 [作者 talada]

https://blog.csdn.net/qq_53904588/article/details/130022579 [作者 凰宸ovo]

https://blog.csdn.net/W_B_camel/article/details/129998914 [作者 琴和悠扬]

https://blog.csdn.net/anshun33/article/details/130015029 [作者 赖安顺]

注:请先仔细阅读本次作业的要求,根据要求完成自己的思考,在完成作业后可以选择参阅,看看自己是否有可以提升的地方。前几次作业有出现模仿去年博客的情况,一旦助教发现将进行扣分处理,请同学们 独立完成作业,严禁一切形式的模仿和抄袭。


一、作业要求

1、本学期供分析的产品

随着人工智能和大语言模型(LLM)的发展,许多软件都具备了自然语言交互能力。
在软件工程实践中,如何设计自动化测试场景来客观评估模型性能,是非常重要的能力。
本次作业要求同学们:

💡 通过编写代码来自动化完成一个“购车决策”任务,并对不同大模型在该任务中的表现进行量化评测和对比分析。

本作业旨在让学生掌握以下能力:

  • 设计并实现自动化测试脚本;
  • 构建多轮任务型对话场景;
  • 提炼可量化的模型评估指标;
  • 将测试结果可视化与分析。
  1. 阿里百炼 新用户会赠送很多的免费额度,里面的模型都是可以调用的。
  2. 智普Ai 这里也有完全免费的模型可供调用Api

注:至少测试两个大模型


2、博客具体要求

第一部分 调研,评测

(参考知识点:软件的 bug,功能评测,黑箱测试,第8章用户调研,12章软件的用户体验)

体验两个产品的功能

(1)使用体验

  • 介绍和使用软件: 介绍软件基本功能;注册并使用这个软件的主要功能,并上传使用软件的照片

  • 优缺点分析: 描述使用这个产品的过程,解决了用户的问题么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?

  • 用户对产品有什么改进意见?

  • 采访另一个用户: 让TA使用10–30分钟被测产品的基本功能, TA能上手使用么? 有什么明显的困难, 软件的开发团队为何没有意识到这些初始用户会碰到的困难?(请将采访过程以图片和文字的方式记录下来,且要求采访对象为计算机、软件相关专业的学生)

          记录请至少包含以下几点:

               a. 采访对象的背景,为什么选择这个人采访?TA的需求是什么?

               b. 描述采访对象实际使用的产品栏目

               c. 采访对象使用软件的过程中会遇到的问题和亮点

               d. 采访对象觉得从用户体验的角度来说需要改进的地方有哪些?

 (2)自动化测试

1.请通过编程方式创建一个模拟的购车决策环境

在该环境中,程序应能与两个大模型(例如:阿里百炼 Qwen、智谱 ChatGLM 等)进行多轮对话,完成从需求到决策的全过程:

2.提出购车意图
例如:“我最近打算买车,预算大约20万元左右,主要用于城市通勤,希望空间舒适、安全性高。”

3.大模型给出初步推荐
程序自动捕获模型推荐的几款车型,并保存为候选列表。

4.输入购车要点
程序向模型逐条提出更具体的购车需求(如动力、续航、油耗、安全、保值率、品牌口碑等),要求模型基于这些要点分析或更新推荐。

5.性能参数表格化对比
让模型输出几款候选车型的性能参数对比表(例如动力、续航、空间、安全配置等),程序自动提取表格内容并保存。

7.选出目标车型
程序要求模型结合前面信息,给出最终推荐,并说明理由。

8.自动化评测
程序对模型的回答进行自动或半自动评分,量化其表现差异。


第二部分 分析

(参考知识点:8.6节对工作的估计,和14.1节软件工程的质量)

从书上我们可以得知:

程序 = 算法 + 数据结构
软件 = 程序 + 软件工程(软件服务还有数据,内容的因素)
软件企业 = 软件 + 商业模式

请分析你所使用的大模型平台或测试系统分别体现在哪些层次?

    1.程序层面:算法/数据结构体现?

    2.软件工程层面:有哪些服务、文档、协作机制?

    3.商业层面:它的商业模式或竞争优势在哪里?

(参考知识点:《构建之法》第8章功能的定位和优先级;第9章项目经理)

这个软件/网站/服务有很多可以提高的部分,如果你是新上任的项目经理,如何提高从而在竞争中胜出?请针对以下的问题进行思考

    4.市场概况

        首先市场有多大?

        其次直接的用户有多少?潜在的用户又有多少?

    5.产品规划

        你要在当前模型的基础上设计什么样的新功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新点在哪里?可以用NABCD分析


二、作业评分规则

本次作业满分100分:

第一部分(50‘):
【覆盖课程目标4】↓

  • (5’) 大模型的体验描述
  • (25’)自动化测试代码实现(使用代码实现自动化测试(如 Python 调用 API、批量问答、结果记录、CSV输出))
  • (10‘)测试结果整理与可视化(汇总测试数据,制作表格或图表对比)
  • (10‘)评测结论与主观体验分析(总结出哪个模型更适合购车推荐)

第二部分(40‘):
【覆盖课程目标5】

  • (10‘)说明你对大模型对我们现实生活所带来影响的看法
  • (10‘)评价同类产品的优势和劣势
  • (10‘)说明该产品的市场概况
  • (10‘)说明该产品的未来可能规划

第三部分(10‘):
【覆盖课程目标6】↓

  • (10‘)团队绩效:描述为完成这次作业的工作流程、组员分工、组员贡献度比例;(将用于小组分数到个人分数的映射,请一起讨论、妥善安排比重)

三、作业格式以及提交规则

1、为了方便其他学校的老师或者助教了解课程实况,请大家在作业开头添加作业的基本信息:(必做)

这个作业属于哪个课程<班级的链接>
这个作业要求在哪里<作业要求的链接>
这个作业的目标<写上具体方面>
其他参考文献...

2、作业提交规则

  • deadline前交,分数为实际得分 ;

    • 若帖子发布后在审核(帖子显示404),可以在deadline 之前先于作业页面提交链接,再等待审核通过

    • 不接受上传失败、网络原因等补交理由

  • 缺交:在deadline 之后未补交视为博客缺交,分数为0分;

  • 作业抄袭:当助教发现两篇博客文字/图片/代码过于相似时,判定两篇博客都为抄袭,分数都为-100%(注意是倒扣!)

3、注意事项

班级群如果发布相关通知也是作业要求一部分,请及时查看群通知;

若需要在群填写相关信息,未能在deadline之前完成填写的,扣实际得分的50%

如对作业存在疑问,请在deadline之前三天在班级群提出; 若助教对作业要求有修改,会在群内公告,请务必查看并按新的要求完善作业;

请及时回复老师或助教的点评并作出相应修改。即使提交了作业,也应该关注班级群中助教的公告!

4、疑惑解疑

若有对题意不清或者有不理解的地方,可在QQ群或微信群中直接提问

...全文
912 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
0人已提交
完成率0%
暂无数据
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
FZU_SE_teacherW 教师 10-28
  • 打赏
  • 举报
回复

1.l雷达图中各个指标是如何计算?请给出计算公式。2.用以自动化测试的数据来自哪里?3.每次测试的intent包含在main函数中?不太合理,请考虑提升一下。

110

社区成员

发帖
与我相关
我的任务
社区描述
202501福大-软件工程实践-W班
软件工程团队开发结对编程 高校 福建省·福州市
社区管理员
  • 202501福大-软件工程实践-W班
  • 离离原上羊羊吃大草
  • MiraiZz2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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