软件工程课设心得Word格式文档下载.docx
《软件工程课设心得Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《软件工程课设心得Word格式文档下载.docx(5页珍藏版)》请在冰豆网上搜索。
”赫然映入我眼帘。
突然间我发现,就算是植物僵尸大战这样复杂的游戏,如果设计者实现分模块把每一部分如何实现用文档描叙出来,那这个软件实现起来不是很容易吗?
第一次课后我明白了软件工程是致力于专业化软件开发的理论、方法和工具的研究。
虽然我从初中开始信息奥赛,高中继续这个爱好,但在大学二年级下学期才接触在软件开发中这么有引导意义的学科,不觉有种相见恨晚的感觉。
自然它的方法学三要素:
方法、工具、过程,我牢记于心。
短短的四周,裴老师的课给我留下了深刻的印象,印象尤深的是:
做软件我们首先考虑的是团队的实力。
如果别人给你50万让你们团队开发一个软件,如果他要求你们团队给这个软件永久维护,那么你要去跟他协商付100万。
很多软件公司倒闭就是因为维护上的问题。
至此我才明白维护软件是软件生存周期中时间最长的一个阶段,它是最花费精力与钱财的一个阶段。
如果将来你们碰到了我,你跟我说你是se那么我会很高兴,如果你告诉我你是软件工程师,我只会“嗯嗯”两下。
其实在我接触软件后,渴望的是当一名软件工程师。
现在才知道学软件工程专业后,去当一名软件工程师是最低层的也是最没“技术”含量的。
要做就做系统构架师,当然这需要我们的不懈努力才能达到。
系统构架师的职责是设计一个公司的基础构架,并提供关于怎样建立和维护系统的指导方针。
恍然发现学软件不仅是学软件,相关的管理能力也是需要具备的。
当然理论知识是用来指导实践的,亲身体验才能领悟软件工程的妙用。
课设我们选择了图书馆管理系统,主要是这个系统我们接触比较多,对于它的流程还是比较清楚的。
虽然如此我们还是花了很大的时间去完成它。
记得当时我们定下这个题目是晚上,在讨论用什么语言实现时,大家各自说出自己比较善于的语言。
然后均衡了下,定下用java做开发语言。
在实现过程中,突然发现java环境连接数据库和tomcat超级麻烦且数据库老是连接不上。
趁时间还早我们三再次讨论,决定用c#做开发语言,主要是c#相对于c++与java来说简易写。
同时我们定下不管以后遇到什么困难都要坚持下去的准则。
在课设期间我们没少跑图书馆,查阅各种资料,对比各本书上实现图书馆管理系统的代码。
终于在4月11日把所有课设的所有事情弄好了。
当然这只是个概述。
我印象尤深记忆深厚的是最初实现文档那块。
刚开始,软件工程这门课还没学多少,基本的设计理念就很模糊。
文档到底该怎么写,很纠结。
于是我从网上狂下相关文档。
通过粘贴与复制终于一份内容乱七八糟的需求分析文档出来了,当然这只是用来借鉴的。
后来孟阳分享了十三份关于文档这方面的模板。
我们照着那个样子在结合团队项目的相关实例开始了文档的写作。
我们的文档总是一个人先写好,再拿给另一个人改,最后由第三个人评审。
大家都觉的可以了,才过关。
测试报告虽然是我一个人完成了,但也经历了不少时间,当然这时间是按小时算的。
首先把大体写出了,然后修改,再增加信息。
大量的截图以及思考怎样用例超费脑子,两天的通宵,彻底把我搞垮了,不过在文档出炉后,心里异常开心。
软件工程课程虽已结束,但我对于软件工程的学习才刚刚开始,裴老师的课让我受益匪浅。
我体会到项目管理的重要性,随着软件规模、复杂度的不断增加,项目开发中更多的是协作、管理和控制。
我学习到很多一般性的方法,例如:
需求获取、模块化、分治、估算、计划等等。
同时,我也认识到使用计算机解决实际问题的复杂性,在图灵机模型和冯·
诺依曼体系的计算机框架下,人们认识表达的过程和计算机的实现过程相差甚远,软件工程方法要提供给程序员们一种更加有效的对客观世界问题域进行形式化的过程方法。
向se进军!
至少这是现在的目标。
谢谢裴老师!
您的课通俗易懂,举的例子贴近生活,让我们易于接受。
软件课程设计 ttcn-3软件课设报告 第1页共6页电信0701郭福晨u201413312 ttcn-3软件课设 本次软件实验课程我选的是ttcn-3语言的平台移植。
我和黄炯同学组成一个小 组。
软件课设的大课题为:
ttcn-3语言及其编译器的设计与移植。
我们选择的是用ttcn语言实现自动饮料贩卖机的功能。
自助饮料售卖机的实现 1.任务要求 饮料类型:
咖啡、可乐、鲜橙多、矿泉水、绿茶、红茶 饮料价格:
4元、3元、3元、1元、3元、3元 输入包括饮料类型和投币金额 输出包括输出饮料的数量以及找回钱金额 2.程序算法 moduleautosellmachine { functionmachinefunctionrunsondrinkercomponenttype//从顾客处{varcharstringtemp;
inputport.receive->
valuetemp;
log;
outputport.send;
inputport.receive->
do{outputport.send;
接收消息并赋值,判断饮料的种类和所要求的价钱typecomponentdrinkercomponenttype//定义接收和输入的接口{}portcharstringinputporttypeinputport;
portintegeroutputporttypeoutputport;
typeportintegeroutputporttypemessage{outinteger}typeportcharstringinputporttypemessage{incharstring} }}log;
while;
//判断顾客给出的钱数,如果不够if//判断顾客所选择的饮料类型,如果选{}则显示金钱不够择的不是给出的6种饮料,则显示选择错误return;
setverdict;
typecomponentemptycomponenttype{}//下述为所给出的几种情况的实例testcasetestonerunsonemptycomponenttypesystemdrinkercomponenttype{}testcasetesttworunsonemptycomponenttypesystemdrinkercomponenttype{}testcasetestthreerunsonemptycomponenttypesystemdrinkercomponenttype{vardrinkercomponenttypedrinker;
drinker:
=drinkercomponenttype.create;
map;
drinker.start);
//此处方可所选定的饮料种类和给出的金钱drinker.done;
unmap;
vardrinkercomponenttypedrinker;
//此处即顾客所选定饮料种类和给出的金钱drinker.done;
}}drinker:
//此处为顾客选定的饮料和给出的金钱drinker.done;
c编写的咖啡机贩卖程序 usingsystem;
usingsystem.collections.generic;
usingsystem.threading;
publicclassatuodrinkmachine//定义输入和输出,饮料类型和价格 { publicstaticqueueinputport;
publicstaticqueueoutputport;
privatestaticstringdrinkname={“coffee”,”cola”,”orange”,”water”,”greentea”,”redtea”};
privatestaticintdrinkprice=newint{4,3,3,1,3,3};
staticthreadtask;
publicstaticvoidswitchon { inputport=newqueue;
outputport=newqueue;
task=newthread);
task.start;
} publicstaticvoidswitchoff { task.abort;
} staticvoidbehaviour { intamount,choice,i,quantity,change;
outputport.enqueue);
whilethread.sleep;
byteinputbyte=inputport.dequeue;
choice=convert.bytearraytoint;
if { } outputport.enqueue);
+drinkname+“.n”+”thesinglepriceof“+drinkname+”is“+drinkprice.tostring+”.”));
inputbyte=inputport.dequeue;
i=convert.bytearraytoint;
amount=i;
while { } quantity=amount/drinkprice;
change=amount%drinkprice;
outputport.enqueue+”outputport.enqueuethread.sleep;
inputbyte=inputport.dequeue;
i=convert.bytearraytoint;
amount+=i;
isnotenough!
pleasetrymoreagain!
”));
drinkand“+change.tostring+”yuanleftare.thanks!
thread.sleep;
} } 课设总结 这次软件课设的整个过程使我切实的认识到了程序编写的不易和所需的 严谨,任何一个小的错误与疏忽都可能导致程序的崩溃。
虽然之前从书本中学习c语言的编程知识,有一定的编程基础,但是确确实实做一个真正的东西出来还是第一次,所以有很多问题都不能自己解决,所以这个过程也培养了我学习新知识和与团队配合的能力。
我觉得虽然自己还是有很多不懂的地方,对于ttcn-3这门语言的了解也还远远不够,但我还是觉得自己收获很多。
对于自己所学习的专业,和自己所学习的知识的实践 应用都有了全新的认识。
很高兴能有这次软件课设的机会,让自己看到自己的不足,我会好好把握自己大学的最后时间,尽量在各个方面都强化自己。
我觉得,课设让我看到自己和某些很优秀同学的差距,我相信,只要好好努