软件开发认识过程

软件开发认识过程
      我学习软件开发是从学习一门编程语言开始的,先学习语法,然后学习一些编程语言提供的一些公用函数,在这个基础上做一些简单的小例子。一开始学的是C语言,因为没有实际的应用场景,所以也不知道学这个东西的实际价值,不知道学这个东西能用来干什么,与此同时还学了数据结构,同样不知道这个东西有何用。后来又接触到了C#语言,也是先学语法,然后掌握一些公用函数及一些类库的作用,然后做一些小例子,不同的是这个语言有图像界面,让人能感觉到它的使用价值,也因此对这个语言有更好的好感。
      凭着掌握的一点C#语言,就这样一路前行着,随着岁月的流逝,接触的东西比以前多了,知道为什么要学习C语言和数据结构,知道什么是基础,什么是最本质的东西。这时我也认识到软件开发不单单是掌握一门语言里面的一些类的应用,如果单是掌握一门语言的一些类的应用,那只能叫编程,而软件开发应该包含更多的东西,比如软件设计。当我意识到这些的时候,就像来到更高的楼层一样,眼前一下豁然开朗,因为世界并不是之前所认识的那样。让我有点沮丧的是这里依然人来人往,依然喧嚣。在这喧嚣的环境中,我开始了设计模式的学习,依葫芦画瓢,生搬硬套,理想的场景。在这个过程中对面向过程和面向对象编程有了更进一步的认识,不是用面向对象语言编程就是面向对象编程,其实这两个是思维方式的差别。后来又接触了面向对象设计原则,让我再一次体会了一句古话“万变不离其宗”,让我知道有种境界叫无招胜有招。再后来让我知道了什么才是更根本的东西,课本的东西虽然有的跟不上发展,但有的还是很深刻的,我记得有段话说的是:“什么是面向对象语言?没有具体的定义,但是面向对象语言必须具备三大特性:封装、继承、多态”。本以为学习了面向对象编程和设计模式会过的好一点,可是人生总不是理想的,现实是很实际的,在我的经历中很多地方要求面向对象编程,可进去之后才发现还是面向过程,用不到的技术写一大堆,而编写软件代码的可读性、可扩展性等软性的东西到没人关注。不能改变就只能适应了,走到哪都是去维护别人代码的情况下,我学习了代码重构这一技术,苦中作乐。
      随着岁月的流逝,我知道有种高人叫软件架构师,我向往成为这样的人,于是我开始了解如何成为这样的人。对软件架构最初的了解是三层架构:表现层、业务层、数据层。后来了解到分层是按职责来划分的,这样划分是很合理的,其实服务层、mvc模式也都是按这个原则划分的。对一个规模不大的软件系统,没有必要搞得很复杂,但是当用户比较多的时候,并发问题及性能问题就不得不考虑了。如何提高软件系统的性能和并发能力?数据库操作一般是个瓶颈,分布式、集群、缓存是人们想到的解决方式,随着而来的是各种组件、框架,只要你意识到的问题,都有现成的解决方案,而我们要做的就是学习别人的东西怎么使用。
      学以致用,是我人生的信条。其实我一直有个梦想,就是有朝一日,我能通过我所掌握的技术,做一个东西,而这个东西能给别人带来帮助。而现在我觉得时机已经成熟,于是我开始构思如何实现我的梦想。从软件需求收集,到软件需求分析、设计,在这个过程中,我借助了UML工具,并采用了敏捷软件开发方式。在实现梦想的过程中,我对软件开发也有了新的认识,这时想起在学校看不懂的一本书《软件工程》。

转载于:https://www.cnblogs.com/jxmoon/p/jxmoon.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值