Red de Respuestas Legales - Conocimientos legales - Características del software

Características del software

Funciones del software:

1 es un producto lógico, que es muy diferente del producto material.

La producción de productos de software es principalmente investigación y desarrollo, y los costos de producción son principalmente investigación y desarrollo. Una vez finalizada la I+D, se produce una gran cantidad de productos de software mediante copia.

3 Los productos de software no se desgastan, no hay desgaste.

La producción es principalmente un trabajo mental y no se ha prescindido por completo del desarrollo manual. La mayoría de los productos son "personalizados".

El coste de desarrollar software es cada vez mayor, lo que encarece bastante la producción.

Según la función del software -

Software del sistema: software que puede trabajar en estrecha colaboración con el hardware de la computadora para hacer que todas las partes del sistema informático, el software relacionado y los datos funcionen de manera armoniosa y eficiente. . Como sistemas operativos, sistemas de gestión de bases de datos, controladores de dispositivos y programas de procesamiento de comunicaciones. El software del sistema es una parte indispensable del sistema informático.

Software de aplicación: Es un tipo de software desarrollado en un campo específico y que sirve a un propósito específico. Por ejemplo, fabricación asistida por ordenador CAD-CAM-enseñanza asistida por ordenador CAI, sistemas expertos, reconocimiento de patrones y sistemas de frenado.

Software de soporte: Es software de herramientas que ayuda a los usuarios a desarrollar software, incluidas herramientas que ayudan a los programadores a desarrollar productos de software y herramientas que ayudan a los gerentes a controlar el proceso de desarrollo.

Proporcionalmente:

1. Sólo una persona puede completar el microsoftware en unos días, incluso si trabaja a tiempo parcial. El programa escrito tiene menos de 500 líneas.

2. Pequeño: un programa de menos de 2000 líneas completado por una persona en medio año. Por ejemplo, los problemas de cálculo numérico o los problemas de procesamiento de datos son temas de esta escala. Este programa normalmente no tiene interfaces con otros programas.

Por ejemplo, Qiu Bojun desarrolló el WPS original y Bill Gates completó BASIC solo.

3. Mediano: menos de 5 personas pueden completar entre 5.000 y 50.000 líneas de programas en más de un año. Este tipo de tema comienza a surgir sobre la conexión, coordinación y cooperación entre el personal del software y entre el personal del software y los usuarios.

4. Grande: de 5 a 10 personas completaron el proceso de 50.000 a 65.438 millones de líneas en más de dos años. Como compiladores, pequeños sistemas de tiempo compartido, paquetes de aplicaciones, sistemas de control en tiempo real, etc. Probablemente sea todo software como este.

5. Muy grande: de 100 a 1.000 personas.

6. Extremadamente grande: participan entre 2000 y 5000 personas. Por ejemplo, el proyecto Windows 2000 de Microsoft incluye casi 3000 ingenieros, que se dividen en cientos de equipos pequeños.

Por desarrollo: productos de software y proyectos de software

Productos de software: se refieren a sistemas de software que no se limitan a campos específicos y pueden ser utilizados directamente por los usuarios. Por ejemplo, Microsoft Windows, Office, etc. Este tipo de sistema se caracteriza por un alto contenido técnico y necesita satisfacer diversas necesidades de los usuarios durante el desarrollo;

Los proyectos de software, también llamados software personalizado, son encargados por un cliente específico (o un pequeño número de clientes) y son desarrollados por uno o más contratados por una agencia de desarrollo de software, como un sistema de información de gestión (MIS), un sistema de comercio electrónico, etc. La característica de este tipo de software es que el conocimiento del dominio es relativamente grande y el aspecto de ingeniería es mayor que el aspecto técnico. Por ejemplo, el sistema de comando de defensa aérea militar y el sistema de control de satélites son todos estos programas.

Para estos dos tipos diferentes de software, deben existir diferentes métodos de desarrollo de software para guiar el proceso de desarrollo del proyecto.

En la actualidad, el modelo de madurez de capacidad del modelo de software (CMM) es un método de desarrollo de proyectos de software maduro. Este modelo de desarrollo de software intenta estandarizar y cuantificar todo el proceso de desarrollo de software hasta que pueda controlarse y optimizarse cuantitativamente.

El desarrollo de productos de software, al igual que Microsoft, ha acumulado mucha experiencia exitosa.

El desarrollo de la producción de software:

1 Era de la programación: el método de producción en esta etapa es el trabajo individual y las herramientas de producción son el lenguaje de máquina y el lenguaje ensamblador. (1946-1956)

2 Era del sistema de programas: el método de producción en esta etapa es la producción cooperativa en grupos pequeños, la herramienta de producción es el lenguaje de alto nivel y el método de desarrollo todavía depende de las habilidades personales, pero estructurado. Se proponen métodos.

(1956-1968)

3 Era de la ingeniería de software: el método de producción en esta etapa es la producción de ingeniería, utilizando bases de datos, herramientas de desarrollo, entornos de desarrollo, redes y tecnología distribuida orientada a objetos para desarrollar software. (1968 al presente)

Crisis del software: el progreso de la tecnología de desarrollo de software no puede cumplir con los requisitos del desarrollo. Los problemas encontrados en el desarrollo de software no se pueden resolver, los problemas se acumulan y los conflictos se agudizan, lo que lleva a crisis de software.

Manifestaciones de la crisis del software:

A menudo se excede el presupuesto de 1 y el tiempo de finalización se retrasa una y otra vez.

El software desarrollado no puede cumplir con los requisitos del usuario.

3 El software desarrollado tiene poca mantenibilidad.

4 El software desarrollado tiene poca confiabilidad.

Causas de la crisis del software:

1. La escala del software es cada vez mayor y la estructura se vuelve cada vez más compleja.

2 La gestión del desarrollo de software es difícil y compleja.

3 El coste del desarrollo de software está aumentando.

4 La tecnología de desarrollo de software está atrasada.

5 El método de producción está atrasado y todavía se utilizan métodos manuales.

6. Las herramientas de desarrollo están atrasadas y la mejora de la productividad es lenta.

Ingeniería de Software: Disciplina que utiliza conocimientos científicos y principios técnicos para definir, desarrollar y mantener software.

Utilice una perspectiva de las ciencias de la ingeniería para estimar costos, avanzar y formular planes y programas.

Utilizar métodos y principios de las ciencias de la gestión para gestionar la producción.

Utilizar métodos matemáticos para establecer diversos modelos y algoritmos en el desarrollo de software.

Luego, para lograr objetivos de software de alta calidad y alto rendimiento, se han realizado muchos esfuerzos desde la tecnología hasta la gestión, formando así gradualmente la nueva disciplina de la "ingeniería de software".

Contiene los siguientes contenidos principales:

1. Métodos de desarrollo de software: Los métodos de ingeniería de software proporcionan el "cómo hacer" técnico la construcción de software. El enfoque cubre una variedad de tareas: análisis de requisitos, diseño, programación, pruebas y mantenimiento.

No fue hasta finales de la década de 1960 que se formó gradualmente un método de desarrollo de software. Existen diferentes métodos en diferentes etapas de desarrollo de software, como el método de "análisis y diseño estructural" en la etapa de diseño de software. Método de "análisis y diseño estructural" en la etapa de prueba de software, técnicas de prueba de "caja negra" y "caja blanca" y más.

Actualmente existe una tecnología más nueva, el "método de programación orientada a objetos". En este enfoque, los datos y las operaciones de datos están encerrados en una unidad llamada "objeto" y los objetos están relacionados entre sí a través de "mensajes".

Por lo tanto, el sistema descrito por el software es muy similar en estructura al sistema en el mundo objetivo, lo que no solo mejora la modificabilidad y mantenibilidad del software, sino que también mejora la reutilización del software, por lo que estos son Este es el objetivo que el proyecto persigue desde hace muchos años. De la programación estructurada a la programación orientada a objetos es otro salto en los métodos de programación.

2. Herramientas de software: Las denominadas herramientas generalmente se refieren al desarrollo de todo software que contribuye al desarrollo de software. Para mejorar la calidad del diseño del software y la eficiencia de la producción, se han desarrollado muchos programas para ayudar a desarrollar y mantener el software. Por ejemplo, si queremos desarrollar una aplicación de software en un determinado lenguaje, implicará "programas de edición, compiladores, enlazadores, etc." Además, utilizaremos "generadores de datos de prueba, depuradores, programas de seguimiento, etc." la fase de prueba de software. Herramientas de análisis estático y herramientas de monitoreo de cobertura”. En otras palabras, se deben utilizar diferentes herramientas de desarrollo de software en diferentes momentos. Actualmente, las herramientas de software se están desarrollando rápidamente y se están estableciendo muchas herramientas de análisis y diseño de software con el objetivo de automatizar la producción de software.

3. Entorno de ingeniería de software: los métodos y herramientas de software son los dos pilares del desarrollo de software y los dos están estrechamente relacionados. Los métodos de software proponen pasos de trabajo claros y formatos de documentos estándar, que son la base para el diseño de herramientas de software. La implementación de herramientas de software promoverá la promoción y el desarrollo de métodos de software.

La palabra "medio ambiente" significa cosas diferentes para diferentes usuarios. Para los usuarios finales, el entorno es el sistema informático que utilizan para ejecutar sus programas. Los requisitos medioambientales de este tipo de usuarios son principalmente un funcionamiento fiable, un funcionamiento cómodo y facilidad de aprendizaje y uso. Para los desarrolladores de software, es diferente. Se puede decir que el entorno es el escenario para sus actividades de desarrollo de software.

(Por ejemplo, Algo-60 o DbaseII, DbaseIII, por ejemplo, la interfaz solo puede usar menús para completar varias funciones).

El entorno para producir software de gestión de bases de datos ahora incluye: Sybase, un software de gran escala. software de base de datos que puede ayudar al software PB para la programación)

4. Gestión de ingeniería de software: como todos sabemos, para una empresa, si solo cuenta con equipos y tecnología avanzados sin una gestión perfecta, es imposible obtener el software. beneficios económicos que merece (por ejemplo, la cultura de Haier es un símbolo de la gestión corporativa), (como una frase del propósito de la cultura corporativa de Microsoft).

Lo mismo ocurre con la producción de software. Si la gestión no es buena, es imposible completar las tareas a tiempo y con alta calidad.

“La gestión de la ingeniería de software es la actividad de gestionar cada etapa del ciclo de vida de la ingeniería de software. El propósito de la gestión de la ingeniería de software es completar con éxito las tareas de desarrollo y mantenimiento de software dentro del tiempo y costo esperados.

Los contenidos de la gestión de ingeniería de software incluyen gestión de costos de software, organización del personal, gestión de planes de proyectos, gestión de configuración de software, etc.

Obviamente, la gestión de ingeniería de software también se puede lograr a través de computadoras para ayudar a los gerentes. estimar costos, especificar cronogramas y generar informes, un entorno de ingeniería de software ideal debe tener herramientas para respaldar el desarrollo y la gestión.

Lo anterior presenta brevemente los componentes principales de la ingeniería de software-metodología de ingeniería de software, entorno de ingeniería de software. Y el contenido básico y el papel de la gestión de la ingeniería de software no solo incluyen los resultados de la investigación de los informáticos, sino que también resumen la experiencia temporal de los trabajadores de software. También se debe señalar que la tecnología de desarrollo de software se puede dividir en dos ramas: métodos formales y métodos informales. El primero se centra en el rigor y los cambios formales del programa, con el objetivo de automatizar el diseño del programa, y ​​es utilizado principalmente por el personal de aplicaciones informáticas.

Objetivos de ingeniería de software: pagar menores costos de desarrollo; requisitos funcionales; obtener un mejor rendimiento; el software desarrollado es fácil de trasplantar; solo requiere bajos costos de mantenimiento; las tareas de desarrollo pueden completarse a tiempo y entregarse a tiempo;

Ingeniería de software. Contenido: El contenido de la investigación incluye dos aspectos: tecnología de desarrollo y gestión del desarrollo.

Investigaciones principales sobre tecnología de desarrollo: métodos de desarrollo de software, procesos de desarrollo, herramientas de desarrollo y entorno

Investigaciones principales sobre desarrollo. gestión: gestión del software, economía del software, psicología del software

Problemas a resolver por la ingeniería del software: coste del software, fiabilidad, mantenibilidad, productividad del software y reutilización del software.