浅谈软件工程学习心得

学习软件工程的收获和体会 现在知道了二者的不同之处,这是学习这门课程第一个收获。其次就是软件工程是一门实践性很强、交叉性很强的学科,它提供给我们的不仅是一种方法论,更是一种思想。是一个如何去分析和处理问题的过程,应该说其范畴已经远远不止局限于该门课程,成为了一个综合的一个能够解决问题的思想集合。 立即下载

【张城硕(sa15226451) + 《软件工程(C编码实践篇)》MOOC课程作业http://mooc.study.163.com/course/USTC-1000002006 】

学习软件工程两个月来,我在孟宁老师的教导下确实获益匪浅。我从一开始对不知如何使用vim和git的无知,逐渐演变到软件设计模块化的熟练。下面, 我将谈谈这两个月学习软件工程线上课程的具体体会。

关于软件工程

首先,我先谈谈我对软件工程的理解。软件工程在我的脑海里就是如何利用工程化管理的技术来做软件。为什么会诞生软件工程呢?孟老师不止一次的提到,随着代码量的增大,人对代码的掌控能力越来越弱,代码的逻辑、进度和成本越来越不好控制,产生了软件危机!为了解决软件危机,软件工程应运而生。我比较喜欢线上编程,基本上每次线上课程我都投入了大量的时间和精力。

关于代码

在代码上,我在软件工程中学习到的是。
在细节上:
* 第一、需要遵守代码规范,好处是便于修改和维护。让别人看的清楚你的代码;
* 第二、数据和业务逻辑的分离。我们需要将代码进行模块化,从而更好地维护和复用代码;
* 第三、懂得合理地设计接口,既不能面面俱到,也不能太过笼统,够用就好。比如说:链表的接口设计和菜单的接口设计就有所不同。链表需要增删查改的接口,而菜单的接口就无需如此太过细节化;
* 第三、掌握代码的运用技巧,比如说回调函数的使用;
* 第四、非功能性需求,比如说安全性。这里尤其需要谈到的是线程安全,如何利用加锁的机制构建出写出安全的代码;
* 第五、设计思想,这里需要应用一些前人总结的设计模式,比如说工场模式、观察者模式、适配器模式等。应用这些模式能大大增加代码的延展性,更好地包容变化,更好地复用代码。当然,为了拓展视野,孟老师也提到函数式、形式化方法的编程;

关于我

总之,学习软件工程我最大的收获,就是理解了软件工程,初步设计软件,明白软件开发的流程。特别是,由于孟老师有着丰富的软件开发经验,所以比只讲软件工程理论要来的有趣、更好理解得多!最大的遗憾是,我希望线上课程能让我和同学共同协作,通过规定接口来完成一个软件项目,因为我感觉软件工程离不开沟通协作。
最后,深深感谢孟宁老师给我带来了如此生动、有趣而又丰富的软件工程课程。

实验报告

下面附上我的实验报告链接(全5分,也是对我尽力编程的认可吧):
实验一:写一个hello world小程序
https://www.shiyanlou.com/courses/reports/645718
实验二:命令行菜单小程序V1.0
https://www.shiyanlou.com/courses/reports/659872
实验三:内部模块化的命令行菜单小程序V2.0
https://www.shiyanlou.com/courses/reports/683728
实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
https://www.shiyanlou.com/courses/reports/701555
实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
https://www.shiyanlou.com/courses/reports/715800
实验六:可重入函数的相关测试,一次小测验。
实验七:将menu设计为可重用的子系统
https://www.shiyanlou.com/courses/reports/750491

软件工程学习心得体会 软件工程学习心得,软件工程学习心得,软件工程学习心得 立即下载

相关推荐

深入解析SVPWM七段式与五段式调制的电压波形差异及优化策略

本文深入解析了SVPWM七段式与五段式调制在相电压和线电压波形上的核心差异。七段式波形对称、谐波含量低,适合追求静音与性能的场景;五段式开关次数少、损耗低,适用于对效率与散热要求高的应用。文章提供了基于谐波与损耗权衡的优化策略与选型指南。

weixin_29216957的博客 438

《软件工程》学习收获

曾经以为写程序是一个很简单而随意的事情。学习这门课程第收获是,知道了软件工程其实涉及很多高深的理论,一个经过优秀设计的软件比没有经过设计的而言要高效、优雅、严谨得多。所以,作为一个优秀程序员必须要学习软件工程。程序的不断复杂化导致了软件危机的发生,使得人们不得不探索新的解决方法。经过老师的讲解,理解了软件工程,就是一套用于软件的团队开发,以提高软件质量和程序员工作效率为目的的规范。上了这门课,我的收获总结如下:工欲善其事,必先利其器 磨刀不误砍柴工,想要做一个合格的程序员,必须先把开发工具先学会,以

Xzzz123456的博客 1689

深信服桌面云实战:从零部署到高效运维的关键配置指南

本文提供了一份深信服桌面云从零部署到高效运维的实战指南。内容涵盖项目启动阶段的资源、网络与存储规划,详细演示了VMP与VDC平台的安装与对接,并深入讲解了制作虚拟机模板、配置用户体系、优化终端策略等核心步骤。最后,分享了包括CPU公平分配、智能调度在内的关键性能调优与高阶运维技巧,旨在帮助管理员构建稳定、高效的云桌面环境。

blockchain9miner的博客 451

高级软件工程课程总结及收获感想

总结在课程中的学习收获和感想,总结课程学习的内容,聚焦到某一关键问题上谈谈对软件工程的理解。

@TZZT@的博客 780

别再折腾端口了!Kali Nethunter Kex 图形化桌面连接失败的真正原因与一键修复(附Termux命令)

本文深入分析了Kali Nethunter Kex图形化桌面连接失败的真正原因,包括端口配置变更、依赖缺失和权限问题,并提供了一键修复方案和Termux命令。通过详细的诊断步骤和优化配置,帮助用户快速恢复Kex功能,提升移动安全测试效率。

weixin_42530732的博客 417

从零到一:TI AWR1843 Boost EVM与DCA1000 EVM的ADC数据采集实战指南

本文详细介绍了TI AWR1843 Boost EVM与DCA1000 EVM的ADC数据采集实战指南,涵盖硬件连接、软件配置、固件烧录、雷达参数设置及数据处理等关键步骤。通过MATLAB等工具,开发者可高效实现毫米波雷达数据采集,适用于自动驾驶、工业检测等领域。

weixin_29001327的博客 966

软件工程课程有感

通过软件工程课程的学习和实践项目的实践,我深入了解了软件工程的基本概念、原则和方法,掌握了软件开发的全过程,提高了解决问题的能力、创新思维和团队合作能力。通过问题解决和创新的过程,我深刻体会到了解决问题的乐趣和创新的价值,同时也提高了我的问题解决能力和创新思维。在这个过程中,我学习了如何进行有效的版本控制和文档编写,如何进行代码审查和质量控制,以及如何与用户进行有效的沟通和协商。在这个过程中,我学会了如何识别和定义软件系统的需求,如何编写清晰的需求文档,以及如何与用户进行有效的沟通和协商。

m0_68220001的博客 358

Android功耗系列专题理论之一:功耗优化分析思路简介

本文系统介绍了电子系统功耗分析方法,涵盖静态与动态功耗原理、电流波形分析技术和模块化拆解策略。重点阐述了PMIC与CPU协同管理机制、DVFS动态调节技术,以及通过示波器捕获波形特征定位异常的方法。针对亮屏等典型场景,提出三阶段对比分析法,并详细说明硬件/软件拆解方案及混合验证策略。文章还总结了常见问题模块(CPU、多媒体、外设)的排查流程,强调需结合日志分析、温度控制及重复测试确保数据可靠性,为功耗优化提供系统化解决方案。

1459

《软件工程》课程学习收获与感受

这学期的《软件工程》课程,由微软亚洲研究院的邹欣老师为我们以一种新的模式去讲授。新的教学模式中有很多都是从未见体验过的,很有新鲜感。 在团队作业的过程中,有两次各为期10天的daily scrum,这样的目的,就在于让我们不断反思自己做了什么,还需要做什么。还有博客互动和每周的上课交流,密集的学生与老师之间的互动逐步变成一个非常系统的反思性实践者。而且,隔段时间,还要向其他同学做...

weixin_34354945的博客 1119

化工设计软件:AutoCAD Plant 3D二次开发_(1).AutoCADPlant3D概述

AutoCAD Plant 3D 是一款专为化工行业设计的三维工厂设计和建模软件。它基于AutoCAD平台,提供了强大的三维建模功能和专业的化工设计工具,帮助工程师和设计师在工厂设计过程中提高效率和准确性。AutoCAD Plant 3D不仅能够创建详细的三维模型,还可以进行管道设计、设备布置、支架设计等复杂任务。通过上述案例,我们可以看出 AutoCAD Plant 3D 在化工厂设计中的强大功能和优势。该软件不仅提供了丰富的建模工具和专业的设计功能,还支持二次开发,使用户能够根据具体需求进行定制化操作。

kkchenjj的博客 1100

海康visionmaster-渲染结果:通过绑定流程或模块获取 渲染结果的方法

海康visionmaster-渲染结果:通过绑定流程或模块获取 渲染结果的方法

视觉人机器视觉的博客 2636

浅谈数据库学习心得

数据库学习心得   对于我们来说数据库是一个新的概念, 当然前提是在我们学习它之前, 因此, 一开始对这门课的第一印象就是很抽象, 感觉学起来应该会很难很累。 在学习这 门课的过程中,在对数据库的了解过程中,慢慢对数据库有了感观。   数据库这 一词并不是很难想象,并不是像外人看来很神奇。   作为计算机专业的学生, 这样的专业术语或者专业知识是最基本的。 学习的

4502

《C++等级认证CCF-GESP真题解析》专栏总目录

❤️ 专栏名称:《C++等级认证CCF-GESP真题解析》🌸 专栏介绍:中国计算机学会GESP《CCF编程能力等级认证》C++编程(1~8级)历届真题解析。🚀 订阅专栏:订阅后可阅读专栏内所有真题解析,真题持续更新中,欢迎订阅!

人生就是一个不断学习的过程 6287

#MySQL# 浅谈数据库操作

在学校的安排下来东软进行实训,虽然说寝室条件并不是很好但是对比学校的宿舍还是好不少hhh :!: 虽然说这里的老师讲的比较慢,但是每一点都是很实用的点,今天就将这两天学到的内容做一个简单的总结吧。 在学习Spring框架之前,老师先带着我们学习了对于数据库的基础操作,让我也对数据库有了初步的认识,最初对数据库的认识就是一个简单的文件,然后通过软件来读写数据库,然后就是一些查表等等操作,但是后来实...

小明难亡 227

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

我的软工之路——2011到2012全年总结

好吧,我承认:我已经大四了。走在校园里头,早已看不见那些帅气的师哥、漂亮的师姐了。于我的学生路来说,已经快走到尽头了;然而于我的学习之路,路途依然遥远而艰辛。 走过的一年,是知识、思想大丰收的一年。这一年,让我更加坚定了学下去信念。下面具体分为理想信念进一步坚定、学习进度大概过程、“不将究”的IT意识(思想的进步)和总结四部分对全年所学做一个小小的总结。 ...

214

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

浅谈中国计算机行业

前言  首先我们来看下2015年中国软件企业的排名情况:  根据国家统计局批准、工业和信息化部统计的2014年全国软件和信息技术服务业年报数据为基础,最终核定发布,2015年中国软件业务收入前百家企业排名。华为技术有限公司以软件业务年收入1482亿元,连续十四年蝉联软件百家企业之首,海尔集团公司、中兴通讯股份有限公司分别列第二和第三名。其中,可以看到华为与中兴都是手机公司,排在第二的海尔则

开了路虎的驸马 1602

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

浅谈自我认识

大家好,我叫qxx,是一名电子信息工程专业的大二学生。因为腾讯在社交、游戏和云计算等领域都有深厚的积累,技术栈丰富,而且非常重视创新和人才培养。我希望未来能参与腾讯的AI或大数据项目,用技术解决实际问题,服务亿万用户。长期目标:深入理解算法与数据结构,提升系统设计和架构能力,最终成为一名嵌入式软件开发工程师或AI工程师,参与有影响力的开源项目或创新产品研发。短期目标:掌握至少一门主流编程语言(如Python或Java)的核心语法和常用库,能够独立完成小型项目(如简单的Web应用或数据分析工具)。

2402_88716079的博客 262

android基础学习(一)--浅谈Fragment间跳转

本人刚接触android不久,将自己的学习心得和大家分享,如有错误请大家指出。 一、Fragment实现跳转之后,上一个Fragment的内容仍然出现     主布局文件:    FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="match_p

Titan_bai的博客 362

UML总结之关系

最近一直在UML这块停留,一边总结一边画UML图。 下面浅谈一下我对关系这块的理解: 待续

haoguiting 617

ssm大数据技术学习网0y331--(程序+源码+数据库+调试部署+开发环境)

随着信息技术的快速发展,大数据技术已经成为各行各业不可或缺的重要工具。然而,大数据技术的复杂性和专业性使得许多人在学习和应用过程中面临困难。因此,设计一个专门的大数据技术学习网站,为广大学习者提供系统化、全面、易于理解的学习资源,具有重要的现实意义。

Kittyxia001的博客 980

2018 | 七月日记

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33724046的博客 93

初学计算机是什么体验?

本文主要讲述了作者作为一名小白为何选择计算机,以及初学计算机的体验总结。

KNK_0100的博客 420

初学C语言感受

记得,我以前非常不喜欢计算机,以前上信息技术课的时候,觉得要是每天都对着这些无聊的代码,我一定会变成“丧尸”的(就是变呆,没有精神),不过啊,在课上能够解出一些小任务,也是很开心的,具体任务是什么,我已经忘了哈哈哈,只记得当时开心的感觉了。而具体怎么实现近期目标,我的计划就是每天打代码至少两个小时(在寒假期间),代码来源一是作业,二是老师讲解时写的代码,三是书本上的例题,最后则是网上总结的题了(上学期间的到时要重新定目标,目前先定一个小时吧,不然如果连续几天无法完成任务,势必打击自己的耐心,到时一摆再摆)

wixd_c1117的博客 425

SSM蟾宫折桂计算机考研专业课学习l6616(程序+源码+数据库+调试部署+开发环境)

随着科技的飞速发展,计算机科学已成为推动社会进步的关键学科。计算机考研专业课的难度与复杂性日益提升,考生面临知识体系庞大、学习资源零散、缺乏有效整合平台等问题。为解决这些困境,本研究拟开发一个计算机考研专业课学习系统,旨在通过系统化、科学化的方法,帮助考生高效备考。

CK3034的博客 895
下一篇: 我的秒杀总结
chengshuo678
博客等级 码龄14年 5粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值