[I.1] 个人作业:阅读和提问
个人作业:阅读和提问
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2025年春季软件工程(罗杰、任健) |
这个作业的要求在哪里 | [I.1] 个人作业:阅读和提问 |
我在这个课程的目标是 | 学习并掌握软件工程方法,与团队成员一起完成一个属于我们自己的软件工程项目。 |
这个作业在哪个具体方面帮助我实现目标 | 了解软件工程原理和团队开发技巧 |
问题1:如何衡量一个可扩展的(或可泛化)的设计是否过早?
P53 过早扩大化/泛化(Premature Generalization):软件的“软”还表现在它可以扩展。在写个程序的时候,需要某个函数可以处理整数类型和字符串类型的信息,有的程序员往往灵光闪现——哎,能不能把类型抽象出来,让这个函数处理所有可能的类型?这样不就一劳永逸了么?有些软件本来是解决一个特定环境下的具体问题,有的程序员一想,我们能不能做一个平台,处理所有类似的问题,这样多好啊!这样的前景的确美妙,程序员的确需要这样的凌云壮志,但是要了解必要性、难度和时机。
通过面向对象课程的学习我们知道,一个好的软件应该有较强的可扩展性来应对未来可能的需求。但是不可否认,过于泛化可能不利于将软件的试用版尽早交付,那么应该如何平衡呢?
问题2:对于本课程的团队作业(规模相较于实际并不算大),采取什么样的团队模式能有更好的效果?
在第五章:团队和流程中介绍了以下窝蜂模式、主治医师模式、明星模式、社区模式、业余剧团模式等团队模式。
根据我的观察,此类团队作业更多为主治医师模式或业余剧团模式,那么其他的一些模式:例如功能团队模式是否会有更好的效果。
问题3:为了用户体验而牺牲产品质量是否舍本逐末,或者说,在多大程度上可以迎合用户的体验?
我看到这段话:20 世纪 90 年代,韦尔奇注意到核磁共振机的通道特别狭窄,在长达几十分钟的检查过程中病人常常有得了幽闭恐惧症的感觉。韦尔奇做过类似的检查,深有体会。他问专家,能不能把通道做得宽一些?专家说那样会降低扫描成像的质量。他又问,对于那些不需要太高精度的检查,能否牺牲一些成像质量,换取用户的良好体验呢?专家说,他们会考虑的……然后就没有下文了。不久,竞争对手推出了宽通道的扫描设备,并夺取了大量的市场份额。CE 被动迎战花了两年时间才赶上对方。
在这个例子中,通过牺牲一些成像质量,换取用户的良好体验,如果牺牲的成像质量在不影响后续诊断的范围内显然是可行的,但过度显然也会造成不良反应。我认为,用户体验固然是影响产品市场的重要因素,但产品质量更是产品的核心竞争力。如果为了用户体验牺牲产品质量,固然能吸引短期客户,但是否有牺牲长期潜在客户的风险?我认为最终应该是在商业价值上取到用户体验和产品质量的平衡。
问题4:在软件开发中“探索式”的测试是否缺乏规范化和可行性?
我看到这段话:“探索式”的测试(Ad hoc Test)就是指为了某一个特定目的而进行的测试,且就这一次,以后一般也不会重复测试。在软件工程的实践中,“Ad hoc”大多是指随机进行的、探索性的测试。
在软件测试时,一些天马行空的思维可能发现了更多的bug,但是这只能证明之前的测试方案的不完备。而且其测试流程是不可重复的、不可自动化,这导致其难以在大型项目中方便实施。根据我的经验,在我为从前写过给稍具规模的程序测试时,随机的、探索式的测试往往不够有效率,而且不能测试到大部分情况,所有只能是在系统测试后的补充。我认为正确的做法是将“探索式”测试中的特殊样例抽象出来,融入到以后的测试计划中。
问题5:在实际的工作中是如何衡量每个人的绩效的?
17.6 绩效管理中提出了各种各样的绩效管理方法,例如完成任务维度、团队贡献维度、用动物来比喻的体系等等。但我认为每种评价方式都不算十全十美,而且不合理的绩效评价会造成员工不满进而影响后续工作。我查找了一些资料,可能会综合考虑以下方面:1. 工作态度 2. 软件质量 (bug的等级和个数,回归次数,重要模块系数) 3. 工作难易度 (功能性,可靠性,易使用性,高效性,可维护性和可移植性,功能点数,复杂度) 4. 工作效率/能力 (完成百分比,工作经验) 5. 主动性 6. 沟通能力 7. 程序规范程度。不过毕竟不能完全代表实际情况,我还是有些疑惑的。
[I.1] 个人作业:阅读和提问的更多相关文章
- [BUAA软工]第一次博客作业---阅读《构建之法》
[BUAA软工]第一次博客作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 第1次个人作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪 ...
- 【阅读】提问的智慧+有效的报告BUG
这两项可谓是我们测试人员的基本要求了,不过实话说的是,我自己这两方面很薄弱.哎!!! 这两篇文章都看过了,不过我在这也记个笔记吧.督促自己!!! <提问的智慧> <如何有效地报告Bu ...
- 【M2】软件工程终期总结报告——阅读作业
PhylabWeb——阅读作业 问题回顾 提问博客地址:http://www.cnblogs.com/kibbon/p/4831104.html 尚待解决的问题: Alpha/Beta,ZBB/RC阶 ...
- 第一次阅读作业 xinzcover
---恢复内容开始--- 第一次阅读和准备作业 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1 这个作 ...
- [BUAA2021软工助教]个人阅读作业#2小结
作业链接 见个人阅读作业#2 优秀作业推荐 Shaun_Yao ✍️ 道法之间--软工第2次博客作业 Potassium ✍️ 构之有道,建之有法--软工个人阅读作业#2 MarkDay ✍️ < ...
- C语言--第二周作业
****学习内容总结**** 1.Git和编辑器截图 2.MOOC截图 3.阅读<提问的智慧>感想 读完<提问的智慧>之后,我认为在提问时,要根据以下步骤: 谨慎明确的描述症状 ...
- [2019BUAA软工助教]第0次个人作业
[2019BUAA软工助教]第0次个人作业 一.前言 我认为人生就是一次次地从<存在>到<光明>. 二.软件工程师的成长 博客索引 同学们在上这门课的时候基本都是大三,觉得在大 ...
- [2019BUAA软工助教]第一次阅读 - 小结
[2019BUAA软工助教]第一次阅读 - 小结 一.评分规则 总分 16 分,附加 2 分,共 18 分 markdown格式统一且正确 - 2分 不统一:扣 1 分 不正确:扣 1 分(例如使用代 ...
- 学习金字塔 分类: T_TALENT 2014-05-21 09:25 331人阅读 评论(0) 收藏
学习金字塔是美国缅因州的国家训练实验室研究成果,它用数字形式形象显示了:采用不同的学习方式,学习者在两周以后还能记住内容(平均学习保持率)的多少.它是一种现代学习方式的理论.最早它是由美国学者.著名的 ...
- C语言I博客作业
|这个作业属于哪个课程 | C语言程序设计I | | ---- | ---- | |对这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2 ...
随机推荐
- Qt开发经验小技巧231-235
关于c++中继承多态virtual和override的几点总结. 子类可以直接使用基类中的protected下的变量和函数. 基类函数没加virtual,子类有相同函数,实现的是覆盖.用基类指针调用时 ...
- 你的语言模型实际是一个奖励模型!😁Direct Preference Optimization:Your Language Model🎭is Secretly a Reward Model
直接偏好优化:你的语言模型实际上是一个奖励模型 其实每张PPT图下面还有解释的注释,但放上去还要改格式,太多啦!所以就靠大家读论文脑补啦! 摘要 1.引言 2.相关工作 3.预备知识 4.直接偏好优化 ...
- 飞书lark机器人 自动化发版
飞书lark机器人 自动化发版 #1 介绍 开发飞书机器人接收消息并调用构建接口, 实现自动化发版 发送指令 -> 机器人接收指令 -> 调用jenkins-job远程构建与部署 jenk ...
- ICML 2022 | Graph Machine Learning 论文分享
ICML 2022 | Graph Machine Learning 论文分享 国际机器学习大会(International Conference on Machine Learning,简称ICML ...
- R语言画图常用参数
plot(x,xlab = "degree",ylab = "number of nodes",main = "mRNA degree distrib ...
- .NET 响应式编程 System.Reactive 系列文章(一):基础概念
.NET 响应式编程 System.Reactive 系列文章(一):基础概念 引言 在现代软件开发中,处理异步事件和数据流已经成为常见的需求,比如用户输入.网络请求.传感器数据等.这些数据流通常是无 ...
- Solution -「AGC 020F」Arcs on a Circle
\(\mathscr{Description}\) Link. 在一个周长为 \(c\) 的圆周上放置长度分别为 \(l_1,l_2,\cdots,l_n\) 的弧,每条弧的位置独立均匀随机. ...
- WPF 无边框窗体改变大小和移动
WIN32 API: private const int WM_NCHITTEST = 0x0084; private readonly int agWidth = 12; //拐角宽度 privat ...
- xxl-job安装
---------------------------------------------------------------------------------------------------- ...
- leetcode-Linux 简介
https://leetcode-cn.com/leetbook/read/awesome-linux-handbook/eg4ecm/ Linux 系统是一种金字塔模型的系统,如下所示 应用程序发起 ...