软件工程实践——软件评测作业
软件工程实践——软件评测作业
发布时间:2025-10-21 00:00:00
为了方便阅读以及助教评分,请大家在博客开头给出博文目录,作为内容的索引
请确认目录可以 正确跳转!
请在博客中 加一个链接指向邹欣老师的案例分析作业要求——软件工程 案例分析作业
请务必包含以下大标题,标题含义相近即可,你可以个性化你自己的大标题,并添加下属的小标题:
- 第一部分 调研,评测
- 大模型1
- 体验
- 自动化测试
- 结论
- 大模型2
- 体验
- 自动化测试
- 结论
- 大模型1
- 第二部分 分析
- 同类产品对比排名
- 软件工程方面的建议
- 大模型性能不同的原因分析
- 市场概况
- 产品规划
- 第一部分 调研,评测
Tips
🔺本次作业要求与邹欣老师发布的 软件工程-案例分析作业 类似,希望同学们认真对待本次作业~
本次作业截止时间为:2025年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、本学期供分析的产品
随着人工智能的发展,作为一个 IT 行业的学生或从业者,会接触到各种各样的大模型,你能否给这些大模型写一个评测博客呢?
本次作业需要同学们编写代码来自动化测试目前市面上的一些大模型。主要是通过在本地编写测试脚本后调用大模型提供的开源版api进行测试,测试之后该脚本要能够对该大模型的各指标进行量化打分(如1-10分),最终能够自动生成一个可视化的效果(如表格)。除此之外,请同学们至少完成对两个大模型的评测,并在后续博客的分析模块中进行对比分析。以下给出几个提供免费开源大模型的平台,同学们也可以自行探索。
注:至少测试两个大模型
2、博客具体要求
第一部分 调研,评测
(参考知识点:功能评测,黑箱测试,第8章用户调研,12章软件的用户体验)
体验两个大模型的功能
(1)使用体验
- 介绍和使用要测试的模型: 介绍该模型基本功能;注册并使用这个模型的主要功能,并上传使用模型的照片
- 优缺点分析: 描述使用这个产品的过程,解决了用户的问题么?它在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
- 用户对产品有什么改进意见?
- 采访另一个用户: 让TA使用10–30分钟被测产品的基本功能, TA能上手使用么? 有什么明显的困难,开发团队为何没有意识到这些初始用户会碰到的困难?(请将采访过程以图片和文字的方式记录下来,且要求采访对象为计算机、软件相关专业的学生)
记录请至少包含以下几点:
a. 采访对象的背景,为什么选择这个人采访?TA的需求是什么?
b. 描述采访对象实际使用的产品栏目
c. 采访对象使用大模型的过程中会遇到的问题和亮点
d. 采访对象觉得从用户体验的角度来说需要改进的地方有哪些?
(2)自动化测试
- 设计统一的评测标准表
- 评测指标(8个及以上)可以包括文本的连贯性、对话上下文记忆、数学推理能力、代码生成能力、知识的准确性等等
- 需要对该指标进行量化处理,如满分10分然后可以对该模型对应的能力进行打分1-10
- 设计统一的问题描述
- 针对评测指标来设计对应的问题拷打大模型
- 编写自动测试脚本对问题自动读取、打分
- 生成可视化表格(如csv格式等等)
(3)结论
经过这么多工作,你一定有充分的理由给这个模型下一个评价:
- a) 非常不推荐
- b) 不推荐
- c) 一般
- d) 好,不错
- e) 非常推荐
请选择一个结论。
除了定性的结论,是否能有定量的结论(就像最近比较时髦的手机评测那样,跑个分),如何定量地评价一个模型?
请看这个链接,并尝试从多个维度对模型进行定量的测评:
第二部分 分析
(参考知识点:8.6节对工作的估计,和14.1节软件工程的质量)
从书上我们可以得知:
程序 = 算法 + 数据结构
软件 = 程序 + 软件工程(软件服务还有数据,内容的因素)
软件企业 = 软件 + 商业模式
那么请你:
- 使用此模型的所有功能,估计这个软件/网站/服务做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI支持)。
- 分析这个模型目前的优劣(和类似模型相比),这个产品的质量在同类产品中估计名列第几?
- 从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)。
- 思考团队在哪一个层次还有问题? 为何职业的软件团队还有这些问题?这个软件团队在软件工程方面还可以如何提高?可以把自己想问软件团队的问题都列出来,也许就能得到团队的亲自解答!
(参考知识点:《构建之法》第8章功能的定位和优先级;第9章项目经理)
这个软件/网站/服务有很多可以提高的部分,如果你是新上任的项目经理,如何提高从而在竞争中胜出?请针对以下的问题进行思考
- 市场概况
- 首先市场有多大?
- 其次直接的用户有多少?潜在的用户又有多少?
- 产品规划
- 你要在当前模型的基础上设计什么样的新功能?为何要做这个功能,而不是其他功能?为什么用户会用你的产品/功能?你的创新点在哪里?可以用NABCD分析。
- 如果你是项目经理,可以招聘6个人,并且有4个月的时间,你认为应该如何配置角色(开发,测试,美工等等) 才能在第16周如期发布软件的改进版本,并取得预想中的成绩。
- 请为你的团队设计16个周期每周的详细规划。
二、作业评分规则
本次作业满分100分:
第一部分(60‘):
【覆盖课程目标4】↓
(20’) 两个大模型的体验描述
- (10‘) 基本功能介绍和使用
- (5‘) 性能指标分析
- (5‘) 改进意见
(10‘)两个模型定性和定量的结论
(10‘)对被测试模型中最出色的模块介绍**
(10‘)对测试的模型进行对比分析**
(10‘)用户采访
第二部分(40‘):
【覆盖课程目标5】↓
- (10‘)说明你对大模型对我们现实生活所带来影响的看法
- (10‘)评价同类产品的优势和劣势
- (10‘)说明该产品的市场概况
- (10‘)说明该产品的未来可能规划
三、作业格式以及提交规则
1、为了方便其他学校的老师或者助教了解课程实况,请大家在作业开头添加作业的基本信息:(必做)
| 这个作业属于哪个课程 | <班级的链接> |
|---|---|
| 这个作业要求在哪里 | <作业要求的链接> |
| 这个作业的目标 | <写上具体方面> |
| 其他参考文献 | ... |
2、作业提交规则
- 在deadline前交,分数为实际得分 ;
- 若帖子发布后在审核(帖子显示404),可以在deadline 之前先于作业页面提交链接,再等待审核通过
- 不接受上传失败、网络原因等补交理由
- 补交:在deadline 后两天内提交视为补交,分数为实际得分 * 50%;写了但是忘记提交作业和补交扣分一致
- 缺交:在deadline 之后两天未补交视为博客缺交,分数为0分;
- 作业抄袭:当助教发现两篇博客文字/图片/代码过于相似时,判定两篇博客都为抄袭,分数都为-100%(注意是倒扣!)
3、注意事项
班级群如果发布相关通知也是作业要求一部分,请及时查看群通知; 若需要在群填写相关信息,未能在deadline之前完成填写的,**扣实际得分的50%**; 如对作业存在疑问,请在deadline之前三天在班级群提出; 若助教对作业要求有修改,会在群内公告,请务必查看并按新的要求完善作业; 请及时回复老师或助教的点评并作出相应修改。即使提交了作业,也应该关注班级群中助教的公告!
4、疑惑解疑
若有对题意不清或者有不理解的地方,可在QQ群或微信群中直接提问
相关推荐
软件评测师考试大纲.docx
按照软件评测师官方大纲,需要准备的知识点非常多。根据个人备考心得,结合历年考题情况,分别对上午和下午两部分考试的考点进行分析,考试重点和主要覆盖范围,更有针对性的准备,确保备考效率。
面向高校软件工程课程的一体化教学与实践云平台系统_整合在线学习云端开发自动化评测与项目管理的全流程教育解决方案_旨在为高等院校软件工程专业师生提供一个覆盖课程理论学习项目开发.zip
面向高校软件工程课程的一体化教学与实践云平台系统_整合在线学习云端开发自动化评测与项目管理的全流程教育解决方案_旨在为高等院校软件工程专业师生提供一个覆盖课程理论学习项目开发.zip
软件评测师考试大纲.pdf
软件评测师 考试大纲 软考
软件评测师考试历年试题及解答2005-2009
文字清晰版。软件评测师考试历年试题及解答。下载于大家网。 精品资料。附有考试大纲。
2013年软件评测师考试大纲
一、考试说明 1. 考试要求 (1)熟悉计算机基础知识; (2)熟悉操作系统、数据库、中间件、程序设计语言基础知识; (3)熟悉计算机网络基础知识; (4)熟悉软件工程知识,理解软件开发方法及过程; (5)熟悉软件质量及软件质量管理基础知识; (6)熟悉软件测试标准; (7)掌握软件测试技术及方法; (8)掌握软件测试项目管理知识; (9)掌握C 语言以及C++或Java 语言程序设计技术; (10)了解信息化及信息安全基础知识; (11)熟悉知识产权相关法律、法规; (12)正确阅读并理解相关领域的英文资料。 2. 通过本考试的合格人员能在掌握软件工程与软件测试知识的基础上,运 用软件测试管理办法、软件测试策略、软件测试技术,独立承担软件测试项目; 具有工程师的实际工作能力和业务水平。 3. 本考试设置的科目包括: (1)软件工程与软件测试基础知识,考试时间为150 分钟,笔试,选择题; (2)软件测试应用技术,考试时间为150 分钟,笔试,问答题。


