学习高校课程-软件工程-软件的本质(ch1)

1.1

Software is:

(1) instructions (computer programs) that when executed provide desired features, function, and performance;
执行时提供所需特征、功能和性能的指令(计算机程序)

(2)data structures that enable the programs to adequately manipulate information
使程序能够充分操作信息的数据结构

(3) descriptive information in both hard copy and virtual forms that describes the operation and use of the programs
描述程序操作和使用的硬拷贝和虚拟形式的描述性信息。

description

failure curves hardware and software

Software Application Domains:

  • System software
    系统软件

  • Application software—stand-alone programs that solve a specific business need
    应用软件——解决特定业务需求的独立程序

  • Engineering/scientific software—a broad array of “number-crunching programs
    工程/科学软件——一系列广泛的“数字运算程序”,如matlab

  • Embedded software— resides within a product or system and is used to implement and control features and functions for the end user and for the system itself
    嵌入式软件——驻留在产品或系统中,用于为最终用户和系统本身实现和控制特性和功能。

  • Product-line software—designed to provide a specific capability for use by many different customers
    产品线软件——旨在提供特定功能供许多不同客户使用。

  • Web/Mobile applications-browser-based apps and software that resides on mobile devices
    Web/移动应用程序——基于浏览器的应用程序和驻留在移动设备上的软件。

  • Artificial intelligence software
    人工智能软件

legacy software

longevity,business criticality,poor quality
寿命长,业务关键性,质量差

As time passes, legacy systems often evolve for one or more of the following reasons:

  • The software must be adapted to meet the needs of new computing environments or technology.
    软件必须进行调整以满足新计算环境或技术的需求。

  • The software must be enhanced to implement new business requirements.
    必须增强软件才能满足新的业务需求

  • The software must be extended to make it interoperable with other more modern systems or databases.
    该软件必须进行扩展,以使其能够与其他更现代的系统或数据库互操作。

  • The software must be re-architected to make it viable within a evolving computing environment
    该软件必须重新架构,以使其在不断发展的计算环境中可行。

1.2

EXCERCISE:

Cloud Computing 云平台架构
云平台:云平台可以将物理资源虚拟化为虚拟机资源池,灵活调用软硬件资源,实现对用户的按需访问。而且在运行过程中根据用户并发量不同,实时迁移虚拟机资源,一方面保证提供高质量服务,另一方面最小化资源成本,提高CPU、内存等利用率。

IaaS层(资源层)→ 虚拟机(跨IaaS与PaaS)→ Paas层(平台层:资源监测;预警;优化决策) → SaaS层(软件,可视化界面)

description
  • IaaS 资源层或基础设施层 Infrastructure as a Service
    由服务器集群组成,有集群之后可在物理机上创建虚拟机来最大化资源利用率管理硬件
  • 虚拟层
    KVM、XEN等将硬件资源虚拟化
  • PaaS 中间件层或平台层 Platform as a Service
    该层是云平台的核心层,负责资源监测、预警、优化决策
    Nginx、k8s(Kubernetes,一种开放源码的容器集群管理系统,能够实现自动化部署、扩展容器集群、维护等功能)
  • SaaS 应用层或软件服务层 Software-as-a-Service
    给用户提供可视化界面
posted @ 2024-09-18 11:54  Mephostopheles  阅读(19)  评论(0编辑  收藏  举报