Pregunta urgente... Un amigo me preguntó qué es el software.
[Editar este párrafo] Explicación del nombre
1. Software [software] (denominado en China continental y Hong Kong, software en Taiwán) es una serie de datos e instrucciones informáticas organizados en una colección de pedidos específica.
2. El software no solo incluye programas informáticos que se pueden ejecutar en una computadora. Los documentos relacionados con estos programas informáticos generalmente se consideran parte del software. En pocas palabras, el software es una colección de programas y documentos.
3. Generalmente se refiere al sistema de gestión, ideología, conciencia ideológica y política, leyes y regulaciones, etc. en la estructura social.
[Editar este párrafo] Clasificación de tipos
En términos generales, el software se divide en software del sistema y software de aplicación, donde el software del sistema incluye sistemas operativos y software de soporte.
[Editar este párrafo]El verdadero significado de software
El resultado final de la programación es el software.
El software es la interfaz entre los usuarios y el hardware. Los usuarios se comunican principalmente con las computadoras a través de software. El software es una base importante para el diseño de sistemas informáticos. Para facilitar a los usuarios y hacer que el sistema informático tenga una alta utilidad general, al diseñar el sistema informático, se debe considerar globalmente la combinación de software y hardware, así como los requisitos del usuario y los requisitos de software.
Entidad software 1. Cuando se ejecuta, una colección de instrucciones o programas informáticos que pueden proporcionar las funciones y el rendimiento requeridos.
2. El programa puede manejar la estructura de datos de la información de manera satisfactoria.
3. Documentación requerida para describir los requisitos funcionales del programa y cómo se opera y utiliza el programa.
[Editar este párrafo] Software del sistema
El software del sistema proporciona las funciones más básicas para el uso de la computadora y se puede dividir en sistemas operativos y software de soporte, de los cuales el sistema operativo es el más software básico;
El software del sistema es responsable de administrar varios hardware independientes en el sistema informático para que puedan funcionar en armonía. El software del sistema permite a los usuarios de computadoras y otro software tratar la computadora como un todo sin tener que considerar cómo funciona el hardware subyacente.
1. El sistema operativo es un programa que administra los recursos de hardware y software de la computadora. También es el núcleo y la piedra angular del sistema informático. El sistema operativo es responsable de tareas básicas como administrar y configurar la memoria, priorizar la oferta y demanda de recursos del sistema, controlar los dispositivos de entrada y salida, operar redes y administrar los sistemas de archivos. El sistema operativo también proporciona una interfaz operativa para que los usuarios interactúen con el sistema. ★Los sistemas operativos se dividen en BIOS, BSD, DOS, Linux, Mac OS, OS/2, QNX, Unix, Windows, etc.
2. El software de soporte es software que soporta el desarrollo y mantenimiento de diversos software, también conocido como entorno de desarrollo de software (IDE). Incluye principalmente una base de datos ambiental, varios software de interfaz y conjuntos de herramientas. Los entornos de desarrollo de software famosos incluyen Web Sphere de IBM, Studio.NET de Microsoft, etc. ★Incluye una serie de herramientas básicas (como compilador, gestión de bases de datos, formateo de memoria, gestión de sistemas de archivos, autenticación de usuarios, gestión de controladores, conexión de red, etc.).
[Editar este párrafo]Software de aplicación
Sin embargo, el software del sistema no está dirigido a un campo de aplicación específico. Por el contrario, el software de aplicación proporciona diferentes funciones según los usuarios y los campos a los que atiende.
El software de aplicación es software desarrollado para un propósito específico. Puede ser un programa específico, como un navegador de imágenes. También puede ser una colección de programas que tienen funciones estrechamente relacionadas y pueden cooperar entre sí, como el software de Microsoft Office. También puede ser un enorme sistema de software compuesto por muchos programas independientes, como un sistema de gestión de bases de datos.
★El software de aplicación más común es:
Software de gestión industrial: como el software de gestión de la industria informática Kailong IT200, Shangsoft ERP, etc.
Software de procesamiento de textos : como Office, openoffice, WPS, Yongzhong office, etc.
Software de gestión de información: como base de datos Assces, base de datos mysql
Software de diseño asistido: como AutoCAD, Photoshop
p>Software de reproducción multimedia: como Baofeng Video, QQ Video, kmplayer, Hero Super Jieba, Windows Media Player, RealPlayer, etc.
Software de optimización del sistema: como Windows Optimization Master, Super Rabbit Magic Settings
Software de control en tiempo real:
Software de educación y entretenimiento:
Software de gráficos e imágenes: coreldraw, pintor, GIMP (bajo Linux), 3DS MAX, MAYA, softimage|xsi, lightwave, cinema 4d, Houdini, empresa ADOBE: Photoshop, Illustrator, Acrobat, Reader, Golive, Indesign, Creative Suite, Pagemaker, After Effects, Premiere, Font Folio, Adobe Framemaker, Flex, InCopy, Audition, SoundBooth, Captivate, Dreamweaver, Flash, Fireworks , LiveCycle Enterprise Suite (ES)
Software matemático: Mathematica, Maple, Matlab, MathCad
Software estadístico: SAS, SPSS p>
Software de post-síntesis: efectos posteriores, combustión, fusión digital, vibración, llama
Software antivirus: como Rising, Kingsoft Antivirus, Kaspersky, Norton, McPhee, nod32, Jiangmin, etc.
Software de colaboración en comunicación: software de correo electrónico, software de fax, software de trabajo en grupo, software de comunicación, software de control remoto
Software de eficiencia de gestión: software de gestión de información personal, software financiero, software OCR, software documental, software de gestión de proyectos.
Software móvil
Como sugiere el nombre, el llamado software móvil es un software que se puede instalar en un teléfono móvil para mejorar las deficiencias y la personalización del sistema original. Con el desarrollo de la tecnología, los teléfonos móviles tienen cada vez más funciones y se vuelven cada vez más potentes. No es tan simple y rígido como en el pasado. Ahora se ha desarrollado para ser comparable al software de los teléfonos móviles. Al descargar el software de los teléfonos móviles, también debe considerar el sistema instalado en el teléfono que compró. Para determinar el software correspondiente, los principales sistemas de telefonía móvil son los siguientes: Symbian, Linux, Research in Motion y Windows Mobile. Sin embargo, en 2007, Apple lanzó el iPhone con su propio software; la plataforma del sistema operativo móvil Android el próximo año. La entrada de dos nuevos sistemas operativos cambió los planes de algunos operadores de telefonía móvil, causó algunos problemas a los usuarios finales y trajo mayores desafíos a los desarrolladores de software de aplicaciones, lo que indica algunos cambios básicos en la industria de la telefonía móvil.
Software de teléfonos móviles de uso común: GPRS Helper, UCWEB, Mobile QQ, GGLIVE
[Editar este párrafo] Licencia de software
Los diferentes software generalmente tienen la correspondiente autorización de software , los usuarios de software deben aceptar la licencia del software utilizado antes de poder utilizarlo legalmente. Por otro lado, los términos de la licencia de software específico no pueden entrar en conflicto con la ley.
Según los diferentes métodos de concesión de licencias, el software se puede dividir a grandes rasgos en varias categorías:
Software exclusivo: este tipo de autorización normalmente no permite a los usuarios copiar, estudiar, modificar o distribuir el software a voluntad. Las violaciones de dichas autorizaciones a menudo dan lugar a graves responsabilidades legales. Este tipo de licencia lo utilizan las empresas de software empresarial tradicionales, como el software Windows y Office de Microsoft. El código fuente del software propietario suele estar estrechamente custodiado por las empresas como propiedad privada.
Software libre: Este tipo de licencia es lo opuesto al software propietario, otorgando a los usuarios el derecho de copiar, estudiar, modificar y distribuir el software, y proporcionando el código fuente para que los usuarios lo utilicen libremente, con solo algunos otras restricciones. Linux, Firefox y OpenOffice se pueden utilizar como representantes de este tipo de software.
Freeware: las versiones de prueba generalmente se pueden obtener y utilizar de forma gratuita, pero tienen una funcionalidad o un período de uso limitados. Los desarrolladores alentarán a los usuarios a pagar para obtener una versión comercial completamente funcional.
Software libre: Se puede obtener y distribuir de forma gratuita, pero no se proporciona el código fuente y no se puede modificar.
Software público: software cuyo autor original ha renunciado a sus derechos, los derechos de autor han expirado o el autor ya no está disponible. No hay restricciones de uso.
[Editar este párrafo]Desarrollo de software
El desarrollo de software es el proceso de construir un sistema de software o una parte de software del sistema de acuerdo con los requisitos del usuario. El desarrollo de software es una ingeniería de sistemas que incluye captura de requisitos, análisis de requisitos, diseño, implementación y pruebas. El software generalmente se implementa utilizando algún lenguaje de programación. El desarrollo generalmente se puede llevar a cabo utilizando herramientas de desarrollo de software. Software: Varios programas informáticos con determinadas funciones se denominan software.
Software del sistema operativo
El sistema operativo es un programa que gestiona los recursos de hardware y software del ordenador. También es el núcleo y la piedra angular del sistema informático. El sistema operativo es responsable de tareas básicas como administrar y configurar la memoria, priorizar la oferta y demanda de recursos del sistema, controlar los dispositivos de entrada y salida, operar redes y administrar los sistemas de archivos. El sistema operativo también proporciona una interfaz operativa para que los usuarios interactúen con el sistema.
BeOS
BSD
DOS
Linux
Mac OS
OS/ 2
QNX
Unix
Windows
[Editar este párrafo] Introducción a los principales lenguajes de desarrollo de software
1: Java
Como lenguaje multiplataforma, puede ejecutarse en Windows y Unix/Linux, y ha sido durante mucho tiempo la primera opción de los usuarios. Desde JDK6.0, el rendimiento general ha mejorado enormemente y la tasa de uso del mercado supera el 20%. Se siente como si hubiera alcanzado su punto máximo y no sé cuánto tiempo podrá durar.
Dos: C
Tres: C++
Como lenguajes tradicionales, los dos anteriores siempre han ejercido una gran influencia en el campo donde la eficiencia es lo primero. El núcleo de lenguajes como Java está escrito en C/C++. Es la primera opción en campos como alta concurrencia y procesamiento en tiempo real, control industrial, etc.
Cuatro: VB
El arma mágica de Microsoft es realmente fácil de usar.
Cinco: php
También es un lenguaje de scripting multiplataforma y se ha convertido en la primera opción de todos en la programación de sitios web. Los hosts que admiten PHP son muy económicos, PHP+Linux+MySQL+. Apache La combinación es simple y efectiva.
Seis: Perl
El pionero del lenguaje de scripting, sus excelentes capacidades de procesamiento de texto, especialmente expresiones regulares, se han convertido en la base de muchos lenguajes de desarrollo de sitios web (como php , java, C#) la base de este aspecto.
Siete: Python
Es un lenguaje de programación informática interpretado orientado a objetos y un potente y completo lenguaje de propósito general que lleva más de diez años desarrollado Historia, madurez y. estabilidad. Python tiene la biblioteca de clases más rica y potente entre los lenguajes de programación, que es suficiente para admitir la mayoría de las aplicaciones diarias.
Este lenguaje tiene una sintaxis muy simple y clara, es adecuado para completar diversas tareas de alto nivel y puede ejecutarse en casi todos los sistemas operativos.
Actualmente, las tecnologías relacionadas basadas en este lenguaje se están desarrollando rápidamente, el número de usuarios se está expandiendo rápidamente y existen muchos recursos relacionados.
Ocho: C#
Es un lenguaje de programación de alto nivel orientado a objetos que se ejecuta en .NET Framework lanzado por Microsoft y está previsto que se analice en Microsoft Professional Developer. Forum (PDC) debutó en el escenario. C# es el último logro del investigador de Microsoft Anders Hejlsberg. C# se parece sorprendentemente a Java; incluye características como herencia única, interfaz, casi la misma sintaxis que Java y compilación en código intermedio. El proceso de ejecución, pero C# es obviamente diferente de Java. Toma prestada una característica de Delphi y está directamente integrada con COM (Modelo de objetos componentes), y es el protagonista del marco de red Windows .NET de Microsoft
9. : Javascript
Javascript es un lenguaje de script desarrollado a partir de LiveScript de Netscape. Su objetivo principal es resolver el problema de velocidad que dejan los lenguajes de terminales de servidores, como Perl. En ese momento, el servidor necesitaba verificar los datos. Dado que la velocidad de la red era muy lenta, solo 28,8 kbps, el paso de verificación desperdició demasiado tiempo. Así que el navegador Navigator de Netscape añadió Javascript para proporcionar funciones básicas de verificación de datos
10: Ruby
Un método creado para una programación orientada a objetos sencilla y rápida (programación orientada a objetos) El lenguaje de scripting fue desarrollado por el japonés Yukihiro Matsumoto (まつもとゆきひろ, traducción al inglés: Yukihiro Matsumoto, apodado matz), y cumple con el acuerdo GPL y la licencia Ruby. El autor de Ruby cree que Ruby > (Smalltalk + Perl) / 2, lo que significa que Ruby es un lenguaje de programación con una sintaxis completamente orientada a objetos como Smalltalk, ejecución de scripts y tiene las poderosas funciones de procesamiento de textos de Perl. p>
Fuente de datos Rankings de julio de 2008.
Ranking de Programación de Software
Ingeniero de Software
Generalmente se refiere a personas que se dedican a la profesión de desarrollo de software. Los ingenieros de software llevan más de 10 años encabezando la lista de profesiones mejor remuneradas. Como representantes de la industria de alta tecnología, los ingenieros de software tienen un alto contenido técnico. La competencia por los puestos también es feroz. El desarrollo de software es un proceso sistemático que requiere análisis de la demanda del mercado, redacción de códigos de software, pruebas de software, mantenimiento de software y otros procedimientos. Los ingenieros de desarrollo de software desempeñan un papel muy importante en todo el proceso y se dedican principalmente a desarrollar el software del proyecto de acuerdo con los requisitos.
Protección legal de los programas informáticos
Como tipo de producto intelectual, los programas informáticos deben cumplir las siguientes condiciones para obtener protección legal:
(1) Originalidad. Es decir, el software debe ser una combinación de codificación diseñada y compilada de forma independiente por el desarrollador.
(2) Perceptibilidad. El software protegido debe fijarse en algún objeto tangible, expresarse a través de medios objetivos y darse a conocer a la gente.
(3) Reproducibilidad. Es decir, la posibilidad de reproducir el software en un objeto tangible.
Propiedad de los derechos de autor del software
De acuerdo con el artículo 10 del "Reglamento de protección de software", los derechos de autor del software pertenecen al desarrollador del software. Por lo tanto, el principio general para determinar la propiedad de los derechos de autor de una computadora es "quien desarrolla la computadora disfruta de los derechos de autor". Los desarrolladores de software se refieren a personas jurídicas o unidades no constituidas en sociedad que realmente organizan el trabajo de desarrollo, brindan condiciones de trabajo para completar el desarrollo de software y asumen la responsabilidad del software, así como a los ciudadanos que dependen de sus propias condiciones para completar el desarrollo del software y asumir la responsabilidad del software. .
Además de los principios generales antes mencionados, las leyes de nuestro país también estipulan varias circunstancias especiales de propiedad de los derechos de autor del software en los artículos 11 a 14 del "Reglamento de Protección de Software Informático":
(1) Desarrollo cooperativo.
El disfrute y ejercicio de los derechos de autor del software por parte de los codesarrolladores se basa en un acuerdo previo. Si no existe un acuerdo escrito, los derechos de autor serán disfrutados conjuntamente por todos los codesarrolladores. Si el software desarrollado conjuntamente puede dividirse y utilizarse, los desarrolladores pueden disfrutar de derechos de autor separados para las partes que desarrollaron respectivamente, pero el ejercicio de los derechos de autor no se extenderá a los derechos de autor de todo el software desarrollado conjuntamente.
(2) Desarrollo por encargo. Para el software desarrollado por encargo de otros, la propiedad de los derechos de autor se estipulará en un acuerdo escrito entre el depositante y el depositario. Si no existe un acuerdo escrito o no se acuerda expresamente en el acuerdo, los derechos de autor pertenecerán al depositario. .
(3) Desarrollo de la instrucción. Para el software desarrollado para completar tareas asignadas por unidades superiores o departamentos gubernamentales, la propiedad de los derechos de autor se estipula en la carta o contrato de asignación del proyecto, si no hay una estipulación clara en la carta o contrato de asignación del proyecto, los derechos de autor del software pertenecen a la unidad; que aceptó la tarea.
(4) Desarrollo laboral. Si el software desarrollado por un ciudadano mientras presta servicio en la unidad es el resultado del desempeño de su trabajo, es decir, se desarrolla para los objetivos de desarrollo que están claramente establecidos en el trabajo, o es un resultado previsible o natural de las actividades. de su trabajo, entonces el software es El copyright pertenece a esta unidad.
(5) Desarrollo no laboral. Si el software desarrollado por los ciudadanos no es el resultado de realizar su propio trabajo, no tiene conexión directa con el contenido del trabajo del desarrollador en la unidad y no utiliza el material y las condiciones técnicas de la unidad, los derechos de autor del software pertenecen al propio desarrollador.
[Editar este párrafo] Soporte de software
El soporte del software es un CD, VCD, DVD, disco U o disquete. El disco está grabado con láser en el VCD o DVD.
Proceso de desarrollo de software (proceso de desarrollo de software)
El proceso general de ideas y métodos de diseño de software, incluidos los algoritmos y métodos para diseñar funciones e implementación de software, el diseño de estructura general y los módulos. del software Diseño, programación y depuración, depuración y prueba conjuntas de programas, así como redacción y envío de programas.
1 Los analistas y usuarios de sistemas relevantes tienen una comprensión preliminar de los requisitos y luego usan WORD para enumerar los módulos funcionales grandes del sistema a desarrollar, qué módulos funcionales pequeños tiene cada módulo funcional grande y algunos Los requisitos son relativamente claros y relacionados al diseñar la interfaz, en este paso se pueden definir preliminarmente una pequeña cantidad de interfaces.
2 Los analistas de sistemas comprenderán y analizarán en profundidad los requisitos y utilizarán WORD o herramientas relacionadas para crear un documento de requisitos funcionales para el sistema documental en función de su propia experiencia y necesidades. Este documento describirá claramente los módulos funcionales grandes del sistema de ejemplo, qué módulos funcionales pequeños tienen los módulos funcionales grandes y también proporcionará ejemplos de interfaces relacionadas y funciones de interfaz.
3 Los analistas del sistema y los usuarios reconfirman los requisitos.
4 El analista de sistemas utiliza un método iterativo para realizar un diseño general del sistema para cada interfaz o función en función de la interfaz y los requisitos funcionales ejemplificados en el documento de requisitos confirmados.
5 El analista del sistema entrega el documento de diseño del esquema escrito al programador, y el programador lo escribe uno por uno de acuerdo con los ejemplos de funciones.
6 Pon a prueba el sistema escrito. Dáselo al usuario para que lo use. Una vez que el usuario lo usa, confirma cada función una por una y luego la acepta.
[Editar este párrafo] El impacto de la crisis financiera en la industria global del software
Desde 2008, la crisis financiera estadounidense ha arrasado el mundo, extendiéndose gradualmente desde la economía virtual a la economía virtual. economía real y tiene un impacto en la industria mundial del software. La industria ha traído impactos obvios, principalmente los siguientes: Primero, la demanda del mercado se ha debilitado significativamente. Encuestas realizadas por organizaciones de consultoría de mercado como IDC, iSuppli y Gartner muestran que la tasa de crecimiento del gasto global en TI en el cuarto trimestre de 2008 cayó entre 2 y 3 puntos porcentuales con respecto a la estimación original en más del 40% de las grandes empresas de Estados Unidos; Los estados han reducido su gasto en TI en 2009, incluido el gasto en TI en el sector financiero. Una caída de más del 30%. La demanda en el mercado japonés de subcontratación de TI cayó más de un 10%. Se suponía que el cuarto trimestre de 2008 sería el momento para que las empresas chinas de subcontratación de software renovaran contratos con clientes japoneses, pero las empresas informaron que hubo muy pocos pedidos de renovación.
En segundo lugar, el rendimiento de las grandes empresas ha disminuido en general. Los ingresos y beneficios del software de Oracle en el segundo trimestre fiscal (al 30 de noviembre de 2008) cayeron un 3% y un 1% respectivamente, y su rendimiento en el tercer trimestre alcanzará un mínimo histórico. Los beneficios de SAP cayeron un 9% y un 5% respectivamente en el segundo y tercer trimestre de 2008, y cayeron más de un 5% durante todo el año.
Los ingresos operativos de Cisco en el tercer trimestre de 2008 fueron el nivel más bajo en tres años y caerán un 10% en el cuarto trimestre. Aunque el desempeño de Microsoft en los primeros tres trimestres fue mejor, los analistas esperan que emita una advertencia de ingresos en el nuevo trimestre fiscal.
En tercer lugar, tiene un impacto significativo en algunos países orientados a la exportación. Los países que dependen de las exportaciones de subcontratación de software, como India e Irlanda, obtienen resultados particularmente buenos. Tomando a India como ejemplo, debido a que el 60% de su subcontratación de software proviene del mercado estadounidense y el 40% proviene del sector financiero, el impacto es muy obvio. Según la Asociación India de Software y Servicios de Información, la tasa de crecimiento de los ingresos de la industria de software y servicios de la India caerá más del 30% en 2008, y los márgenes de beneficio caerán entre 5 y 6 puntos porcentuales. Infosys espera que los ingresos para el año fiscal que finaliza el 31 de marzo de 2009 sean de 4.750 millones de dólares, un 5% menos que su objetivo esperado; la tasa de crecimiento de las ganancias de Tata en 2008 fue inferior al 5%, muy por debajo de la tasa de crecimiento del 30% de los últimos años. Promedio.