精品课程建设

思政案例

专业知识点 思政元素 方法
1. 软件开发过程——敏捷开发 科技报国——勇于担当、甘于奉献 案例教学、引导式教学
2. 软件体系结构——云计算 科学精神——勇于挑战、坚持不懈 案例教学、引导式教学
3. 软件编码 职业道德——团队协作、知行合一 实践教学、引导式教学
4. 软件测试 工匠精神、科学伦理——丝不苟、精益求精 案例教学、引导式教学、翻转课堂

案例名:从健康码看科技报国—敏捷开发的应用

1. 教学内容

结合“健康码”软件开发案例,介绍软件开发过程中常用的敏捷开发方法,并将教学内容与“健康码”开发过程中所蕴含的课程思政相结合,在强化学生对敏捷开发过程特征理解的同时提升学生的民族自豪感与爱国主义精神。

2. 知识点

软件开发过程中的敏捷开发方法。

3. 教学方法

案例教学法,引导式教学。

4. 教学过程

1) 介绍敏捷过程的特征,让学生对相关概念有初步了解。

敏捷过程能够快速响应变化,鼓励团队沟通和协作,重视软件的快速交付,强调客户持续参与。

2) 引用“健康码:数字助力战疫”案例,在案例中融入思政教育。

首先介绍健康码的需求背景和研发过程。2020年初,面对严峻的疫情,我国迫切需要做好疫情防控和社会发展多方面工作。从2月3日杭州余杭区联合阿里云团队、钉钉团队和支付宝团队等组成了虚拟在线团队开始紧急开发绿码,到2月7日杭州的余杭绿码正式上线,仅仅用了5天的时间。在此基础上政府和开发团队继续调研和完善,2月11日实现了杭州健康码。仅仅4天后,开发完成了浙江健康码并快速上线,有效促进了浙江省的复工。2月15日国务院相关部门指导阿里云、支付宝快速开发全国一体化健康码,经过研发人员的不断努力,2月24日,湖北省健康码上线测试,同时应用推广到全国大部分城市,仅用7天时间。

健康码事关上万甚至上亿居民,牵一发而动全身,必须100%准确。同时疫情在不断发生变化,健康码需要快速适应疫情的错综复杂和不断变化。健康码的背后是一个浩大的工程,涉及到技术、产品、法务、客服等众多方面。健康码的准确性,依赖于需求调研和分析的全面性,依赖于对需求变化的快速响应能力,依赖于大数据技术和人工智能技术的有力支撑,更依赖于政府部门强大的组织和管理能力。面对疫情期间各种非典型情况,研发团队与政府部门紧密配合,加班加点,不计个人得失,仅仅用一个多月的时间,从无到有,完成了极其复杂又极其重要的健康码的研发和上线运行。

在讲解的基础上,通过相关网站、视频等资料的演示,让同学们了解健康码背后的技术原理和敏捷过程管理思想,了解数字技术如何助力战疫。

3) 请同学们实际操作并讨论。

在介绍“健康码”的研发过程基础上,让同学们实际操作自己手机支付宝中的“健康码”,亲身体会健康码为疫情防控和复产复工所带来的重要贡献。并请同学们参与讨论:健康码的整个研发过程中,哪些方面体现了敏捷过程的哪些特征;健康码的研发过程,哪些方面体现了国家制度的先进性、科技水平的先进性;作为未来的软件研发人员,应具有哪些职业素养。

4) 总结提升。

健康码的研发过程,首先充分体现了敏捷过程的思想。面对突发疫情带来的突发需求,而且是前所未有没有经验的情况下,研发团队能够快速响应变化,从“余杭绿码”,到“杭州健康码”,再到“浙江健康码”,一直到“全国一体化健康码”,需求在不断发生变化,而且需求越来越大,越来越复杂。但是我国政府相关部门作为客户方,牵头组织,全程参与和协调,跨公司的虚拟在线团队密切沟通和合作,短短几天实现了软件的快速交付,为我国抗击疫情和复工复产经济复苏做出了非常重要的贡献。健康码的研发过程,充分体现了敏捷过程的特征:快速响应变化,鼓励团队沟通和协作,重视软件的快速交付,强调客户持续参与,使同学们加深了对于敏捷过程特征的理解;同时,健康码的研发和实现不仅体现了中国先进的科技创新能力,更体现了中国政府强大的组织和社会动员能力。另外,健康码的研发过程也展示了广大软件研发企业和研发人员勇担责任、勇于担当、甘于奉献的优秀品质。

同时,进一步通过演示“火神山”和“雷神山”相关网站和视频资料,让同学们深刻体会中国制造和中国速度,进一步培养爱国主义精神和增强民族自豪感。由于疫情在全球的迅速蔓延,对人们的生产生活都产生了重大影响,以中国应对疫情快速推出的有效方法之一“健康码”研发过程为例来介绍敏捷过程的特征,不仅能吸引同学们的兴趣,加深同学们对其所体现的敏捷过程特征的认识,更能提升同学们的民族自豪感和爱国主义精神,激发同学们为了国家的繁荣富强而奋斗的决心。

案例名:敢于挑战,勇攀珠峰—王坚和阿里云

1. 教学内容

对软件开发框架中的云计算开发技术进行介绍,并结合国产著名云计算平台“阿里云”的建设过程以及其创始人王坚的奋斗历程,开展对学生不畏艰难、敢于攻关、坚持不懈等优秀品质的思政教育,鼓励学生勇敢面对挑战。

2. 知识点

软件开发框架中的云计算架构。

3. 教学方法

案例教学、引导式教学。

4. 教学过程

1) 以实际应用场景为例,引入云计算技术,讲解云计算的概念、特性、优势等内容。

每年的“双11”大促是全民购物狂欢节,上亿消费者参与,交易额更是能达到千亿规模。如此大规模的交易行为,尤其是“秒杀”等活动的存在,实打实的考验着购物平台的系统承受能力,即对高并发场景的支持能力。云计算技术能够较好地解决上述高并发问题,尤其是在人口众多的中国,借助云计算技术对高并发场景进行支持显得尤为重要。

云计算是分布式计算的一种,通过多服务器组合进行任务分发处理,解决大规模数据的处理难题,是分布式计算、负载均衡、网络存储等技术融合发展的结果,具有虚拟化、高灵活性、高可靠性、可扩展性等特点。

2) 介绍云计算关键技术与实际应用。

对云计算体系结构、服务类型、以及监控部署等方面的关键技术进行介绍讲解,并介绍针对不同应用需求的云计算产品,让学生对云计算技术能有切实的体会与理解。

3) 介绍国产著名云计算平台“阿里云”,以及阿里云在创始人王坚领导下的发展历程,引出课程思政内容。

阿里云创立于2009年,是目前全球第三,亚洲第一的云计算平台,为众多领域提供了丰富的安全且稳定的产品和服务,并针对不同具体应用场景提供了全面且专业的解决方案。

阿里云创立者王坚,30岁成为心理学教授、31岁成为博导、32岁做系主任,之后凭借对计算机浓厚的兴趣努力钻研,37岁加入微软亚洲研究院,后加入阿里并创立阿里云,并于2019年被评为中国工程院院士。 王坚之所以能有如此不凡的成就,是因为他在面对困难挑战时能保持坚定的信念,坚持挑战。

2009年,王坚加入阿里,担任首席架构师,并成立阿里云。当时,云计算普遍不被业界看好,加上接下来的几年中阿里云在巨资投入下却迟迟未有产出,使得王坚饱受质疑与抨击。

2012年阿里云年会,看到之前在阿里云成立初期在阿里云后来离开了阿里云的同事,王坚控制不住自己的情绪,在年会现场痛哭流涕。王坚太孤独,他承受了太多的质疑和不理解,受了太多的委屈。2013年,王坚和团队的努力终于得到了回报。他们把5000台机器,组成了像一台机器在使用。为了测试,他们用了最野蛮的暴力断电,如果这样的情况下数据稳定,就说明云计算成功了。四个小时后,系统恢复运行,十台服务器报销,但数据毫发无损,阿里云,成功了!

2013年,阿里飞天系统获得国家计算机技术特等奖,面对奖牌,马云难掩激动的心情,眼含泪水,拿着手机对着奖牌一顿狂拍。2018年阿里云年收入近120亿,市场估值4500亿,阿里巴巴成为继谷歌和微软之外,第三家具备云计算能力的公司,阿里云成为亚洲第一,世界第三的云计算平台。2019年11月22日,王坚因为在云计算领域的卓越贡献,被评为中国工程院院士。

起初,其他人并不相信王坚能够做成阿里云,只有马云保持着对他的信任,坚定投入。那时的阿里巴巴看似是一个行走顺畅的人,但它的“两条腿”——核心技术——来自另外两家技术公司:雅虎和IBM。所以,云计算也是为了公司做“截肢手术”,去雅虎化和去IBM化。王坚坚信:技术才是一家公司的核心竞争力,阿里巴巴只有改变自身对其他公司的技术依赖,才能找到自己不可替代的坚实力量。同时,随着阿里巴巴的业务快速增长,IT基础设施成本的上升将会拖垮阿里巴巴,王坚也必须换掉老引擎,从零开始建立这套技术体系。不掉眼泪时的王坚,这样描述自己: “我不是一个根据外部标准判断我行为的人。”

后来,随着阿里云的成功,王坚终于得到了众人的认可。他主持研发的飞天操作系统,获得中国电子协会十六年来首个“科技进步”特等奖。他不仅引领了中国技术史上第一次从0到1的完整跳跃,也掀起了整个中国云计算的浪潮,为商业、为社会、为人,带来了新的变化。而此时,功成名就的王坚却想要保持自己一贯的低调,他只轻描淡写地,把自己几年来的种种经历总结为一句话:“要坚持你所相信的东西,也要相信你所坚持的东西。”

现在的王坚,早已退居二线,成了阿里巴巴技术委员会主席,主要忙活“城市大脑”项目,他想把城市也搬到云上。王坚理解的数字化,不是拿钱让你把以前的事情做得更好,而是要改变过去的治理方法。“如果你不能真正改变原来大家都习以为常的事情的话,那就是拿新的技术,把原来的东西再固化一点而已,而不是拿技术真的改变原来的做法。”

十年一觉“飞天”梦,毁谤也好,赞誉也罢,对王坚来说,皆为过眼烟云。他撰有《在线》一书,结尾写道:“什么是对技术的热爱?你真的相信技术会改变很多东西吗?你有没有足够的自信和热爱去捂暖这条蛇,哪怕它苏醒以后可能会咬你一口?当你热爱一个东西的时候,你很难预料最终的结果。”但是,正如珠峰不是用来证明人类攀登能力的,人类征服的不是高山,而是我们自己,王坚最喜欢《进入空气稀薄地带》中的一句话:“ 如果困难出现,就要战斗到底。”有时候,干成一件事的道理,就是这么简单。这就是简单的力量。

4) 总结提升。

云计算技术对于告诉互联网化发展的中国有着极其重大的意义,而在云计算发展过程中,阿里云作为国内领军云计算平台,发挥支柱性的作用,而这显然离不开阿里云创始人王坚数年如一日的坚持与努力。诚然,阿里巴巴为阿里云投入了大量的资金与支持,但倘若没有王坚的坚持,阿里云也不可能有如今的成就。

在阿里云的发展过程中,王坚始终秉持着坚定的信念,面对他人的质疑与抨击,他始终咬牙坚持,与困难战斗到底。正是因为王坚的不放弃,才使得他与阿里云能最终达到今天的地步,这既是个人能力的体现,也是付出与担当的体现。学习生涯中,大家都会遇到数不清的困难与挫折,而国家技术的发展进程中则更是如此,此时就需要更多像王坚一样的人,敢于挑战,勇攀珠峰,凭着坚定的信念与不屈的意志向困难发起一次次挑战,最终才能达到成功的彼岸。

案例名:软件编码--知行合一,协同共进

1. 教学内容

以国产代码托管平台Gitee为例,介绍以小组为单位进行软件开发的过程中所需的协同编码操作,包括基本操作commit、push、pull和merge,并穿插进行知行合一、团队协作、凝聚力等思政教育。

2. 知识点

软件编码过程中的协同编码和代码托管技术。

3. 教学方法

引导式教学,实践教学。 带领学生边做边学,学习Git与Gitee的基本操作并进行小组项目仓库的初步搭建,并在学生经过实践体验后强调团队协作的重要性,增强学生的小组凝聚力,培养合作意识。

4. 教学过程

1) 提出问题:在进行多人合作开发同一款软件的时候,如何同步大家的工作进展,整合工作成果?

2) 引出版本控制工具Git与国产代码托管平台Gitee,并带领学生进行工具的安装以及平台的注册。

3) 带领学生进行小组项目代码仓库的建立。

4) 演示使用Git进行代码版本管理以及使用Gitee进行本地与云端代码版本的同步,包括commit、push和pull操作。

5) 演示使用Git和Gitee进行代码分支的建立以及不同分支之间的merge操作,实现代码的协同开发。

6) 请同学们进行实践,自行完成对上述基本操作的尝试,体验小组协同编码的流程。

7) 总结提升。

代码版本控制工具与软件托管平台为小组进行代码管理与协同开发提供了十分方便的途径,但是,这些工具并不能代替团队成员之间的沟通与合作,如果不能正确地进行分工协作,在使用上述工具时仍然会出现各种问题,危及软件的正常开发与按时交付,产生严重的后果。

经过自行实践尝试,同学们不难感受到正确进行团队协作的重要性,好的合作会大大提高工作效率,不好的合作则反而可能使得工作事倍功半。因此,在软件开发过程中,十分有必要建立一个良好的团队合作机制,明确分工,互帮互助,强化合作意识,如此才可能达到“1+1>2”的效果,最终拿出令人满意的团队成果。国家与社会的建设也是如此,需要每个人都积极参与,群策群力,发挥主人翁精神,实现个人与社会价值,这样,我们的国家和社会才能稳中向好,不断进步。

案例名:一丝不苟,精益求精—软件测试的工匠精神

1. 教学内容

介绍软件测试,带领学生进行测试用例的设计,体会软件测试所需要的技术、方法、策略,并开展思政教育,结合职业道德、大国工匠精神等强调认真、细致、负责的工作态度的重要性。

2. 知识点

软件测试理论与方法、策略。

3. 教学方法

案例教学,引导式教学。 结合具体题目案例开展教学,在完成对软件测试基本概念以及方法策略的讲解后,构造具体的软件测试题目,由学生自行进行测试用例的设计与评价。同时结合具体案例强调软件测试的重要性,培养学生认真严谨的工作态度,进行有关职业道德、大国工匠精神的思政教育。

4. 教学过程

1) 介绍一些由软件缺陷(BUG)导致的严重损失事件,从而引出软件测试并强调其重要性。

软件是人来完成的,因此可能存在各种问题,一些严重的问题可能会造成巨大的财产损失甚至人员伤亡,不容小觑。

1996年6月4日,阿丽亚娜5型运载火箭的首航,原计划将运送4颗太阳风观察卫星到预定轨道,但因软件引发的问题导致火箭在发射39秒后偏轨,从而激活了火箭的自我摧毁装置。阿丽亚娜5型火箭和其他卫星在瞬间灰飞烟灭。后来查明的事故原因是:代码重用。阿5型的发射系统代码直接重用了阿4型的相应代码,而阿4型的飞行条件和阿5型的飞行条件截然不同。此次事故损失3.7亿美元。

 辐射剂量超标的事故发生在2000年的巴拿马城(巴拿马首都)。从美国Multidata公司引入的治疗规划软件,其(辐射剂量的)预设值有误。有些患者接受了超标剂量的治疗,至少有5人死亡。后续几年中,又有21人死亡,但很难确定这21人中到底有多少人是死于本身的癌症,还是辐射治疗剂量超标引发的不良后果。

1991 年 2 月 25 日,海湾战争期间,沙特阿拉伯的爱国者导弹发射台未能追踪和拦截一枚来袭的伊拉克飞毛腿导弹。飞毛腿导弹击中了美国陆军的一个军营,造成 28 名士兵死亡,约 100 人受伤。这一问题是由于计算机算数错误,导致启动后时间计算不准确。准确地说,用系统内部时钟测量的十分之一秒的时间乘以 1/10,以秒为单位返回时间,结果,它算出的时间是错误的,导弹因此也就无法拦截伊拉克飞毛腿导弹的攻击。同样又是系统的四舍五入错误。

2011年7月23日20时30分05秒,甬温线浙江省温州市境内,由北京南站开往福州站的D301次列车与杭州站开往福州南站的D3115次列车发生动车组列车追尾事故,造成40人死亡、172人受伤,中断行车32小时35分,直接经济损失19371.65万元。上海铁路局局长安路生28日说,根据初步掌握的情况分析,“7·23”动车事故是由于温州南站信号设备在设计上存在严重缺陷,遭雷击发生故障后,导致本应显示为红灯的区间信号机错误显示为绿灯。

以上种种案例显示,一些软件错误的代价可能是十分昂贵的,也因此,需要通过软件测试来尽可能地对潜在错误进行排除,确保系统的安全与稳定。

2) 介绍软件测试的基本概念、常用术语、测试原则、主要方法等内容。

3) 讲解常用的软件测试技术,包括白盒测试、黑盒测试等,并设置具体情境,由学生自行设计软件测试用例,掌握基本的软件测试技术方法。

4) 介绍包括单元测试、集成测试、系统测试等的软件测试策略。

5) 要求同学们自行实践,针对小组软件开发项目的任一功能模块开展软件测试,设计测试用例并撰写测试报告。

6) 总结提升。

软件测试是软件生命周期中一项非常重要且复杂的工作,对软件可靠性保证具有极其重要的意义,作为软件测试工程师,不仅需要对软件测试技术有着非常熟练的掌握,同时也需要秉持认真严谨的工作态度,遵守职业道德规范,尽职尽责地完成测试工作。这同样是大国工匠精神的一种体现,无论是进行软件测试,亦或是进行其他任何工作,都需要始终保持一丝不苟、精益求精的工作态度,绝不能得过且过,否则后患无穷。

目前,我国正走上高速发展的快车道,互联网产业蓬勃发展,而这一切,无不是一个个秉持着职业道德与大国工匠精神的劳动人民坚持创造出来的,作为新时代的大学生,应当将这些宝贵的劳动精神继承下去,不断创造个人价值,为国家与社会作出更多贡献。