2022软件工程认识实习报告_软件工程认知实习报告_1.docx
《2022软件工程认识实习报告_软件工程认知实习报告_1.docx》由会员分享,可在线阅读,更多相关《2022软件工程认识实习报告_软件工程认知实习报告_1.docx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022软件工程认识实习报告_软件工程认知实习报告 软件工程相识实习报告由我整理,希望给你工作、学习、生活带来便利,猜你可能喜爱“软件工程认知实习报告”。 2022年中国软件产业发呈现状概况 2022 年,我国软件业实现新的突破,产业增速稳步回升,业务结构调整加快,企业发展和区域布局出现新的特点,在国民经济中的地位不断提升。 2022 年,实现软件业务收入13364 亿元,产业规模比2001年扩大十几倍,年均增长38%,占电子信息产业的比重由2001 年的6%上升到18%。在全球软件与信息服务业中,所占份额由不足5%,上升到超过15%。软件业从业人数由2001 年不足30万人提高到超过200
2、万人。 2022 年,信息技术询问服务和信息技术增值服务收入分别为1233 和2178 亿元,同比增长37.2%和44.6%。软件产品收入4208 亿元,同比增长28.6%;嵌入式系统软件受通信类产品增长放缓影响,完成收入2242 亿元,同比增长15.1%。受集成电路行业复苏和软件外包市场增长带动,设计开发实现收入593 亿元,同比增长73.1%;系统集成和支持服务实现收入2910 亿元,同比增长31.8%。 2022年全国计算机软件著作权登记量突破了8万件。 软件产业发展聚集趋势从过去主要集中在京粤地区转向沿海地区。2022 年,江苏、辽宁、福建、山东四省软件收入增长超过35%,占全国比重合
3、计达35%,逐步打破过去京粤两地占全国一半以上的集中局面(两地占比下降为35.5%)。中心城市成为软件产业发展的主要聚集地,2022 年全国4 个直辖市和15 个副省级城市软件收入10643 亿元,占全国的比重为80%。在中西部地,成都、西安、重庆三个城市占西部地区的90%,武汉、长沙二个城市占中部地区30%以上。 软件产业面临的形势 从国际上看,全球软件产业格局充分洗牌,为后发国家实现追逐和跨越带来更大的机遇,软件技术和产业的格局正在孕育新一轮的重大调整,一方面跨国公司原有的技术垄断受到了挑战,对后发国家的技术锁定效应大大降低,所谓的技术锁定就是垄断,技术封锁效应。另一方面是云计算为代表的模
4、式的创新对产业发展的影响日益突出,在这种背景下,软件技术创新速度将明显加快,服务的新业态新模式将不断的涌现。 从国内看,推动两化深度融合和培育战略性新兴产业给软件产业带来巨大的发展空间,我国作为后发国家,拥有大国优势,有浩大的潜在的消费市场。商务部统计,我国的消费是每年15%的速度在增长,其中有很大一部分是电子消费,满意不同层次和年龄的须要,推动两化深度融合,培育发展战略性新兴产业为我国新一轮信息技术发展供应了广袤的创新和应用空间,从云计算、物联网新兴业态的发展状况来看,我国和美国有一段距离,但是国际上物联网是这两年刚刚有的新的概念,我们觉得和日本韩国相比处在同一个起跑线上。 软件产业发展趋势
5、分析 将来软件产业发展的趋势可以归纳为“五化”,分别是网络化、服务化、智能化、平台化、融合化。 网络化将成为信息技术发展的一个基本方向,互联网已经成为了软件开发部署和运行的一个平台,推动了整个产业的全面的转型,三代网、物联网和移动互联网云计算都是软件网络化趋势的详细体现。 服务化是网络转型的本质和特点,软件开发技术和应用模式正在向以用户为中心转变,云计算是软件服务化的模式,可以根据用户须要,动态的来供应计算、存储、应用等各类资源,具有可动态的伸缩性,运用成本比较低,可管理性好,节约能耗,平安便捷等优点,在服务化的大趋势下,向用户供应软件服务的体验,将来成为竞争的重要因素。 智能化是软件技术发展
6、的永恒的主题,软件能够从困难多样的海量的数据当中,自动高效的提取所须要的学问、信息进行加工处理,软件开发语言更加的高级化,开发工具也更加的集成化。 平台化是软件技术和产品发展的新引擎,操作系统、数据库、中间件和应用软件相互的渗透,向一体化的软件平台进行演化,平台化的趋势下,软件的竞争从单一产品的竞争发展为平台间的竞争,将来软件产业将围绕主流软件平台构造整个软件产业链。 融合化是软件技术和产业发展的新空间,软硬结合,软件与网络的结合,产品与业务的融合,软件产业与其他产业之间的相互渗透、相互融合不断深化,融合化趋势创建了巨大的市场需求。 什么是“软件工程”? IEEE计算机学会将“软件工程”定义为
7、:“(1)应用系统化的、学科化的、定量的方 法,来开发、运行和维护软件,即,将工程应用到软件。(2)对(1)中各种方法的探讨”。 (参见:IEEE Standard Gloary of Software Engineering Terminology。IEEE, Piscataway, NJ std 610.12-1990, 1990) 软件工程学问域 软件需求 Software Requirements 软件设计 Software Design 软件构造 Software Construction 软件测试 Software Testing 软件维护 Software Maintenance
8、 软件配置管理 Software Configuration Management 软件工程管理 Software Engineering Management 软件工程过程 Software Engineering Proce 软件工程工具和方法 Software Engineering Tools and Methods 软件质量 Software Quality 软件工程职业的乐趣 首先是一种创建事物的纯粹欢乐; 其次,欢乐来自于开发对其他人有用的东西; 第三是整个过程体现出魔术般的力气将相互啮合的零部件组装在一起,看到它们精妙地运行,得到预先所希望的结果; 第四是学习的乐趣,来自于这项
9、工作的非重复特性; 最终,乐趣还来自于工作在如此易于驾驭的介质上 软件工程职业的苦恼 首先,必需追求完备; 其次,是由他人来设定目标,供应资源,供应信息; 概念性设计是好玩的,但找寻琐碎的 bug 却只是一项重复性的活动; 最终一个苦恼,有时也是一种无奈当投入了大量辛苦的劳动,产品在即将完成或者最终完成的时候,却已显得陈旧过时; 软件工程职业发展路途 从程序员到软件设计师 软件技术发展到今日,分工越来越细。程序员作为一个通用称谓已经无法准确定义各种工作的性质和特点。因为软件开发中各种职责区分不清,无论是刚刚写代码的新手还是具有多年阅历的老手,一概被扣上程序员的通用名称,这也使得许多进入这个领域
10、的软件开发人员无法制订自己将来的职业发展之路。 事实上,软件公司也相识到了对程序员分类的重要性起先将各种职位定义得更加精确。对于从事软件开发的程序员来说,更须要尽快明确自己的发展方向,并在此方向上将专业学问积累得更深厚,这才能尽快摆脱对将来发展方向的迷茫。 从程序员的技术方向发展来看,软件设计师无疑是职业生涯的顶峰。拿破仑说过“不想当元帅的士兵不是好士兵”,借用这句话,不想当软件设计师的程序员也不是好程序员。不过首先要了解什么是软件设计师,如何才能成为软件设计师。明白这些,才有可能向软件设计师发展,创建更辉煌的程序人生。 软件设计师的定义 软件设计师包括软件系统设计师(System Desig
11、ner)和软件架构设计师(Architect)。 系统设计师应对“系统结构”所运用的软件技术特别了解,自身具备良好编程技巧,才能成为优秀的系统设计师。系统设计师的职责是把结构模型对应到实现模型上,从概念到实现期间规划和组合模型的优劣是确定软件系统设计师好坏的标准。 软件架构设计师是程序员技术方向的最终归属,也是成长链中最神圣的一环,架构设计师的贡献最大。架构设计师彻底摆脱了语言的束缚,知道软件发展趋势。他们会开发新一代产品或者制定新一代产品的方案。软件架构设计是面对将来的。全球大规模的软件公司并不多,很重要的一个缘由是软件产品的发展都滞后于市场需求,即有需求后再研发产品,而不是预见需求,预先设
12、计,因此往往软件设计局部是合理的,但从整体的角度看却不合理。要解决这些问题就要看的实力了。 软件设计的三个层次 软件设计可以分三个层次。 第一层属于标准层,像J2EE、.NET的框架设计; 其次种属于系统层的设计,比如Delphi这样的开发工具就是工具系统级的设计; 而应用最广泛的是第三层:应用软件设计。基于中国软件产业发展的现状,大部分设计都是这个层次上的基于应用的架构设计,本文非特别标明,提到的软件设计师泛指应用软件系统设计师,当然有些也是架构设计师的实力所在。 /*从软件开发历史看,软件设计经验了许多阶段。最早是结构化设计,只是把困难的问题逐层分解,通过流程图形式将任务标明,提到的软件设
13、计师泛指应用软件系统设逐级细化;后来出现面对对象设计,从底层进行对象封装、继承、多态,这时更多的是考虑代码重用,面对的主要是类和对象。接下来出现组件设计,这主要是面对应用方面。这三种都是面对功能的设计。 从EJB、COBRA技术出现之后,人们起先基于框架进行设计,也就是架构设计。接着发展,就是基于规则的设计了,比如基于模块和工作流的设计,这时主要将客户化做的更具体以及考虑开放性、可扩展性、牢靠性、效率方面的问题。 */ 软件设计师的工作 随着大型软件开发越来越多,整体把握软件架构变的越来越重要。尤其当用户需求并不明确的状况下,就要起先做软件,如何防止交付的软件产品与用户的要求距离很远,这就须要
14、软件系统设计师进行恰当的设计。 在应用软件开发中,软件设计师担当承上启下的角色也就是把用户的需求,基于应用的问题变成计算机系统中可以解决的问题。设计可以分为功能上的设计和技术体系上的设计,但在实际工作中,这两者很难区分清楚。 软件设计师的要求 做为应用软件开发中最顶层的角色,软件设计师须要各方面的实力更强,除了具备更强的编程技巧实力外,还须要了解系统结构、主流软件技术和软件趋势,同时要具备相当的专业学问。 多年编程阅历: 既包括在专业领域的阅历,也包括在软件工程领域的阅历。对于一个构架团队,这些素养要求可由各团队成员分别担当,但其中至少要有一名构架设计师能够把握项目的全局。和任何行业一样,阅历
15、是最重要的。软件设计不是纸上谈兵,一个软件设计师首先要是特别好的程序员。软件设计师在编程的时候,用的工具和一般程序员没有任何差别,但运用深度是肯定不一样的。 抽象实力: 一个程序员刚写程序的时候,无非就是为了解决某个功能而进行代码编写。随着程序编写越来越多,他对自己所做的应用方面的理解也越来越多。不同的企业有不同的需求,但把这些企业放在一起来看,就会发觉他们的一些共性。将这些共性提炼出来,这就是抽象的过程。抽象出来的共性形成的模型可以把这些企业的需求都包含进去,这是做通用软件必需要走的一步。 面对对象的思想: 面对对象是软件开发出现以来最宏大的创新之一,这是每个程序员都追求的,但是否真正驾驭了
16、面对对象的思想,这是须要探讨的,面对对象并不受开发工具和语言的限制。许多程序员在用C+写面对对象代码时,事实上还是在写C代码。甚至运用C这种完全面对对象的语言写出来的还是流程化的程序。面对对象可以应用的领域特别广泛。不仅在写代码的过程中要考虑到面对对象,在设计和分析阶段也要用到面对对象的方法。 舍得抛弃: 软件设计是一个渐进过程,是通过不断碰壁,不断调整提高的。要想取得突破,就须要舍得抛弃。 许多人舍不得扔掉自己的代码,往往是不断的修改,最终进入一个恶性的循环。当然,这种抛弃也是有继承的抛弃,不同时期产品的架构之间也有连续性,不是一个架构就会完全取代前面的架构,好的东西还是可以继承的,像微软的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 软件工程 认识 实习 报告 认知 _1
限制150内