保利彩票app-保利彩票平台「官网」
做最好的网站

《软件工程》课程总结

图片 1

一、请参考第一次作业,当初你对课程的承诺和期望都兑现了吗?

  第一次作业对这门课的期望:
图片 2
  在这长达9周的时间里,我在这门课上花费了相当多的时间,有付出自然有收获,也真正学到了一些关于软件开发基本知识。

      经过这一学期老师们的付出和各个小组同学们的努力,《软件工程》课程已经要画上一个完美的句号了。经过这个学期的洗礼,我们进一步深刻地重新认识了整个编程体系流程,不仅强化了编程基础,而且学到了分工、合作的团队任务体系。通过全新的团队合作模式,我们分别承担起不同的角色和分工,每个人都去力争把自己需要完成的部分尽力去做好,不去拖慢团队任务进度或是影响团队整体的流程体系。最终我们都体验到了共同完成团队项目之后成功的喜悦,这是我们一个全新的编程经历。

肯定是先学C51基础啊,哈工大的一本书不错的,新编MCS-51单片机应用设计。里面肯定是要教你汇编的。等到最后上工程的时候肯定是要用keil,C语言编程的,所有人走的都是这条路。劝你别一上手就学C编程,因为汇编语言会更让你了解单片机寄存器等是怎么工作的,理解更透彻。

去年,我有幸来到法国图卢兹进修。因为手续的问题,我错过了开学。去报到的那一天,学监就跟我说下周要考试。虽然来之前曾经想过学习会很艰难,但是没想到它来得这么快。加上进修的专业跟以前所学专业完全不同,我只能拼尽全力。

二、总结这门课程的实践给你带来的提升。

  • 学习和使用的新软件:Qt Creater、Git
  • 学习和使用的新工具:Github的团队协作、Leangoo敏捷开发、博客园写博客和班级博客
  • 学习和掌握的新语言、新平台:C++图形用户界面应用程序开发框架Qt
  • 统计一下,你在这门软件工程实践中,完成了多少行的代码:个人项目700+,结对编程300+,团队项目3200+
  • 学习和掌握的新方法:团队协作、软件的敏捷开发、合理安排时间,把任务化细。

 

作为一个初学者,如何单片机入门?

我的专业是嵌入式系统设计,要在两个校区上课。每周有三天在郊区,另外两天在市中心。无论哪个学校,教的都是偏技术的课程。一开始是老师在台上讲一整节课,学生们抄一整节课的笔记。除了遇到不懂的东西,学生会跟老师有偶尔的互动之外,基本上都是灌输式的授课。但是后来大部分课都安排实验,每一门课老师都会手把手教会大家与该课程相关的一个软件,并布置一些作业让学生在实验中去完成,同时要求在规定的时间内提交实验报告。作业量是比较大的,学生在正常的几节实验课上,是根本无法做完的。于是班里同学就在课余时间相约一起做作业。但是学校的课程安排得特别满,几乎是从早上八点到下午六点,中午仅留一个小时午餐时间。这样我们的课余时间就只有晚上和周末了。但是大家似乎都挺适应这种学习节奏的,每天都精力特充沛。为了保证下午的听课质量,我会在午餐时间内挤出20分钟时间趴在桌子上休息一会。

三、写下属于自己的人月神话——项目实践中的经验总结+实例/例证结合的分析

  在项目实践中,基本按照老师的要求完成了任务,但在编程过程还是遇到了很多问题,一方面是编程能力较弱,另一方面是新的知识领域遇到难以解决的BUG。在每个项目中使用C++语言,让我对C++语言有了进一步的认识,提高了我的编程能力。在结对编程和团队项目中,我也学会了合作,真正体会到1

  • 1 > 2的力量,大大减少了编程的任务,加快了项目的进程。尤其在团队项目中,体验到了开发一个小型软件的艰辛,体验了一把程序猿的真正生活,也为此熬了几次夜,积累了项目经验,大致懂得开发一款软件的大致流程,但总的来说,比较累,但真的很充实。

      对于开学当时我所提出的几个问题,现给出简要回答。

知识上,其实不需要多少东西,会简单的C语言,知道51单片机的基本结构就可以了。一般的大学毕业生都可以了,自学过这2门课程的高中生也够条件。设备上,一般是建议购买一个仿真器,例如,目前的“双功能下载线”就具有良好的稳定性和较快的下载速度,上位机可扩展,可以下载更多的单片机及嵌入式芯片。通过实验,这样才可以进行实际的,全面的学习。在错误的道路上日夜兼程,最终也无法成功。因此,方法和思路绝对是第一重要的。一些学技术的同学,往往看到这类章节会直接跳过去,因为大多数类似章节都是废话连篇。但是,今天在这里我可以很负责任的告诉你,本章节讲到的学习单片机的方法,都是我们学习单片机的无数经验和教训总结出来的瑰宝。因为我们披荆斩棘,开辟了道路,所以可以告诉你路在何方;也因为我们摸过烧红的铁块,烫了手,所以可以把教训告诉你。希望各位都能站在我们的肩膀上,成为巨人。

使用工具,提高效率

四、分析一下自己所处的团队。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?

  • 萌芽阶段:使用相同的C++语言组成了C-Team团队,一起讨论软件idea,根据自己的特长分配相应的任务。
  • 磨合阶段:项目开发过程中,我们的项目分成了3个部分,相互之间的交流,线上的交流和线下的交流,都各自表达自己的意见,意识到有个团队核心的重要性,才能达到彼此的一致性。
  • 规范阶段:我负责软件的前端设计,在Alpha版开始阶段较为轻松,但在后来调用服务器的数据的时候常常遇到问题,各种各样的调试和修改,在Beta版本对Alpha版本进行完善。
  • 创造阶段:我们团队还没达到创造阶段,以后有时间的话我们应该会进行到底。

1、软件开发生命周期(SDLC)在现实当中包括哪些部分?

学什么单片机

单片机的型号那么多,如何选取一款合适的进行学习?如果身边有比较便利的学习单片机的条件,有什么条件就学习什么型号。比如,你所在的公司刚好用到某个型号单片机,那么就方便多了。开发板不用购买,直接用公司现成的板子,指导老师到处是,公司的工程师,只要你耐心虚心的不耻上问,相信他们都会帮你解答问题。如果你跟着学习的导师,正在使用某个型号开发产品,那么同样的道理,你也会有得天独厚的优势,直接跟着学就行了。其实单片机型号虽然多,但是用法大同小异,学会一种,再上手其他的就很快了。

如果你这些条件都没有,那就跟着我学吧,我建议你学习51单片机。为什么呢?现在单片机种类和型号非常多,每个型号都有一定的市场份额,但是哪个型号也没有早期51单片机那般的风光和火爆,虽然现在地位不是那么高了,但是因为51单片机资料非常多,大家学起来有很多可以参考的东西,所以上手肯定比其他型号的要快一些。如果你学习稍微偏门的单片机,可能一个简单的软件问题就要折腾你好长时间,不仅仅浪费了你的学习时间,更重要的是打击你学习单片机的信心。

那是不是我们每个单片机都要学习一遍呢?答案当然是否定的。大家跟着我来学习51单片机,必须得跟着学会举一反三和融会贯通的能力。单片机型号那么多,挨个学下来估计头发白了也学不完,所以大家跟着我学51单片机,不能仅仅当做51来学习,更重要的是要当做单片机来学,要通过我们的这个教程,把所有的单片机的内部资源都搞清楚弄明白,每个内部模块的用法理解透彻,这样当你遇到一个从没有用过的单片机,也就知道如何下手去应用开发了。

学校的授课老师大多来自各个公司或研究所,因此非常注重实践,各种工具都用的得心应手。我至今已经学习了十几个不同领域的软件了。有些是以前听过但没有用过的,如Simulink、ADS、DSP等,而有些则是第一次听说,所以倍感新奇。比如系统工程课上,有关需求管理的Cameo软件和结构设计的AADL软件,以及最优化课程里的Oplide。这让之前只会C语言和Matlab的我一下子开拓了眼界,让我明白使用工具在提高效率方面是多么重要。其中我最喜欢的,就是做最优化的oplide软件了,这个IBM公司开发的软件,能够做各种各样的约束规划,包括常见的线性规划和整数规划。

五、在今后的教学中,老师们还将根据同学们的基础、期望达到的目标,在教学内容和作业量上做更多的调整,争取为大家提供一个更加个性化的学习过程。你对课程设计(授课内容、方式、作业内容)有什么建议吗?另外,作为学长的你,对后面的学弟学妹们有什么建议?

  首先,这种授课方式很新颖,作业以博客形式进行提交。布置的作业都是一些有趣的小项目程序,感觉很有实战价值。但对于课上的授课内容不是很满意,我觉得应该加一些实际的例子进行讲解讲解,而不是全是概念和理论。另外,我认为老师也可以将一个完整的软件开发过程例子,这样学生们也比较好去理解理解。
  对学弟学妹的建议:选择自己熟悉的编程语言,每一次作业认真对待,按时完成作业,认真对待博客下面的评论,认真回答,要学会团队合作,多和老师同学交流交流。要坚持下去,一份耕耘一份收获,回过头来你会发现你成长了很多。

问题定义及规划、需求分析、软件设计、程序编码、软件测试、运行维护

如何学习单片机

前边提到过,单片机是一门实用技术,我们学习它已经不是为了应付考试了,我给大家总结了单片机的学习方法是:一个要领,四个步骤。

学习单片机的要领就是:在实践中成长,InDoingWeLearn!

学射箭,你得去拉弓,整天只摆造型肯定不行;学游泳,你得下水扑腾,整天在岸上做模仿活动不行;学开车,你得坐车上去开,坐沙发上肯定学不会。同样的道理,学单片机,整天盯着单片机看肯定不行,你也必须得亲自动手去练。

没有不下水就学会游泳成为游泳健将的,没有不到车上练就能成为赛车手的,这点大家都清楚,可为什么总是那么多人学单片机的时候,总是要抱着一本书看呢。第一,我们小学中学甚至大学的学习模式都是如此,学什么东西主要都是靠看书;第二,很多人想实践不太清楚该怎么去实践。

不是不让大家看书,而是看了一点以后,要马上去实践验证,然后再回头结合实践的结果,理解书上的内容。从这个地方,大家要得出一个结论来,就是在学实际技术过程中,和应付考试不同,书上的内容不需要你去硬性记忆,书是用来查的,不是用来记忆的。遇到问题,你学会翻书,知道该去哪里找,找到相关知识点,分析明白,领悟透彻即可,包括咱这本书也是一样,大家先看完一节课,然后马上就把这节课相应的实验做了,做实验的过程中,哪里有不懂的问题,随时翻阅书籍查找,再实验,再查找,反反复复的过程就可以把本节课的内容掌握。

下面,就是我总结的跟着我学习单片机的四个步骤。

第一步,鹦鹉学舌。

刚出生的孩子叫“爸爸”“妈妈”的时候,他甚至不知道“爸爸”“妈妈”是什么意思,更不会理解这些声音是什么意思,但是我们带着孩子见到他爸爸就让他喊“爸爸”,见到妈妈就让他喊“妈妈”,见到爷爷就喊“爷爷”……慢慢的你会发现,次数多了,孩子就知道谁是爸爸,谁是妈妈,谁是爷爷,谁是奶奶了。

大家刚开始接触单片机的时候,也属于单片机行业的新生儿。单片机的样子,单片机外围的各种器件,单片机内部的各种结构,单片机用C语言的编程方法,初学者可能都没有见过。没关系,有些概念和方法你不理解也没有关系,甚至不需要你理解,你只需要跟着我去鹦鹉学舌式学习,第一遍学习某一节课的内容时,对于程序,大家就可以完全跟着抄下来,甚至抄两三遍,过一段你会发现,好多东西你也认识了,好多概念你慢慢的也理解清楚了,你也能大概看懂别人的小程序了,切忌觉得自己看会了,而简单复制粘贴。

第二步,照葫芦画瓢。

很多同学学习的时候喜欢看,看我做的视频,看我写的程序,甚至看别人的程序,都能看懂,觉得自己就会了,等到自己写程序的时候,感觉就是老鼠啃天,不知道从哪里下手了,这是初学者很容易犯的“眼高手低”这样一个毛病,所以第二步的内容就非常重要了。

我的要求是,每一位同学,在学完了当前课的内容,把第一步顺利完成以后,然后关掉视频教程,关掉源代码,自己通过看电路图和查找非源代码的其他任何资料,把当节课我写的程序代码重新默写出来,边写边多少理解那么一点点,不是纯粹的背诵,应该说是背诵加理解的结合体。甚至学过几节课以后,可以回头把前边曾经这样实现过的课程,再按照这种方法做一遍。千万不要认为这一步没必要,这一步是你能否学会单片机的一个关键步骤,在学完本教程之前,每一课内容都要这样做,如果每一个程序你都能够完美的完成,那么可以说,当节课的内容,百分之七八十你已经掌握了。

第三步,他山之石可以攻玉。

单片机技术的最大特点就是可以通过修改程序来实现不同的功能,因此举一反三的能力就必不可少了。每一节课的例程后边,我一般都会布置一两个作业,大家尽量去独立完成这个作业。在完成这个作业的过程中,都可以参考我的程序思路,在这个基础上通过动脑思考去构建你自己的程序框架,最终将程序完成。

在我们工程师实际产品研发的时候,很多种情况下也是如此。比如一个产品,我们如果从0开始着手的话,可能会走很多弯路,所以我们通常的做法是寻找购买同类几款产品,然后先研究他们的各自优缺点,学习他们的长处,然后在同类产品基础上在来设计我们的产品,这就是他山之石可以攻玉。

初学者在学习的时候,往往遇到的问题很多,你应该想到,你遇到的问题,可能前辈们早就遇到过了,所以遇到问题后,不要慌张,首先利用谷歌或者百度这些搜索引擎搜索一下,要做什么新东西,先去网上找找相关资料了解一下,不管是编程还是硬件设计,多参考参考别人的东西,只要把别人的东西分析明白了,自己用起来,就可以成为自己的知识了。

第四步,理论实践结合,温故知新。

当大家把所有的课程都按照前边三步完成后,这个时候不妨把书打开,看看书,通过自己实战的经验,再看书的时候,很多知识点会有一种恍然大悟的感觉。甚至视频教程,书籍,都可以反复看两遍,可能有的知识点当时学习的时候不明白,过了一段时间,回过头来再学习的时候,一下就明白了。

以前在生活或工作中,自己也曾遇到一些最优化问题,当时出于要强和自信,总是自己建模自己求解,耗时耗力还不一定有效。现在渐渐明白,工作中很多事情,是不必重复制造轮子,承认别人的专业和先进,并虚心引进,能让自己快速提升。另一个喜欢它的原因是我惊讶地发现,原来工作中的好多事情,都可以归为最优化的问题。比如操作系统里的进程分配问题,结构设计中的处理器安排问题,还有通信中的信道匹配问题,让我看到了书本知识一旦找到应用的地方是多么的强大。这么多软件,在短短三个月的时间是无法精通的,但是它们在我的意识里播下了种子,让我明白在今后的工作中,应当勇于尝试用现有工具去解决问题,而不是强自苦思,重复别人的工作,浪费自己的时间。

六、助教老师为课程的顺利开展做了很多工作,与老师们的交流也让大家获益匪浅。你对助教老师的工作可以提一些意见和建议吗?

  虽然我们与助教老师们未曾见面,但老师们的谆谆教导,在微信群里对我们进行指导和讨论,每次认真的批阅每一篇博文,并对博文进行指导性的评论,对我们都非常的负责,感谢您们,也感谢授课老师们的栽培!

2、应该如何通过竞争对手的一款软件分析他们的优势和不足?

单片机学习的准备工作

第一、足够的信心、恒心和耐心。

有同学问过我,单片机这门技术难不难。我觉得这个问题得从两个方面去分析。

首先,我们从战略上藐视它。那么多同学跟着老师学一段时间就可以做出来小车,超声波测距,甚至做出来机器人,似乎很拽的样子。那他们又不是三头六臂,我们也没有什么做不了的道理。实际上要说技术,其实就是一层窗户纸,表面看不透彻,感觉特别神秘,实际只要你稍微一努力就可以捅破它,夸张点说,单片机的逻辑上的关系,只有小学的水平,简单的很。正所谓会者不难,难者不会,大家不懂这个东西,看起来感觉很神秘。所以大家只要认真踏实坚持学下去,肯定能学好这么技术。

其次呢,我们从战术上要重视它。你说单片机这东西,如果十天八天就学会了,那么这个技术还能值钱吗?我可以这样去表达,如果一个技术很简单就被学会,那么很多人都会的这个技术,肯定也没什么前途和钱途。那究竟多久能学会呢?我给大家制定的学习方案,根据每个人的基础不同,平均每天要拿出2个小时以上的学习时间,大概一到三个月可以入门。入门的概念是给你一个单片机开发任务,你起码知道努力的方向和解决问题的方法了。技术这东西,关键是坚持做下去,有恒心和耐心,如果长时间不用的话,肯定还会生疏。所以要想成为单片机高手,起码需要一年左右的单片机开发的历练才行。成为单片机高手的概念就是你自己可以从头根据自己的想法,去设计一个电路,根据需要的功能编写代码,做一个产品出来。

第二、教材和教程。

要学习单片机这门技术,良好的教材和教程必不可少。单片机方面,大家可以直接学习我们这本《51单片机C语言开发》,我们也有精心制作了《单片机高手之路》视频教程,并且后期会进行不定期更新。本着开源、共享的理念,我们的视频教程和电子教程都是免费开放的,大家可以到我们的网站www.diangon.com找到下载链接,如果有条件,也可以购买我们一般纸质教材,纸质书籍查阅起来比视频教程和电子教程更方便。另外,因为我们做单片机开发使用的是C语言,所以最好能有一本纯C语言教材,我们学到一些C语言语法性质的问题的时候,大家可以方便查阅,或者你可以直接把相关语法问题通过百度和谷歌等搜索一下也可以。

第三、电脑一台,单片机开发板一块。

电脑呢,是学习单片机必不可少的工具,因为我们编程,查资料都用得到,但是有句题外话说一下,不要把电脑当成游戏机或者影碟机,偶尔玩玩游戏看看电影是可以的,劳逸结合,但是不可沉溺其中,否则还不如不买电脑。

单片机开发板,这也是必须的。如果还上学,老师实验室有开发板,可以考虑跟老师借一个,或者使用师兄师姐用完的,这样可以省点钱。当然,如果身边有高手,比如辅导老师,会单片机的师兄,在他们的指导下做一个也可以,身边有人指导的话,不懂的问题还可以问他们。如果这些条件不具备,那么可以购买一个,先学习别人的板子设计思路,给自己以后设计电路板打下基础。在这里我推荐一下我们的51开发板,用来配套学习。我不敢说我们的设计是最好的,但是我可以很负责任的说,我们的板子是出自经验丰富的一线工程师之手,其中的设计都是根据实际项目开发的思路进行的,包括整体规划、电路设计、器件布局等等,可以为你今后的项目开发提供一个优质的参考。另外一方面,因为我们的教程是基于我们的开发板做的,所以大家用配套的话可以节省时间,提高学习效率。

当然,即使不购买我们的开发板,你想学单片机,必须要有一块开发板,不要总去用软件仿真,软件仿真是学不会单片机技术的。经常有同学过来问我,老师我用软件模拟的好用,做了硬件不好用是什么原因。在这里我提一下,如果你上课用这个软件仿真,糊弄老师应付考试可以的,但是实际开发和仿真软件差别太大,如果是学习单片机这门技术,那我只能告诉你,拿起烙铁焊电路,动手写程序,远离仿真软件,靠软件仿真永远学不到真正的技术。

本文由保利彩票app发布于保利彩票平台,转载请注明出处:《软件工程》课程总结

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。