软件开发如何开始学习?
4个回答
展开全部
1、基础
这是每个开发者的起点。开发者刚刚学会了某种语言, 比如C语言,学习了基本的数据结构和算法,并通过一些练习对知识点进行巩固。这些练习主要以课后练习为主,是一些简单的基础概念的练习,比如打印输出、接收用户的输入、数组的遍历、排序,或者链表等。
接下来是做一些简单的项目,这些项目没有复杂的算法和高深的领域知识,比如数据的统计分析、产品的售后管理系统等。这些项目虽然简单,却是一个真实完整的项目。不仅练习了开发者对语言的应用能力,也体会了软件开发的全生命周期,即软件工程,从项目的需求分析,到设计开发,到软件发布和项目验收,最后到软件的维护。
通过简单的项目,掌握了对语言的驾驭能力,并熟悉了软件工程。随着能力的提升,慢慢地就会接触更复杂的项目,使自己能力得到进一步的巩固和提升。
能力的提升方面包括:对语言的应用得心应手,对软件的设计驾轻就熟。接触并熟悉更多的语言,如动态语言Pyhton、脚本语言Bash、新兴语言Golang、Swift等。通过语言间的对比,对语言的优势和缺点又比较清晰的了解,从而在项目中合理选择语言。
2、架构设计和系统分析
随着项目越做越多,会发现多数是在重复,到了一个瓶颈。这是可能要阅读大量的书籍,向软件架构和系统分析转型。在设计软件时,要多留意架构设计。软件架构可以通过演化得到。但是若能看得更远,提前做些设计,会事半功倍。
这个阶段,可能要花大量的时间在业务领域。因为软件技术已经暂时不需投入太多精力了,也有时间关注业务领域了。熟悉业务领域,能分析用户的需求和约束条件,写出信息系统需求规格说明书,制订项目开发计划等,能根据实际工作环境,评估和选用适宜的开发方法和工具;能按照标准规范编写系统分析、设计文档等。在实际项目中锻炼系统架构和系统分析能力。
愿意的话,可以考一个系统架构师或者系统分析师。
3、基础算法和项目管理
发展到这个水平后,对软件技术和业务领域都比较熟悉。所谓穷则独善其身,达则兼济天下。很可能会带带新员工。这是练习领导力的一个机会,可以体会一下如何带人。为下一步带团队打下基础。可以把手上的一些事情安排给他们做。自己抽身出来研究更重要的事。比如研究基础算法、拓展新的领域等。
其实到这个阶段有两个选择,可以向项目管理进一步,做项目经理。也可以钻研基础领域,做领域专家。
这是每个开发者的起点。开发者刚刚学会了某种语言, 比如C语言,学习了基本的数据结构和算法,并通过一些练习对知识点进行巩固。这些练习主要以课后练习为主,是一些简单的基础概念的练习,比如打印输出、接收用户的输入、数组的遍历、排序,或者链表等。
接下来是做一些简单的项目,这些项目没有复杂的算法和高深的领域知识,比如数据的统计分析、产品的售后管理系统等。这些项目虽然简单,却是一个真实完整的项目。不仅练习了开发者对语言的应用能力,也体会了软件开发的全生命周期,即软件工程,从项目的需求分析,到设计开发,到软件发布和项目验收,最后到软件的维护。
通过简单的项目,掌握了对语言的驾驭能力,并熟悉了软件工程。随着能力的提升,慢慢地就会接触更复杂的项目,使自己能力得到进一步的巩固和提升。
能力的提升方面包括:对语言的应用得心应手,对软件的设计驾轻就熟。接触并熟悉更多的语言,如动态语言Pyhton、脚本语言Bash、新兴语言Golang、Swift等。通过语言间的对比,对语言的优势和缺点又比较清晰的了解,从而在项目中合理选择语言。
2、架构设计和系统分析
随着项目越做越多,会发现多数是在重复,到了一个瓶颈。这是可能要阅读大量的书籍,向软件架构和系统分析转型。在设计软件时,要多留意架构设计。软件架构可以通过演化得到。但是若能看得更远,提前做些设计,会事半功倍。
这个阶段,可能要花大量的时间在业务领域。因为软件技术已经暂时不需投入太多精力了,也有时间关注业务领域了。熟悉业务领域,能分析用户的需求和约束条件,写出信息系统需求规格说明书,制订项目开发计划等,能根据实际工作环境,评估和选用适宜的开发方法和工具;能按照标准规范编写系统分析、设计文档等。在实际项目中锻炼系统架构和系统分析能力。
愿意的话,可以考一个系统架构师或者系统分析师。
3、基础算法和项目管理
发展到这个水平后,对软件技术和业务领域都比较熟悉。所谓穷则独善其身,达则兼济天下。很可能会带带新员工。这是练习领导力的一个机会,可以体会一下如何带人。为下一步带团队打下基础。可以把手上的一些事情安排给他们做。自己抽身出来研究更重要的事。比如研究基础算法、拓展新的领域等。
其实到这个阶段有两个选择,可以向项目管理进一步,做项目经理。也可以钻研基础领域,做领域专家。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一:从计算机操作系统开始学起。在学习软件开发技术之前,首先应该学习一下操作系统知识,操作系统知识包括操作系统体系结构、资源管理、任务调度等内容,在初步了解操作系统知识之后,能够对计算机执行各种计算任务有一个初步的认识,这对于后续的学习会起到重要的作用。
第二:选择学习一门全场景编程语言。对于初学者来说,在编程语言的选择上建议选择一门“全场景编程语言”,目前Java、Python和C#都是不错的选择,学习全场景编程语言的好处就是未来可以向各个领域发展。如果从就业的角度出发,当前学习Java是不错的选择,如果从发展前景的角度出发,Python是不错的选择。
第三:在学习编程语言的过程中补学相关知识。以学习Java为例,如果选择Web开发的学习方向,可以在一边学习Java的同时补学网络通信、数据库、算法设计和数据结构等方面的知识,这些知识对于程序员后续的发展都会有非常重要的帮助,一定要认真对待。另外,在当前的云计算时代,在软件部署的时候也会接触到云计算知识。
第二:选择学习一门全场景编程语言。对于初学者来说,在编程语言的选择上建议选择一门“全场景编程语言”,目前Java、Python和C#都是不错的选择,学习全场景编程语言的好处就是未来可以向各个领域发展。如果从就业的角度出发,当前学习Java是不错的选择,如果从发展前景的角度出发,Python是不错的选择。
第三:在学习编程语言的过程中补学相关知识。以学习Java为例,如果选择Web开发的学习方向,可以在一边学习Java的同时补学网络通信、数据库、算法设计和数据结构等方面的知识,这些知识对于程序员后续的发展都会有非常重要的帮助,一定要认真对待。另外,在当前的云计算时代,在软件部署的时候也会接触到云计算知识。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2022-05-24 · 学动漫、设计、电竞、电商、短视频、软件等
关注
展开全部
1、基础
这是每个开发者的起点。开发者刚刚学会了某种语言, 比如C语言,学习了基本的数据结构和算法,并通过一些练习对知识点进行巩固。这些练习主要以课后练习为主,是一些简单的基础概念的练习,比如打印输出、接收用户的输入、数组的遍历、排序,或者链表等。
接下来是做一些简单的项目,这些项目没有复杂的算法和高深的领域知识,比如数据的统计分析、产品的售后管理系统等。这些项目虽然简单,却是一个真实完整的项目。不仅练习了开发者对语言的应用能力,也体会了软件开发的全生命周期,即软件工程,从项目的需求分析,到设计开发,到软件发布和项目验收,最后到软件的维护。
通过简单的项目,掌握了对语言的驾驭能力,并熟悉了软件工程。随着能力的提升,慢慢地就会接触更复杂的项目,使自己能力得到进一步的巩固和提升。
能力的提升方面包括:对语言的应用得心应手,对软件的设计驾轻就熟。接触并熟悉更多的语言,如动态语言Pyhton、脚本语言Bash、新兴语言Golang、Swift等。通过语言间的对比,对语言的优势和缺点又比较清晰的了解,从而在项目中合理选择语言。
2、架构设计和系统分析
随着项目越做越多,会发现多数是在重复,到了一个瓶颈。这是可能要阅读大量的书籍,向软件架构和系统分析转型。在设计软件时,要多留意架构设计。软件架构可以通过演化得到。但是若能看得更远,提前做些设计,会事半功倍。
这个阶段,可能要花大量的时间在业务领域。因为软件技术已经暂时不需投入太多精力了,也有时间关注业务领域了。熟悉业务领域,能分析用户的需求和约束条件,写出信息系统需求规格说明书,制订项目开发计划等,能根据实际工作环境,评估和选用适宜的开发方法和工具;能按照标准规范编写系统分析、设计文档等。在实际项目中锻炼系统架构和系统分析能力。
愿意的话,可以考一个系统架构师或者系统分析师。
3、基础算法和项目管理
发展到这个水平后,对软件技术和业务领域都比较熟悉。所谓穷则独善其身,达则兼济天下。很可能会带带新员工。这是练习领导力的一个机会,可以体会一下如何带人。为下一步带团队打下基础。可以把手上的一些事情安排给他们做。自己抽身出来研究更重要的事。比如研究基础算法、拓展新的领域等。
其实到这个阶段有两个选择,可以向项目管理进一步,做项目经理。也可以钻研基础领域,做领域专家。
这是每个开发者的起点。开发者刚刚学会了某种语言, 比如C语言,学习了基本的数据结构和算法,并通过一些练习对知识点进行巩固。这些练习主要以课后练习为主,是一些简单的基础概念的练习,比如打印输出、接收用户的输入、数组的遍历、排序,或者链表等。
接下来是做一些简单的项目,这些项目没有复杂的算法和高深的领域知识,比如数据的统计分析、产品的售后管理系统等。这些项目虽然简单,却是一个真实完整的项目。不仅练习了开发者对语言的应用能力,也体会了软件开发的全生命周期,即软件工程,从项目的需求分析,到设计开发,到软件发布和项目验收,最后到软件的维护。
通过简单的项目,掌握了对语言的驾驭能力,并熟悉了软件工程。随着能力的提升,慢慢地就会接触更复杂的项目,使自己能力得到进一步的巩固和提升。
能力的提升方面包括:对语言的应用得心应手,对软件的设计驾轻就熟。接触并熟悉更多的语言,如动态语言Pyhton、脚本语言Bash、新兴语言Golang、Swift等。通过语言间的对比,对语言的优势和缺点又比较清晰的了解,从而在项目中合理选择语言。
2、架构设计和系统分析
随着项目越做越多,会发现多数是在重复,到了一个瓶颈。这是可能要阅读大量的书籍,向软件架构和系统分析转型。在设计软件时,要多留意架构设计。软件架构可以通过演化得到。但是若能看得更远,提前做些设计,会事半功倍。
这个阶段,可能要花大量的时间在业务领域。因为软件技术已经暂时不需投入太多精力了,也有时间关注业务领域了。熟悉业务领域,能分析用户的需求和约束条件,写出信息系统需求规格说明书,制订项目开发计划等,能根据实际工作环境,评估和选用适宜的开发方法和工具;能按照标准规范编写系统分析、设计文档等。在实际项目中锻炼系统架构和系统分析能力。
愿意的话,可以考一个系统架构师或者系统分析师。
3、基础算法和项目管理
发展到这个水平后,对软件技术和业务领域都比较熟悉。所谓穷则独善其身,达则兼济天下。很可能会带带新员工。这是练习领导力的一个机会,可以体会一下如何带人。为下一步带团队打下基础。可以把手上的一些事情安排给他们做。自己抽身出来研究更重要的事。比如研究基础算法、拓展新的领域等。
其实到这个阶段有两个选择,可以向项目管理进一步,做项目经理。也可以钻研基础领域,做领域专家。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询