-- Computer software (Software)--软件是程序集合
Computer software (Software) is a set of programs, procedures, algorithms and its documentation.It performs thefunction of the program.It implements, either by directly providinginstructions to thecomputer hardware or by serving as input to another piece of software. So,Computer software (Software) is acollection of computerprograms and relateddata that provide the instructions for telling acomputerwhat to do and how to do it.
-- multiplatform--多系统平台,多理解为软件属性之一,指其支持多操作系统(Operating system)
If a software is developed for mulitpleoperating systems, it is considered to be "multiplatform."Since Microsoft Word runs on both the Windows and Macintosh platform, it is amutliplatform application.
-- Application software (an “application”or an “app”)--应用软件用于完成用户任务,系统软件和中间件则用于服务应用软件
Application software (an “application”or an “app”), is computersoftware designed to help the user to perform specific tasks. Apps maybebundled with the computer and its systemsoftware, or may be published separately. If the users are not satisfied withthe bundled apps, they need to install another one.
Distinguish:
Application software\\ systemsoftware \\ middleware VS. programming language
Systemsoftware andmiddleware manage and integrate a computer's capabilities, andprepare the environment for application software to perform tasks that benefitthe users.
e.g.
The system software serves theapplication, which in turn serves the user.
A shopping mall provides spaceand services for retailers, which in turn provide the merchandise a shopper isseeking.
Rail tracks support trains,allowing the trains to transport passengers.
An operatingsystem (OS, which runs a computer, such asMicrosoftWindows, Mac OS X, iOS, Linux, Android and Ubuntu) and a utilitysoftware (designed to help analyze, configure, optimize and maintain thecomputer) belong tosystem software
VS. a programming language (with which computerprograms are created)
Applicationsoftware types:
Ÿ enterprise software (provide services as business-oriented tools,such as such as online shopping and online payment processing, interactiveproduct catalogue, automated billing systems, security, content management, IT service management, customer relationship management, resource planning, businessintelligence, HR management, manufacturing,application integration, and forms automation.)
Ÿ accounting software (records and processesaccounting transactions within functional modules, suchasaccounts payable, accounts receivable, payroll, and trial balance),
Ÿ office suites (or office software suite or productivitysuite is a suite of applications or a collection of programs. The componentsare generally distributed together, have a consistent userinterface and usually can interact with each other. Such as Multiplatformoffice suites (is an office suite developed for multiple operating systems), Officesuites for Microsoft Windows, Office suites for DOS, Office suites for Mac OSX, Office suites for Unix/Unix-like operating systems),
Ÿ graphical user interface (GUI) is one inwhich you select command choices from various menus, buttons and icons using amouse. Operating systems (e.g. MicrosoftWindows, Mac OSand Ubuntu) usually bundle one or moregraphical user interfaces.
--Application programminginterface (API)—应用程序接口是某程序库(或应用程序或操作系统)供其调用时约定的一套特定代码(规则)。(应用程序接口是抽象定义的“接口”,提供了应用程序在不同的操作系统下或调用程序库时可使用的代码。)
例如,图形库中的一组API定义了绘制指针的方式,可于图形输出设备上显示指针。当应用程序需要指针功能时,可在引用、编译时连结到这组API,而运行时就会调用此API的实现(库)来显示指针。
An application programminginterface (API) is a particular set of rules ('code') and specificationsthatsoftware programs can follow to communicatewith each other. It serves as aninterface between different softwareprograms and facilitates their interaction, similar to the way theuserinterface facilitates interaction between humans and Computers.An API can be created for applications,libraries,operating systems, etc., as a way ofdefining their "vocabularies" and resources request conventions (e.g.function-calling conventions). It may includespecifications for routines, data structures, object classes, and protocols used to communicate between the consumer program and the implementer program ofthe API.
--Software framework—软件框架为了实现某个业界标准或完成特定基本任务的软件组件规范,框架的功能类似于基础设施,与具体的软件应用无关,但是提供并实现最为基础的软件架构和体系。软件开发者通常依据特定的框架实现更为复杂的商业应用和业务逻辑,这样的应用软件可以在支持同一种软件框架的系统平台中运行。
简而言之,框架就是制定一套规范或者规则(思想),大家(程序员)在该规范或者规则(思想)下工作。或者说就是使用别人搭好的舞台,你来表演。
A software framework is anabstract Standard to provide generic functionality.
--Operatingsystem (OS)—操作系统使电脑运行
An operatingsystem (OS), which runs a computer, such asMicrosoftWindows, Mac OS X, iOS, Linux, Android and Ubuntu.
-- Computing platform—系统平台是软硬件的结合,是必不可少的运行软件的地方
A computing platformincludes some sort of hardware architecture and a software framework (including application frameworks). The combinationallowssoftware to run. Typical platforms include a computer'sarchitecture,operating system,programming languages and related user interface (run-timesystem libraries or graphical user interface,即属于上文提到的Applicationsoftware). A platform might be simply defined as a place to launch software,and is a crucial element in software development.
==》Operating-systemexamples
Ÿ Linux
Ÿ Mac OS X
Ÿ OS/2
Ÿ Solaris
Ÿ Unix
Ÿ IBM VM/370, VM/BSEP, VM/SEP, VM/XA, VM/ESA, z/VM
==》Operating-system examples for mobile:
Ÿ Android
Ÿ Bada
Ÿ iOS
Ÿ Palm OS
Ÿ Symbian
Ÿ WebOS
==》Software framework examples:
Ÿ Java, JDK and JRE
Ÿ Mono
Ÿ Mozilla Prism XUL and XULRunner
Ÿ Steam
Ÿ Vexi
==》Softwareframework examples for mobile:
Ÿ APOXI
Ÿ Binary Runtime Environment forWireless (BREW)
Ÿ Java Platform, Micro Edition (Java ME)
Ÿ Qt
==》.NET : The umbrella-term .NET applies to a wide set of products andtechnologies from Microsoft. Most have in common a dependence on the Microsoft.NETFramework, and theCommon Language Infrastructure(CLI).
==》Java : The Java platform runs programs written in theJava language. Java source code is"compiled" to an intermediate-language bytecodewhich is then interpreted by an interpreter, theJava Virtual Machine (JVM), which theninterfaces that program with the Java software libraries. Insmartphones,personal digital assistants (PDAs) andother wireless mobile devices, these libraries are theJava ME.Some phones, even without a full operating system, enable Java programs such asgames to operate. Java and the bytecode are said to be platform-independent.But this is because Java is the platform as well as a programming language.Software really cannot operate without a platform or be platform independent.The programming language is referred to here, meaning the programmer need notbe concerned about the hardware or operating system platform, nor will thelanguage change with a different platform.
==》SAP NetWeaver: SAP NetWeaveris SAP'sintegrated technology computing platform and is the technical foundation formany SAP applications since theSAP Business Suite. SAP NetWeaver is marketedas aservice-oriented application and integration platform. SAPNetWeaver provides the development and runtime environment for SAP applicationsand can be used for custom development and integration with other applicationsand systems. SAP NetWeaver is built using primarily the ABAP programming language,but also usesC (programming language), C++, and Java EE.It also employs open standards and industry de facto standards and can beextended with, and interoperate with, technologies such asMicrosoft.NET,Java EE,and IBMWebSphere.
==》Hardware examples:
· Commodity computingplatforms
o Wintel, that is, Intel x86 or compatible hardwarewith Windows operating system
o ARM architectureused in mobile devices
§ Gumstixfull function miniature computers withLinux
o x86withUnix-like systems such asBSD variants
o CP/M computers based on theS-100 bus, maybe theearliestmicrocomputer platform
· Video game consoles,any variety
· Macintosh, customAppleComputer hardware andMac OS operating system, now migrated to x86
o Newtondevices running the Newton OS, also from Apple
· RISCprocessor based machines running Unix variants
o SPARC architecture computers runningSolaris operating systems
o DEC Alphacluster runningOpenVMS
· Midrange computers with their customoperating systems, such as IBMOS/400
· Mainframe computerswith their custom operating systems, such asIBM z/OS
· Supercomputer architectures
小结:
系统平台(ComputingPlatform)是软件(程序的集合)运行必不可少的软硬件条件的综合。由硬件结构(hardware architecture)和软件框架(Software framework,是应用软件是否可以在此系统平台下运行的依据。若此系统平台支持相应软件框架,则该应用软件可以运行。)组成。典型系统平台包括电脑硬件结构,操作系统(Operating system: Linux,Mac OS X,Microsoft Windows,OS/2,Solaris, Unix),编程语言(programming language)和相关用户界面(Related user interface)。