软件开发认识过程
我学习软件开发是从学习一门编程语言开始的,先学习语法,然后学习一些编程语言提供的一些公用函数,在这个基础上做一些简单的小例子。一开始学的是C语言,因为没有实际的应用场景,所以也不知道学这个东西的实际价值,不知道学这个东西能用来干什么,与此同时还学了数据结构,同样不知道这个东西有何用。后来又接触到了C#语言,也是先学语法,然后掌握一些公用函数及一些类库的作用,然后做一些小例子,不同的是这个语言有图像界面,让人能感觉到它的使用价值,也因此对这个语言有更好的好感。
凭着掌握的一点C#语言,就这样一路前行着,随着岁月的流逝,接触的东西比以前多了,知道为什么要学习C语言和数据结构,知道什么是基础,什么是最本质的东西。这时我也认识到软件开发不单单是掌握一门语言里面的一些类的应用,如果单是掌握一门语言的一些类的应用,那只能叫编程,而软件开发应该包含更多的东西,比如软件设计。当我意识到这些的时候,就像来到更高的楼层一样,眼前一下豁然开朗,因为世界并不是之前所认识的那样。让我有点沮丧的是这里依然人来人往,依然喧嚣。在这喧嚣的环境中,我开始了设计模式的学习,依葫芦画瓢,生搬硬套,理想的场景。在这个过程中对面向过程和面向对象编程有了更进一步的认识,不是用面向对象语言编程就是面向对象编程,其实这两个是思维方式的差别。后来又接触了面向对象设计原则,让我再一次体会了一句古话“万变不离其宗”,让我知道有种境界叫无招胜有招。再后来让我知道了什么才是更根本的东西,课本的东西虽然有的跟不上发展,但有的还是很深刻的,我记得有段话说的是:“什么是面向对象语言?没有具体的定义,但是面向对象语言必须具备三大特性:封装、继承、多态”。本以为学习了面向对象编程和设计模式会过的好一点,可是人生总不是理想的,现实是很实际的,在我的经历中很多地方要求面向对象编程,可进去之后才发现还是面向过程,用不到的技术写一大堆,而编写软件代码的可读性、可扩展性等软性的东西到没人关注。不能改变就只能适应了,走到哪都是去维护别人代码的情况下,我学习了代码重构这一技术,苦中作乐。
随着岁月的流逝,我知道有种高人叫软件架构师,我向往成为这样的人,于是我开始了解如何成为这样的人。对软件架构最初的了解是三层架构:表现层、业务层、数据层。后来了解到分层是按职责来划分的,这样划分是很合理的,其实服务层、mvc模式也都是按这个原则划分的。对一个规模不大的软件系统,没有必要搞得很复杂,但是当用户比较多的时候,并发问题及性能问题就不得不考虑了。如何提高软件系统的性能和并发能力?数据库操作一般是个瓶颈,分布式、集群、缓存是人们想到的解决方式,随着而来的是各种组件、框架,只要你意识到的问题,都有现成的解决方案,而我们要做的就是学习别人的东西怎么使用。
学以致用,是我人生的信条。其实我一直有个梦想,就是有朝一日,我能通过我所掌握的技术,做一个东西,而这个东西能给别人带来帮助。而现在我觉得时机已经成熟,于是我开始构思如何实现我的梦想。从软件需求收集,到软件需求分析、设计,在这个过程中,我借助了UML工具,并采用了敏捷软件开发方式。在实现梦想的过程中,我对软件开发也有了新的认识,这时想起在学校看不懂的一本书《软件工程》。
相关推荐
软件开发过程是软件工程的核心内容,涉及到软件从构思、设计、...而且,为了确保软件开发过程的顺利进行,项目团队应该对每个阶段的目标、方法和产出物都有清晰的认识,并且在实施过程中进行严格的质量控制和进度管理。
软件开发的过程及注意事项 软件开发是一个系统性的工程,它涉及一系列有序的阶段,从需求分析、设计、编码、测试到维护等。在这个过程中,每一个步骤都至关重要,需要细致的规划和执行,以确保软件开发的成功。本文...
通过这些实地参观和讲座,实习生们对软件开发过程有了更直观的认识,同时也学习到将理论知识与实践相结合的重要性。 例如,捷安高科专注于模拟驾驶和模拟焊接等虚拟仿真培训,利用软硬件结合提供实训经验;腾讯·...
### 软件开发过程方法研究 #### 一、引言 随着信息技术的快速发展和制造业的不断进步,软件系统在现代工业生产中的地位越来越重要。先进的制造模式要求信息集成和功能集成贯穿于产品生命周期的每一个阶段,这不仅...
计算机软件开发是一个系统化的工程,涉及策划、编程、测试以及后续维护等多个环节,为了保证开发过程的顺利进行及最终产品的质量,合同书的签订变得尤为关键。计算机软件开发合同书正是为了明确甲方和乙方在软件开发...
CMM是一种用于评价软件开发组织过程能力的模型,它帮助组织认识到自身在软件过程管理方面存在的问题,并提供一个改进的途径。CMM模型通过过程区域和关键过程领域(KPA)来衡量软件开发过程的成熟程度。 RUP...
### 基于UML的面向对象软件开发过程 #### UML概述及其重要性 统一建模语言(Unified Modeling Language, UML)是一种用于规范化的软件系统建模标准,广泛应用于面向对象的软件开发过程中。它提供了一套图形化的...
本次实习,作为软件开发过程认知实习报告的一部分,记录了一名大一学生在郑州863中部软件园及其合作企业中的实习经历,旨在深化对软件开发工作的认识,并探索其在实际工作中的应用。 实习地点所在的863中部软件园,...
软件开发过程认识实习是计算机相关专业学生深入理解软件行业运作方式、提升个人专业技能、确定职业发展方向的重要途径。本文旨在通过对软件开发流程和实习过程的深入分析,来揭示实习对于计算机专业学生职业成长的...
【软件开发过程认知实习报告】 实习报告的主题围绕着软件开发过程的理解和体验,旨在通过实地参观和听取专业讲座,使学生能够对软件行业有更深入的了解,特别是软件开发的过程和重要性。实习地点设在863中部软件园...
每个阶段都反映了对软件开发认识的深化和方法的改进。 在软件工程的知识体系中,涵盖了需求获取、需求分析、系统设计、详细设计、编码、测试、维护等多个环节。这些环节相互关联,共同构成了软件开发的生命周期。...
"Rational 统一过程 RUP 贴近中小软件开发" RUP(Rational Unified Process)是一种软件开发过程模型,由 IBM 公司开发。它几乎涵盖了软件开发过程中的所有方面。然而,对于中、小规模的软件项目,完全照搬 RUP 并...
在软件开发过程中,文档起着至关重要的作用,它们是团队沟通、项目管理、质量保证以及后期维护的基础。以下是一些关键的软件开发文档及其详细解释: 1. **项目开发计划**:这是项目启动阶段的关键文档,它定义了...
一名合格的软件开发工程师在从事工作时,首先需要对整个开发流程有一个清晰的认识。软件开发流程通常包含需求分析、设计、编码、测试、部署和维护几个主要阶段。每个阶段都至关重要,它们构成了软件从无到有、从理念...
软件开发工具通常具有以下功能要求:认识和描述系统功能,管理开发过程中的信息,生成代码,以及支持项目管理。它们的性能要求包括强大的表达能力、信息一致性、易用性以及对硬件和软件环境的适应性。软件开发工具...
软件开发工具的功能要求包括认识与描述客观系统、存储及管理开发过程中的信息、代码的编写或生成、文档的编制或生成、软件项目的管理等。根据工作阶段,软件开发工具可以分为设计工具、分析工具、计划工具。 软件...
作者通过对软件开发过程中存在的问题进行分析,揭示了软件开发与人类思维、创造力之间的密切联系,并提出了关于如何改进软件开发过程的一些思考。 #### 二、软件开发的本质 软件开发是一种高度依赖于人类思维的...
软件开发过程认识实习报告.doc