`
hf_qysj
  • 浏览: 9563 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
文章分类
社区版块
存档分类
最新评论

软件工程

 
阅读更多
去年暑假到现在是一个蜕变的过程!从软件工程到UML到设计模式再到三层架构(其实这些都属于软工的范畴),这是一条充满艰辛,充满曲折的道路,一路走来,感触颇多。


进入提高班,再次接触软件工程,让我觉得既熟悉又陌生。造成这种让人纠结的状态只能怪自己当时太无知。没有好好听大学老师讲课。不过也不必太自责,大家也都知道现在中国的教育现状。我想如果我当时好好跟着任课老师学,对软工认识的程度肯定也无法跟现在相比。很庆幸自己选择跟着米老师一直走下去。这个决定可以说是我长这么大最正确的一次!感谢米老师的悉心教导!


软件工程


软件工程,可以说是一门博大精深的学科。如果要用一种武功来比喻软件工程,那么我感觉也只有少林寺的《易筋经》能够体现出它在软件界的重要地位了。软件工程贯穿整个软件开发的始终,从设计到编码到之后的测试发布以及后期的维护,都离不开软件工程的思想。软件工程其实就是一种工具,将软件开发工程化,用科学的方法分析设计软件,为软件开发指制定合理的计划,最大限度的保证软件可以按时保量的完成。软件工程是一门需要终身学习的课程。随着以后不断的积累对于软工的认识会慢慢的加深,继续努力吧!


UML


UML是软件开发过程中一个非常重要的环节,可以说UML是软件工程的灵魂。它是对软件的整体设计与把控。UMLj将软工的思想绘成各种图,然后通过这些图加上设计模式,转化成系统的代码框架。有了框架,有了轮廓,剩下的具体实现的代码就可以一蹴而就。一气呵成了!
UML的四种关系——关联(组合、聚合)、依赖、泛化/继承、实现。还有九图都是学习UML的重点。九种图里面类图是重中之重。另外我感觉画时序图也很让人纠结,在做机房收费系统的时候,画的图就不太好,结果在写代码的时候就编写边改。着实让人头疼,吸取经验下次一定好好研究UML图。


设计模式


第一次用.NET做机房收费系统的时候用了一抽象工厂,稍微感受到了一下设计模式的好处。使用合适的设计模式可以让代码之间更加的独立,专业术语叫做低耦合。使代码更易复用。可谓好处多多啊。但值得注意的是,不要单纯的为了用设计模式而用设计模式。一定要结合实际情况,看看到底这里适不适合用设计模式,适合用哪种设计模式。这样才能发挥设计模式的作用,否则只会适得其反。总之设计模式是前人总结的精华,我们要用,更要会用,以便让它发挥最大的作用。想了解更多我关于设计模式的感受,请移步《大话设计模式读后感》


三层架构


三层的学习也颇费周折,这次米老师没有像之前那样给我们现成的资料,而是让我们自己去搜寻——为的是锻炼我们自己捕获事物,汲取营养的能力,从而让我们更适应大自然的生存环境。想要获得知识,世界上最大的知识库莫过于或联网,于是乎我就整天游荡于各大程序员社区——CSDN。博客园。51CTO等 都少不了我的身影。从那些大牛的博客里学习三层,逐渐的明白了三层到底是怎么一回事。
其实三层说白了就是将代码按照不同的功能分为不同的几个层,每一层都有自己的职责。例如负责跟数据库打交道的代码就放在DAL层(Data Access Layers),而一些逻辑判断就放在BLL层(Business Logic Layer)等等。说白了分层跟用设计模式用着异曲同工之妙,都是为了降低代码的耦合度,从而使得所开发的软件更易扩展、易维护。
分层也是一种思想,不同的阶段对于分层有着不同的理解。随着不断的学习,不断积累经验,对于分层的理解会慢慢的加深。


C#跟VB.NET


学习C#一是为了学习设计模式,因为《大话》中的代码是用C#实现的;而是为了让我们初步认识一下面向对象的编程思想。而学习VB.NET是为了从之前学的VB6无缝过渡到以后的面向对象。这一点很好的提现了米老师的“吃饭理论”——通过自己熟悉的知识去获得自己不熟悉的知识。


重构机房收费系统


又说到我们提高班的经典项目了——机房收费系统。这次重新做机房收费系统,首先是分层,然后又用了抽象工厂+反射+配置文件。而第一次做机房收费系统,用的是VB6,那个时候简直就是一个小白,什么UML、设计模式、分层都一呼不呼。所有代码都直接写到窗体下面,现在看之前做的东西,说难听点就跟屎一样!但是正是因为有当初的屎,才有了现在茁壮成长的庄稼!路是一步步走的,知识是一点点学的,所以不要在乎你现在有多差、水平有多低,只要肯努力,肯付出,再加上一个正确的方法,某天回头望去,发现自己已然到达了一个新的高度!所谓不积跬步无以至千里,不积小流无以成江海。说的就是这个道理,学习其实就是一个积累的过程。


合作开发机房收费系统


很无奈,又是它。这次你明白它为啥是提高班的经典了吧!合作开发主要是为了培养我们合作的能力,学习一下SVN的使用,同事也加深一下对三层和设计模式的理解。合作开发要比一个人开发快多了,这也是为啥要分层的一个原因,分层之后代码的耦合度降低,每个人负责一部分,只要按照一定标准跟规范就可以同时并行开发了,然后各自写完之后再合并,最后调试、打包就OK啦!这次合作没有什么太多的新东西,只是在原来的基础上加了一个外观模式。这次合作让我感受到注释说明很重要,如果注释说明写的清楚明白,那么几乎组员之间不用多余的交流就可以把项目做完,相反,如果写的不好,那么做起来就费劲了,写两句就要沟通一下,这样就没法进行下去了,而且还会带来理解上的偏差,这都会造成很多不必要的麻烦,所以合作很重要的一点就是制定好标准和规范。


结束语



写这篇博客真是不容易啊,因为之前的年度总结《我的IT之路2011(二)》里面已经对这一阶段进行了比较详细的总结,现在又重新再写一次,说白了就是用不同的话把一件事说了两遍,这对于我这个写作水平非常有限的人来说真是个挑战啊!还好写完了,好与不好各位多担待吧!不早了两点多了该睡觉啦!晚安各位!

分享到:
评论

相关推荐

    软件工程课程设计飞机订票系统源代码.zip

    软件工程课程设计飞机订票系统源代码软件工程课程设计飞机订票系统源代码软件工程课程设计飞机订票系统源代码软件工程课程设计飞机订票系统源代码软件工程课程设计飞机订票系统源代码软件工程课程设计飞机订票系统源...

    软件工程课后习题答案 软件工程 软件工程 软件工程

    软件工程课后习题答案 软件工程 软件工程 软件工程

    软件工程PDF课件1-11章打包.zip

    软件工程PDF课件 01_SEIntro软件工程概述.pdf 软件工程PDF课件 02_Process软件过程.pdf 软件工程PDF课件 03_Management软件项目管理.pdf 软件工程PDF课件 04_Requirement需求工程.pdf 软件工程PDF课件 05_OOIntro...

    JAVA开发项目软件工程课程设计图书借阅管理系统源代码.zip

    JAVA开发项目软件工程课程设计图书借阅管理系统源代码JAVA开发项目软件工程课程设计图书借阅管理系统源代码JAVA开发项目软件工程课程设计图书借阅管理系统源代码JAVA开发项目软件工程课程设计图书借阅管理系统源代码...

    软件工程习题解答

    作者编著的枟软件工程导论枠被国内许多高校选作软件工程课的教材,累计销售约70 万册。为配合 读者学习软件工程,作者又精心编写了这本学习辅导书。 本书正文共10 章,每章由三部分内容组成:第一部分系统扼要地...

    面向对象软件工程

    《面向对象软件工程》 作者:Stephen.R.Schach 学校:(美)范德比尔特大学 书名原名:Objected-Oriented Software Engineering 目录: 第一部分 面向对象软件工程简介  第一章 面向对象软件工程的范畴  第二章 ...

    北大软件工程课件

    软件工程专业课资料 PPT 非常详细 软件工程专业是一门研究用工程化方法构建和维护有效的、实用的 软件工程知识体系全景图 软件工程知识体系全景图 [1] 和高质量的软件的学科。它涉及到程序设计语言,数据库,软件...

    软件工程毕业设计—兼职招聘系统源码+数据库.zip

    软件工程毕业设计—兼职招聘系统源码+数据库软件工程毕业设计—兼职招聘系统源码+数据库软件工程毕业设计—兼职招聘系统源码+数据库软件工程毕业设计—兼职招聘系统源码+数据库软件工程毕业设计—兼职招聘系统源码+...

    软件工程专业十篇实习报告

    1、软件工程实习报告-8000字.doc 2、软件工程实习手册-7000字-日志+总结.doc 3、软件工程实习周记-11周-4500字.doc 4、软件工程实训总结-5300字.docx 5、软件工程专业实习报告-精选.docx 6、软件技术实习报告10篇....

    软件工程完整ppt

     第1篇面向过程的软件工程  第1章软件危机、 软件工程  11软件工程的发展史  111程序设计时代  112程序系统时代  113软件工程时代  12软件危机主要表现形式  13产生软件危机的原因及解决途径  131产生软件...

    2015图书销售网管理系统(软件工程导论期末大作业).docx

    2015图书销售网管理系统(软件工程导论期末大作业).docx2015图书销售网管理系统(软件工程导论期末大作业).docx2015图书销售网管理系统(软件工程导论期末大作业).docx2015图书销售网管理系统(软件工程导论期末大作业)....

    软件工程 六份实验报告

    (1) 上网查询浏览有关软件工程环境网站,了解有关软件工程环境的定义、配置、功能和用途; (2) 下载有关软件工程标准,如国际ISO9000-3、国家GB8567-1988、2006和行业标准等,重点阅读软件分析阶段的文档编写...

    软件工程的实验报告.doc

    实验1 软件工程CASE工具 1.实验目的与要求 (1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件危机和软件工程基 本原理。 (2)理解软件工程环境和工具,熟悉软件工程环境组成和软件工具分类等。 (3)...

    《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 课后习题参考答案

    "《软件工程教程》(第2版) 主编:吴迪 马宏茹 丁万宁 课后习题参考答案" 软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度,实现满足用户要求的软件产品的定义、开发、发布和维护的工程或...

    软件工程实验图书管理系统

    本次软件工程实验,我选择的是图书管理系统,数据库采用SQL Server软件,界面实现部分我采用的是Visual Studio C#编写,文件中包含数据库文件、界面实现的代码、实验中各部分的数据流图以及架构图,实验报告和各部分...

    软件工程 头歌上面的习题答案 免费下载哦

    第一章软件工程课程概论 5 第二章从程序到软件 5 第三章软件工程概述 4 第四章软件过程模型和开发方法 3 第五章软件需求工程基础 4 第六章获取软件需求 4 第七章分析软件需求 5 第八章软件设计基础 7 第九章...

    软件工程课程设计大学年级事务督办系统源码.zip

    软件工程课程设计大学年级事务督办系统源码,软件工程课程设计大学年级事务督办系统源码软件工程课程设计大学年级事务督办系统源码软件工程课程设计大学年级事务督办系统源码软件工程课程设计大学年级事务督办系统...

    中国石油大学软件工程课程设计 在线视频网站设计.docx

    中国石油大学软件工程课程设计 在线视频网站设计.docx中国石油大学软件工程课程设计 在线视频网站设计.docx中国石油大学软件工程课程设计 在线视频网站设计.docx中国石油大学软件工程课程设计 在线视频网站设计.docx...

    大工16秋《软件工程》大作业题目及要求.pdf

    大工16秋《软件工程》大作业题目及要求.pdf大工16秋《软件工程》大作业题目及要求.pdf大工16秋《软件工程》大作业题目及要求.pdf大工16秋《软件工程》大作业题目及要求.pdf大工16秋《软件工程》大作业题目及要求.pdf...

    中国软件行业软件工程定额标准(试行)

    本标准由中国软件行业协会制定,目的是规范软件工程定额估算的过程,为用户单位、财政审批部门、软件开发商估算软件工程项目的工作量、价格和工期等提供科学、统一、快捷的方法和实用工具。 本标准的主要用途如下: ...

Global site tag (gtag.js) - Google Analytics