软件定义世界,工程引领未来——中山大学软件工程学院 软件工程导论大作业

news2024/9/28 11:12:36

目录

软件工程,理解加深

个人困惑

软件与软件工程的定义

学习思路的启发

软件危机的认识及思考

软件测试的初步认识

科技前沿,守正创新

代码有智能,教育有情怀

深入浅出,引人入胜

再接再厉,未来可期

“软件定义世界”是软工人的响亮口号,“工程引领未来”是我在上完导论课后的总结与思考。

软件工程导论课作为软件工程学院开设的特色课程以及专业必修课,不仅加深了我们对软件工程本身的理解,还使我们对软件工程的前沿研究与应用有了初步认识,并对群英荟萃的老师们有了更多的了解。

软件工程,理解加深

软件工程的目标是控制复杂度,而不是增加复杂性。——Dr.PamelaZave

个人困惑

在上导论课之前,有两个问题一直困扰着我,软件工程等于写代码吗?我到底要着重培养自己哪方面的能力?带着这两个问题,我认真学习了陈建国老师讲的第一课。陈老师的讲课风格幽默风趣,化繁为简,这使我更加热爱软件工程学院,以及学院中可爱且可敬的老师。

软件与软件工程的定义

软件是开发和运行产品的载体。引用陈老师的一句豪言“只有想不到,没有做不到;无处不在,无所不能,这就是软件”。而软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这才是软件工程。

学习思路的启发

信息是21世纪最重要的产品,软件充分体现了这一点。软件不仅提供了通往全球信息网络的途径,而且也提供了获取信息的多种手段。我在学习软件工程的过程中应注重计算思维能力、算法设计与分析能力、程序设计和实现能力、系统能力的培养,尤其要注重包含对系统的全局掌控能力和系统地考虑问题的求解能力的系统能力。

在未来的工作以及现在小组合作的作业中,规范的编程习惯会有助于项目开发。如KentBeck所说“我不是一个伟大的程序员,我只是一个具有良好习惯的优秀程序员。”所以我也要在变量命名与函数封装上力争规范,写出一个简洁明了的好程序。

软件危机的认识及思考

生于忧患,死于安乐。软件行业欣欣向荣不假,但也要认清危机四伏。比如在软件从设计到交付的环节中“信息的传递会产生误差”,其中“秋千的需求陷阱”就是一个典型的例子。Eiffel编程语言的创造者,提出契约式设计观念的编程大师BertrandMeyer说过“在没有合同的情况下编写类类似于在没有规范的情况下⽣产⼯程组件,没有专业工程师会考虑这个想法”。一份文档作为行动纲领的重要性不言而喻。所以我在日后的学习过程中,不但要努力提高自己的编程水平,也要不断加强自己撰写文档,带领团队的能力。

软件测试的初步认识

根据GlenMyers的观点,软件测试就是要设计合适的测试用例,用尽可能少的测试用例,来发现尽可能多的软件错误。在毛老师的课上学习到要通过测试发现程序中的所有错误,就要穷举所有可能的输入数据,这是不可能的。正如软件测试资深工程师CemKaner所说“我的心得是,企图找出所有的BUG是不现实的。”程序测试是证明程序正确地执行了预期的功能。在传统检验输入输出的认识上,还学习到一个程序不仅要完成它所需完成的功能,而且不应完成它不该做的事,比如不能把边长为0、0、0的三条边判断为等边三角形,因为它根本就不是三角形。

我还学到了白盒测试与黑盒测试的具体知识与测试方法,白盒测试又称结构测试检查的是这个软件的内部逻辑,而黑盒测试又称行为测试检查的是这个软件的输出结果是否与预期相同。这有点像物理学中测试电路,白盒测试就像是电路已知,可以用工具测量内部属性,也可以对内部结构进行化简;而黑盒测试就像是电路只留下了接口,只能用不同的电压输入来测试输出的结果。由此又衍生出了逻辑覆盖测试、基本路径覆盖测试和循环测试三种白盒测试方法与等价类划分、边界值分析、比较测试、错误猜测和因果图五中黑盒测试方法。

科技前沿,守正创新

软件工程导论课不仅打牢了理论基础,还立足当下,把当下热门且实用的技术介绍给我们,既让我们开拓眼界、增长见识,也加深了师生友谊,激发了同学们的科研兴趣。

代码有智能,教育有情怀

王焱林老师围绕代码智能,讲解了包括代码补全、代码注释自动生成等先进技术,让大家看到了解决“重复造轮子”和“看不懂别人代码”两大难题的希望。并且王老师还向我们介绍了她的教育情怀,同学们无不动容。

我有幸在课后获得了与王焱林老师深入交流的机会,她对我提出的问题知无不言言无不尽,在我未来的学业规划以及成长道路都提出了她的宝贵建议。她的教育热情令我感动,也让我再次庆幸能在软件工程学院学习!

深入浅出,引人入胜

陆智超老师把计算机视觉识别、深度学习和自动化深度学习有机结合,用直观的图来向同学们阐述晦涩的底层原理,让我们一群“小白”在上完后不仅在知识上收获颇丰,而且激发了我们的学习热情。

苏玉鑫老师则是把云计算这一个“悬在空中”的课题抽丝剥茧,把其实际应用讲实讲透。“云计算的精髓在于资源共享,时分复用”,云计算其本质就是计算资源的共享。苏老师重点把微服务架构与企业开发紧密相连,让同学们提前了解行业一线的先进开发方法,为以后投身软件行业打下坚实基础。苏老师在讲解OJ软件的微服务应用时还特地以我们现在正在使用的SSEOJ为样板,活灵活现地展示了一个OJ系统的前后端,把之前“神秘”的OJ系统原理直观明了地展现给了我们。

当然,其他老师上的导论课也同样精彩纷呈。比如南雨宏老师的软件攻防大战、陈嘉弛老师的区块链发展趋势与挑战、吴炜滨老师的对抗机器学习与可解释AI软件等等。在此我想向各位老师再次表达我衷心的感谢!

再接再厉,未来可期

在陈建国老师的课上我认识到软件产业是创新的与充满活力的朝阳产业,需要大量的,不同层次的软件人才。学院官网介绍软件工程专业为独立一级学科,是国家一流本科专业建设点。教育部甚至连续三年将软件工程评为“绿牌”专业。 通过自己的努力,在一个朝气蓬勃的学院中学习冉冉升起的软件工程专业,是我心之所向,素履以往。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1026035.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI数字人虚拟主播,跟传统主播相比有哪些优势,究竟谁更胜一筹?

在今年,AI人工智能技术得到了快速发展,AI数字人开始大面积进入我们的生活,我们经常可以在各大直播间刷到AI数字人虚拟主播。 这些主播光从表面上来看,完全跟真人一模一样,一样的容貌、一样的身形、一样的声音&#xf…

2023年8月体育用品行业数据分析(京东数据产品)

当前,亚运会临近,这也带动了国民对体育消费的热情,体育产品内销逐渐旺盛,“亚运经济”红利开始显现。鲸参谋数据显示,今年8月份,京东平台上体育用品行业的销量为185万,同比增长2%;销…

vue 组件公共的方法

我这是取后端数据发现后端给的数据啥样的都有 有带标签的 有带图片的 还有换行的把这些筛选掉 比如去掉标签 去掉空格 1.首先创建一个公共页面 /* 处理数据html标签显示界面 */export function removeHTMLTag(htmlStr) { let html htmlStr .replace(/<img.*?>/g…

硬件系统工程师宝典(41)-----蛇形走线有什么用?

各位同学大家好&#xff0c;欢迎继续做客电子工程学习圈&#xff0c;今天我们继续来讲这本书&#xff0c;硬件系统工程师宝典。 上篇我们说到了Datasheet里的内容不用全文通读&#xff0c;应该有选择的查看&#xff0c;如引脚功能、电气参数、典型电路及封装大小。今天我们来讲…

【Vue】修饰符、表单提交方式、自定义组件的关键步骤

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《Vue快速入门》。&#x1f3af;&#x1f3af; &…

Vue3项目中使用插槽

前言&#xff1a; 此文章仅记录插槽的使用&#xff0c;用于自己后期学习查看。 代码实现过程中&#xff0c;HelloWorld为子组件&#xff0c;HomeView为父组件 <slot></slot>元素&#xff1a; 是一个插槽出口&#xff0c;是写在子组件中的&#xff0c;表示了父组件…

81《乡村振兴战略下传统村落文化旅游设计》许少辉瑞博士生辉少许——2023学生开学季许多少年辉光三农

81《乡村振兴战略下传统村落文化旅游设计》许少辉瑞博士生辉少许——2023学生开学季许多少年辉光三农

【卖出备兑看涨期权策略(Covered_call)】

卖出备兑看涨期权策略&#xff08;Covered_call&#xff09; 卖出备兑看涨期权策略是一种最基本的收入策略&#xff0c;该策略主要操作就是在持有标的资产的同时卖出对应的看涨期权合约&#xff0c;以此来作为从持有的标的资产中获取租金的一种方法。如果标的资产的价格上涨到…

基于STC15单片机电子时钟液晶1602串口显示-proteus仿真-源程序

一、系统方案 1、本设计采用STC15单片机作为主控器。 2、液晶1602显示电子时钟。 3、串口显示电子时钟。 4、按键控制开启暂停清零。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 uint count0; uint8 strPhoto[8]; uint wendu0;P3M0 0x…

LeetCode 332. Reconstruct Itinerary【欧拉回路,通路,DFS】困难

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

怎样获取某个文件的public方法个数

背景&#xff1a;idea 提供的list可以查看所有的构造方法&#xff0c;但是无法直接告诉我准确的数目&#xff0c;于是写了以下一个单独的类 import java.lang.reflect.Method; import java.lang.reflect.Modifier;public class MyPublicMethodCounter {public static void mai…

Cento7 Docker安装Zabbix,定制自定义模板

1.先安装docker环境 yum -y install yum-utils device-mapper-persistent-data lvm2#导入docker安装库 yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo #按指定版本安装好docker yum install docker-ce-20.10.5 docker-ce-cli-20…

vector类(顺序表)

文章目录 1.定义&#xff1a;接口成员函数构造成员函数析构函数赋值 2.迭代器2.1begin&#xff08;&#xff09;和end&#xff08;&#xff09;重点2.1.1应用2.1.1.1函数调用 2.1.1.2用变量接受迭代器 2.2rbegin()和rend()2.2.1应用 3.顺序表的访问&#xff08;增删查检&#x…

Vue的路由使用,Node.js下载安装及环境配置教程 (超级详细)

前言&#xff1a; 今天我们来讲解关于Vue的路由使用&#xff0c;Node.js下载安装及环境配置教程 一&#xff0c;Vue的路由使用 首先我们Vue的路由使用&#xff0c;必须要导入官方的依赖的。 BootCDN - Bootstrap 中文网开源项目免费 CDN 加速服务https://www.bootcdn.cn/ <…

架构核心技术之分布式消息队列

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 今天我们来学习分布式消息队列&#xff0c;分布式消息队列的知识结构如下图。 主要介绍以下内容&#xff1a; 同步架构和异步架构的区别。异步架构的主要组成部分&#xff1a;消息生产者、消息消费者、分布式消息队列…

Vue路由及Node.js环境搭建

一、Vue路由 1.1 定义 Vue路由是指使用Vue Router插件来管理前端应用程序的导航和页面路由的过程。它允许你在单页面应用程序&#xff08;SPA&#xff09;中定义不同的路由路径&#xff0c;并将每个路径映射到相应的组件。 通过使用Vue路由&#xff0c;你可以根据URL的变化加载…

无涯教程-JavaScript - ASIN函数

描述 ASIN函数返回给定数字的反正弦或反正弦,并返回以弧度表示的Angular,介于-π/2和π/2之间。 语法 ASIN (number)争论 Argument描述Required/OptionalNumberThe sine of the angle you want and must be from -1 to 1.Required Notes 如果您希望ASIN函数返回的Angular以…

HUAWEI华为荣耀猎人游戏本V700 i7独显2060(FRD-WFD9)原装出厂Windows10系统工厂模式(含F10还原)

华为HONOR荣耀笔记本原厂系统镜像包&#xff0c;安装恢复时自动创建F10一键智能还原功能 链接&#xff1a;https://pan.baidu.com/s/1_px_3Fr9qEE6jExz1eKKKg?pwdk6uc 提取码&#xff1a;k6uc 系统自带所有驱动、出厂主题壁纸LOGO、Office办公软件、华为电脑管家等预装程序…

基于springboot高校场馆预订系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

(并查集) 1971. 寻找图中是否存在路径 ——【Leetcode每日一题】

❓ 1971. 寻找图中是否存在路径 难度&#xff1a;简单 有一个具有 n 个顶点的 双向 图&#xff0c;其中每个顶点标记从 0 到 n - 1&#xff08;包含 0 和 n - 1&#xff09;。图中的边用一个二维整数数组 edges 表示&#xff0c;其中 edges[i] [ui, vi] 表示顶点 ui 和顶点 …