• 软件=程序+数据+文档
是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。
– 程序=数据结构+算法
是按事先设计的功能和性能要求编写的指令序列;
– 数据=结构化数据+非结构化数据
是使程序能正常操纵信息的数据结构;
– 文档=文字材料+图表说明
是与程序开发、维护和使用有关的图文材料。
软件特点:
1)具有抽象性
2)无明显的制造过程
3)存在退化问题
4)对计算机系统有着不同程度的依赖性
5)尚未完全摆脱人工的开发方式
6)软件本身是复杂的
7)成本相当昂贵
8)相当多的软件工作涉及社会因素
软件的分类
软件工程概念:
IEEE对软件工程的定义为:
1)将系统化、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件
2)对1)中所述方法的研究
具体说来,软件工程是以借鉴传统工程的原则、方法,以提高质量,降低成本为目的指导计算机软件开发和维护的工程学科。它是一种层次化的技术。
软件工程层次图
软件工程研究的内容
软件工程研究的内容主要包括以下两个部分:
软件开发技术。主要研究软件开发方法、软件开发过程、软件开发工具和环境。
软件开发过程管理。主要研究软件工程经济学和软件管理学。
软件开发的含义:
建模是解决问题的一般途径
模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述,给出系统内各模型元素以及他们之间的语义关系。
软件模型:
软件工程框架:
软件工程的目标:
正确性,可用性,开销合宜。
软件工程的活动:
主要包括需求,设计,实现,确定和支持活动。
软件工程新视野:
软件工程就是解决如何正确、高质、高效地 写出软件
经典软件工程是在经典信息技术体系中,给 定底层硬件与运行环境,给定应用需求,指导(软件过程与管理)和辅助(开发工具与 环境)开发团队(10人以上)正确、高质、 高效(风险和成本控制)地写出软件
新一代信息技术底层环境复杂多变,应用需 求难以给定,99%的开发团队低于10人, 经典软件工程 更不够用
软件定义一切(software defined
everything)成为软件工程新思路
新一代信息技术
区块链:技术视角和商业视角
【金融】
区块链项目在金融领域的探索主要集中在支付、房地产金融、企业金融、保险、资产管理、票据金融等领域。在国 内,不仅是新兴区块链创业企业,如中国银联、招商、民生等银行和蚂蚁区块链、众安科技在内的科技巨头已经开 始布局并落地了相应的平台与项目。利用区块链的去中心化、不可篡改的特性对于金融各个环节的风险有了更好的 把控,从而降低了金融流程中的成本。
【娱乐】
区块链应用较为早期的2C类业务主要衍生在娱乐社交领域。在音乐创作中区块链可以帮助创作者规避抄袭的争议。 基于区块链做的虚拟偶像、游戏、直播等项目让虚拟财产交易和保护更加透明。游戏行业是非常火热的一个应用概 念,因为游戏账号和游戏装备是最常见的一种虚拟资产,最容易与区块链和虚拟货币相结合。
【物联网】
曾有机构预言供应链和物联网将是区块链迅猛发展的下一片沃土。这得益于区块链带来的交易共享性和不可篡改性, 这提高了供应链在物流、资金流、信息流等实体协作沟通效率,改善了多方协作时的争议。
【医疗】
针对医疗的数据安全和患者隐私保护,区块链的匿名和去中心化的特性得到了很好的应用。这让医联体之间进行远 程数据共享、分布式保障与存储管理更加安全。
【能源】
在能源领域最为广泛应用的是智能电网。针对每一度电用区块链可以从来源到使用建立完备的数字档案,为电站提 供数据支持和资产评估依据。区块链还可以释放分布式资源的多余电力,如回购民用屋顶太阳能产生的冗余资源。
【公益】
在公益事业中,应用最多的还是区块链的溯源能力,追溯善款的去向,让捐赠者安心。
【农业】
也是利用区块链的溯源能力,追溯农产品的来源,让食用者放心。
【法律】
区块链的分布式存证让在法律层面主要体现在版权保护、证据保全和电子智能合同三个方面。对于版权保护,区块 链让版权交易标准化成为可能;而对于电子证据来说,区块链实现了保真和验真。