什么是软件工程(什么是软件生命周期)
什么是软件工程(什么是软件生命周期),本文通过数据整理汇集了什么是软件工程(什么是软件生命周期)相关信息,下面一起看看。
随着数字-智能技术的快速发展,软件似乎在“定义”世界,当然也“定义”制造。
「1. 定义之义」
数字比特的海洋似乎正在成为当今世界的主题。越来越多的人相信,软件定义世界,软件定义一切。但对于很多从事制造业的人们而言,当听到软件定义制造之类的话,总觉得类似表达是不是太极端了,有人甚至明确地表示不屑。从事机械、制造以及OT领域的一些专家学者对“软件定义”之类的话多有排斥,亦事出有因。但只要我们略为细察,软件的确已经渗透到制造的方方面面,且成为其核心能力。只要看看今日智能产品和装备中软件之作用,就能领略其言之真。图1是制造中所用到的部分软件。
图1 软件支撑智能制造(提供:黄培)
软件定义概念融入各个领域的同时正在不断“泛化”,软件定义正在向物理世界延伸。在“工业互联网”“工业4.0”和我国“制造强国战略”的发展蓝图中,软件定义将成为企业核心竞争力的战略需要。伴随着软件定义的泛化与延伸,软件将有望为物理实体定义新的功能、效能与边界。
在制造中,软件的作用越来越大。智能产品需要软件;产品设计中结构的创成需要软件(如衍生式设计);加工过程的控制、优化需要软件;管理调度优化需要软件;从采购到销售的整个供应链系统的优化需要软件……几乎在制造的所有方面都离不开软件。不妨把“软件定义”的理念引申到制造中,但“定义”主要不是表现在“需要”,不是局限于应用软件后提高效率。而是若没有软件,产品的某些功能可能根本不存在;过程的高性能、高质量无法达到;企业的目标不可能实现;某些市场也可能不存在……现在可以回答,数字比特的海洋(软件)能为制造下的定义:人力或传统自动化不能实现的功能、性能、高质量……
软件定义制造:
? 如果软件在制造系统的某些产品/过程中所发挥的作用是人力或传统自动化不可企及的,则言产品/过程是软件定义的;
? 如果软件在制造中的关键作用是人力或传统自动化不可企及的,则言软件定义制造。
软件定义制造,并非言所有的软件都能定义制造。能定义制造的软件主要是工业软件,而非一般的IT软件。工业软件绝不是一般互联网公司可以涉足的。仅就代码行数而言,Windows软件甚至不及某些复杂产品(如飞机)中用到的工业软件。可见,工业软件承载的是何等大尺度的工程量!工业软件还不能容忍哪怕一点瑕疵,比如发射火箭,若控制火箭动作的软件有某个细节不对,火箭立即失控。普通IT软件则不然,如Windows软件出错,重启系统不致有太大问题。工业软件中沉淀了大量工厂场景数据、知识以及很多人的经验、才智。这就表明,软件背后潜藏的人的经验、才智、数据、知识等定义了制造。另一方面,现在人工智能的发展已经在局部领域超越人的智能,在制造中融入了人工智能的某些软件(也需基于制造某个领域的知识)完全有可能在制造的特定方向超越人的能力,如感知、计算、推理能力等。这就是软件有可能“定义”制造的技术背景。综合而言,软件定义制造的内涵:
真正定义制造的是软件中所沉淀的人的经验、知识、才智以及由数据驱动的人工智能等。
企业中也不是所有的实体或过程都是软件定义的,之所以言软件定义制造,是希望通过软件创新实现人和传统自动化都难以企及的某些功能和性能。也就是说:
软件定义制造——反映了制造中的一种趋势,一种期盼,一种境界。
「2. 软件定义产品功能和性能」
软件定义产品的功能和性能,主要表现在两个方面:一是产品中由软件定义的产品功能和性能;二是仿真软件定义产品的功能和性能。
1)汽车与软件
汽车软件复杂性、广泛性、对环境的适应性上的需求越来越大,导致了汽车对软件工程的特定要求。
(1)多媒体、信息通信、人机界面(HMI):这类系统一般是软实时的,并能够通过事件离散或数据处理与车外的IT系统交换信息。
(2)人体/舒适软件:由控制程序主导的典型软实时、时间离散处理。
(3)安全电子系统的软件:硬实时的、基于事件离散的、严格的安全需求。
(4)动力传动系统和底盘控制软件:硬实时的、控制算法主导的离散的事件处理,严格的可用性。
(5)基础软件:软实时和硬实时,基于事件的软件,对车辆的整个IT系统进行管理,例如诊断软件或软件升级系统等。
时至今日,汽车的车载软件已经日渐增多。图2是戴姆勒-克莱斯勒的汽车车载软件示意图。
图2 汽车车载软件(转引自:赵敏)
随着智能互联、自动驾驶、电动汽车及共享出行的发展,软件、计算能力和先进传感器正逐渐取代发动机的统治地位。与此同时,这些电子系统的复杂性也在提高。数字化汽车价值链上的所有企业均在尝试从软件和电子技术带来的创新中获利(见图3)。软件公司和其他数字技术企业正从目前的二、三级供应商逐步成为整车企业的一级供应商。他们超越了功能和应用程序(APP)的范围,进一步涉足操作系统,加深在汽车“技术栈”中的参与度。同时,传统的汽车电子系统一级供应商正在大胆进入IT巨头所在的功能与应用程序领域。
图3 软件推动汽车行业关键创新
2)软件定义产品的功能
技术在发展,人们对汽车功能和性能的追求似乎没有止境,近些年来,汽车行业对自动驾驶乃至无人驾驶的探索即是如此。自动驾驶及无人驾驶给汽车增加了诸多新的功能,几乎所有的新功能都是靠软件“定义”的。尽管功能的执行需要硬件,但决策却是软件,正是在此意义上,软件定义了那些新功能。现在的汽车中一般都有ECU(电子控制器单元),被有些人称为“行车电脑”,其用途就是控制汽车的行驶状态以及实现其各种功能。主要是利用各种传感器、总线的数据采集与交换,来判断车辆状态以及司机的意图并通过执行器来操控汽车。ECU中又有很多软件系统,如发动机管理系统(EMS)、自动变速箱控制单元(TCU)、车身电子稳定控制系统(ESP)、车辆行驶动力学调整系统(VDC)、丰田的车辆稳定控制系统(VSC)、本田的车辆稳定性控制系统(VSA)、宝马的动态稳定控制系统(DSC)等。不难看到,这个时代的汽车电子创新多数属于软件创新。至于汽车中那些五花八门的新功能,如娱乐、语音控制、汽车与手机的交互、远程解锁、辅助驾驶、AR导航、自动泊车等,背后全是软件支撑。从汽车的部分功能可以看出,软件作用远不只是提高效率,要么产生新的功能,或者是行为逻辑判断的决策者。因此,言软件定义了汽车的新功能,则是言之有据了。
3)软件定义产品性能
汽车的很多性能也取决于软件。图4是发动机燃油喷射控制,ECU中软件设定两种注油模式:“分层注油”和“均匀注油”。一个发动机,两种油气混合模式,用车载软件很好地解决了低速和高速行驶的喷射供油问题。
图4 发动机燃油喷射控制
4)嵌入式系统和软件
很多智能产品中往往有嵌入式系统。嵌入式系统面向应用,以ICT技术为基础,强调硬件软件的协同性与整合性,软件与硬件可剪裁,以此满足系统对功能、成本、体积和功耗等要求。而嵌入式软件则是基于嵌入式系统设计的软件,它也是计算机软件的一种。应用软件是嵌入式系统中的上层软件,它定义了嵌入式设备的主要功能和用途,并负责与用户进行交互。应用软件是嵌入式系统功能的体现,如飞行控制软件、手机软件、MP3播放软件、电子地图软件等,一般面向于特定的应用领域。由于用户在使用过程中对时间和精度上的要求,有些嵌入式应用软件需要特定嵌入式操作系统的支持。
5)软件定义智能互联产品
数字-智能时代产品的重要特性之一是智能互联。原先单纯由机械和电子部件组成的产品,现在已进化为各种复杂的系统。硬件、传感器、数据储存装置、微处理器和软件,它们以多种多样的方式组成新产品。请注意,智能互联产品中真正的“智能”主要体现在其软件上。互联产品的基本组成是硬件加软件,软件包括内嵌的操作系统、搭载的软件应用、用户交互系统、或产品控制部件等。智能互联产品的上一层可能是“云”,其中的应用平台含有执行和开放应用程序的开放环境,用户可实现智能互联应用软件的快速开发。
「3. 软件定义加工生产」
加工生产当然是最具“制造”特征的过程,也就是把原材料转换成有用物品的基本物理或化学过程。智能工厂中,加工和生产的控制也是软件“定义”的。
1)软件定义加工
言加工,离不开工作母机(机床)。定义加工的软件自然多与机床相关。移动互联网、大数据、云计算、物联网等新一代信息技术日新月异、飞速发展,这些技术进步也为机床智能化、加工智能化提供了重大机遇。智能机床是利用自主感知获取机床、加工、工况、环境有关的信息,通过自主学习与建模生成知识,并能应用这些知识进行自主优化与决策,完成自主控制与执行,实现加工制造过程的优质、高效、安全、可靠和低耗的多目标优化运行。图5 是智能机床的示意图。
图5 智能机床示意图
2)工控软件定义工业过程控制
工控软件的出现是伴随计算机技术用于工业控制开始的,经历了用二进制编码、汇编语言、高级语言编程,进而发展到组态软件,以致今天的用AutoCAD直接采用标准的过程控制流程图和电气原理系统图的组态软件。尽管当前许多自动化系统的工控软件还是采用文本或专用图形的组态方式,但无疑采用AutoCAD的工控软件将成为工控软件的主流。工控软件的发展方向有如下特点:
(1)集顺控、模拟量调节、计算功能为一体;
(2)全面采用AutoCAD编程技术;
(3)工控软件与工厂信息化有机结合;
(4)工控软件的通用化。
3) 软件定义车间生产
离散制造业中车间生产呈现相当的复杂性,尤其是多品种中小批量的生产。图6是某开关厂智能工厂信息流图。可以看出,智能工厂/车间的信息数据交流非常复杂,工厂/车间的运行需要很多软件系统支撑,如智能MES系统、智能物流系统、智能生产监控中心、设备在线监测与控制系统、智能运营管理平台(包括ERP)、大数据分析平台、PLM等。没有这些软件的支撑,再多的人力投入,工厂/车间只能在低水平运行。
图6 某开关厂智能工厂/车间信息流图(来源:朱海平)
「4. 软件定义市场」
世纪之交,互联网浪潮滚滚,冲击着一些行业,冲击着市场。但互联网的效用,都需要靠软件去实现。
1)软件和互联网定义市场
在20世纪末,年轻人杰夫·贝佐斯(Jeff Bezos)用30万美元的启动资金,在西雅图郊区租来的车库中创建了全美第一家网络零售公司——Amazon(亚马逊)公司。从一开始,亚马逊就面临着许多挑战,其中最强大的就是来自传统巨人巴诺书店的竞争。即使不想与之争夺市场也不得不面对,因为巴诺书店绝不允许一个凭空产生的、“虚幻生存”的对手夺取了自己的市场。从另一个方面来说,这是一场传统与现代的争夺。在市场的争夺中,亚马逊的优势渐渐显出。首先,亚马逊是最便宜的书店之一,它天天都在打折,几乎是举世最大的折扣者,有高达30万种以上的书目可以进行购买折扣优惠。其次,在亚马逊网上购书,因为有强大的技术支持,一般3s之内就可得到回应,大大节省了顾客的时间。此外,相对于巴诺书店最多只能有25万种不同的书目,在网络上,亚马逊可以拿出250万种书目来。
贝佐斯的故事让我们看到互联网的神奇。但是,再深层次地观察,软件的力量甚为关键。
网站和数据库的建立要靠软件;网络界面的人性化、舒适的视觉效果靠软件实现;方便的选取服务也靠软件体现……
软件的这些作用,“定义”了在市场中被接受的程度。
2)软件定义定制市场
产品个性化定制已成为制造业发展的重大需求。
青岛红领(现酷特)实现完全的服装个性化定制。从产品个性化设计、生产、供应链……的全生命周期需要诸多软件支撑,如图7所示。仅就实现个性化产品的智能研发,需要通过建设服装版型数据库、服装工艺数据库、服装款式数据库、服装BOM数据库、服装管理数据库与自动匹配规则库。产品的裁剪裁片、产品工艺指导书、产品BOM都由系统智能生成,从而减少人工错误,提高产品设计研发速度。相应的各种管理,如研发、工艺、质量、工作流、项目任务……均是软件。
图7 红领产品全生命周期管理系统架构
3)App定义市场
只要看看手机市场,就能明白App的作用。安装在智能手机上的App软件,能够完善原始系统的不足与个性化。使手机功能更丰富,为用户提供更好的使用体验。现在世界主要的手机操作系统有:苹果公司的iOS,谷歌公司的Android(安卓)系统。他们都有各自的App生态。
4)软件定义用户体验
用户体验概念的内涵之一是“以用户为中心”,以用户为中心的设计(UCD)是在设计过程中以用户体验为设计决策中心,强调用户优先的设计模式。用户体验的宗旨是满足用户需求并方便用户使用,因此对用户的研究和用户需求的分析成为设计流程中的重要部分。
情感化界面设计很重要。理解用户的情绪和情感,对于创造和再现用户体验是必要的。情感呵护体验层面是指在用户使用完软件界面后,对使用经历产生的美好回忆、满意度、品牌印象、价值认同感等情感因素。情感化界面设计的终极追求和目标是“使人愉悦”,这是设计情感化的思想价值所在。
软件界面也是通过视觉元素组合,如文字、造型、色彩、材质等,来向用户传递设计理念和情感。如果设计中能融入用户所渴望的情感,就能从视觉情感方面吸引用户,这个设计也就有了生命。美好的界面设计体现的是软件工作者的心境高度,唤醒的是人们从内到外的美好感觉,是软件工作者与用户之间超时空心灵契合与心灵对话。
「5. 软件定义企业能力」
实施智能制造的企业都会关注企业转型,有的企业的转型涉及到经营模式、理念、产品战略等。几乎所有企业都要面临的转型则是能力转型。企业若不能赋予自身新的能力,则很难应对瞬息万变的市场竞争。
如何让软件定义企业能力?这里仅粗线条地介绍企业软件战略的若干思考原则。
(1)围绕企业目标,即目标使能;
(2)明确范畴;
(3)明晰软件工作内容;
(4)数据驱动;
(5)互联集成;
(6)利用合适的工具,即工具使能;
(7)虚实融合;
(8)整体联系。
来源:智造苑
更多什么是软件工程(什么是软件生命周期)相关信息请关注本站。