个人作业:阅读和提问

项目 内容
这个作业属于哪个课程 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] 个人作业:阅读和提问的更多相关文章

  1. [BUAA软工]第一次博客作业---阅读《构建之法》

    [BUAA软工]第一次博客作业 项目 内容 这个作业属于哪个课程 北航软工 这个作业的要求在哪里 第1次个人作业 我在这个课程的目标是 学习如何以团队的形式开发软件,提升个人软件开发能力 这个作业在哪 ...

  2. 【阅读】提问的智慧+有效的报告BUG

    这两项可谓是我们测试人员的基本要求了,不过实话说的是,我自己这两方面很薄弱.哎!!! 这两篇文章都看过了,不过我在这也记个笔记吧.督促自己!!! <提问的智慧> <如何有效地报告Bu ...

  3. 【M2】软件工程终期总结报告——阅读作业

    PhylabWeb——阅读作业 问题回顾 提问博客地址:http://www.cnblogs.com/kibbon/p/4831104.html 尚待解决的问题: Alpha/Beta,ZBB/RC阶 ...

  4. 第一次阅读作业 xinzcover

    ---恢复内容开始--- 第一次阅读和准备作业 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1 这个作 ...

  5. [BUAA2021软工助教]个人阅读作业#2小结

    作业链接 见个人阅读作业#2 优秀作业推荐 Shaun_Yao ✍️ 道法之间--软工第2次博客作业 Potassium ✍️ 构之有道,建之有法--软工个人阅读作业#2 MarkDay ✍️ < ...

  6. C语言--第二周作业

    ****学习内容总结**** 1.Git和编辑器截图 2.MOOC截图 3.阅读<提问的智慧>感想 读完<提问的智慧>之后,我认为在提问时,要根据以下步骤: 谨慎明确的描述症状 ...

  7. [2019BUAA软工助教]第0次个人作业

    [2019BUAA软工助教]第0次个人作业 一.前言 我认为人生就是一次次地从<存在>到<光明>. 二.软件工程师的成长 博客索引 同学们在上这门课的时候基本都是大三,觉得在大 ...

  8. [2019BUAA软工助教]第一次阅读 - 小结

    [2019BUAA软工助教]第一次阅读 - 小结 一.评分规则 总分 16 分,附加 2 分,共 18 分 markdown格式统一且正确 - 2分 不统一:扣 1 分 不正确:扣 1 分(例如使用代 ...

  9. 学习金字塔 分类: T_TALENT 2014-05-21 09:25 331人阅读 评论(0) 收藏

    学习金字塔是美国缅因州的国家训练实验室研究成果,它用数字形式形象显示了:采用不同的学习方式,学习者在两周以后还能记住内容(平均学习保持率)的多少.它是一种现代学习方式的理论.最早它是由美国学者.著名的 ...

  10. C语言I博客作业

    |这个作业属于哪个课程 | C语言程序设计I | | ---- | ---- | |对这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2 ...

随机推荐

  1. Qt编写的项目作品23-推流综合应用示例

    一.功能特点 支持各种本地音视频文件和网络音视频文件,格式包括mp3.aac.wav.wma.mp4.mkv.rmvb.wmv.mpg.flv.asf等. 支持各种网络音视频流,网络摄像头,协议包括r ...

  2. Soulmate

    理想之所以是理想,也就是因为它只能存在于脑海中,天上月是天上月,水中花是水中花.但我们仍可以怀揣着对乌托邦的向往,所以,我对理想中的对象设想如下: 原来形容一个女子的眉眼,我总喜欢说眉眼如黛,眉如远山 ...

  3. macos(m1)编译测试深度学习推理框架

    mnn build tnn

  4. UOS系统mysql服务安装

    UOS系统mysql服务安装 背景 1.安装环境:kvm虚拟机 2.运行环境:uos server-1060e 3.架构:x86 4.安装mysql版本:mysql-5.7 1.安装准备 # Mysq ...

  5. AI Editor 真的被惊到了

    引言 AI 辅助编程工具层出不穷,也尝试过不少 AI 编程辅助工具,但效果都不太理想,提示的代码命中率并不高,但却严重影响了编码的流畅性,并且聊天对话的时候,多数都需要手动引用代码,即使引用了代码,也 ...

  6. CDS标准视图:技术对象类别文本 I_TechnicalObjectTypeText

    视图名称:技术对象类别文本 I_TechnicalObjectTypeText 视图类型:基础 视图代码: 点击查看代码 @EndUserText.label: 'Technical Object T ...

  7. SpringCloud与Dubbo的区别

    1.SpringCloud与Dubbo的区别两者都是现在主流的微服务框架,但却存在不少差异: 初始定位不同:SpringCloud定位为微服务架构下的一站式解决方案:Dubbo 是 SOA 时代的产物 ...

  8. K_V键值存储对比

    memcached-键值存储 redis-键值存储 RocksDB-键值存储 KeyDB-键值存储 DynamoDB-键值存储 levelDB-键值存储 etcd-键值存储 Redis与其他数据库对比 ...

  9. 天翼云弹性高性能计算Portal简介

    本文分享自天翼云开发者社区<天翼云弹性高性能计算Portal简介>,作者:小燕同学 1.平台概述 天翼云官网已上线公有云弹性高性能计算(EHPC)产品,公有云EHPC产品主要由管理员控制, ...

  10. Linux查看和操作文件内容命令

    Linux查看和操作文件内容命令 文件查看命令 在Linux中,有多种命令可以帮助我们查看文件的内容.以下是其中一些常用的命令及其简要说明: cat命令 cat 命令用于显示文件的内容,特别适用于查看 ...