Conceptos Basicos de La Ingenieria de Software

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

CONCEPTOS BASICOS DE LA

INGENIERIA DE SOFTWARE
Velasco Garcia Jose Manuel

04 DE SEPTIEMBRE DE 2023
FUNDAMENTOS ING. SOFTWARE
5 semestre
Software.

El software es un conjunto de programas, instrucciones y datos que permiten que


una computadora o dispositivo electrónico realice tareas específicas. Es la parte
intangible de una computadora que le permite funcionar y realizar diversas
funciones. El software se divide generalmente en dos categorías principales.

• Software de sistema: este tipo de software se encarga de controlar y


gestionar los recursos de hardware de una computadora. Incluye el sistema
operativo, los controladores de dispositivos y otros componentes para que
la computadora funcione correctamente.
• Software de aplicación: este tipo de software esta diseñado para realizar
tareas especificas o proporcionar funciones útiles para los usuarios. Los
programas de procesamiento de texto, hojas de cálculo, navegadores web,
videojuegos son ejemplos de software de aplicación.

Ingeniería.

La ingeniería es una disciplina que combina ciencia, matemáticas, creatividad y


tecnología para resolver problemas y crear soluciones practicas que mejoren la vida
de las personas y la sociedad en general. Los ingenieros desempeñan un papel
fundamental en la innovación y el progreso tecnológico en una amplia gama de
campos.

Ciclo de vida del software.

Se refiere a la serie de fases o etapas a través de las cuales pasa un proyecto de


desarrollo de software, desde su concepción inicial hasta su entrega y
mantenimiento. El ciclo de vida del software es una guía estructurada que ayuda a
los equipos de desarrollo a planificar, diseñar, construir, probar y mantener software
de manera efectiva y eficiente.
Fases del ciclo de vida del software.
Requisitos: En esta fase, de definen y documentan los requisitos del software. Esto
implica comprender las necesidades del cliente, los objetivos del proyecto y las
funcionalidades que debe tener el software.

Diseño: En esta etapa, se crea una arquitectura y diseño detallado del software en
función de los requisitos definidos previamente. Esto incluye la planificación de la
estructura del sistema, la interfaz de usuario, las bases de datos y otros aspectos
técnicos.

Implementación: En esta fase, los programadores escriben el código fuente del


software siguiendo el diseño elaborado. Se aseguran de que el código sea eficiente,
cumpla con los estándares de programación y esté libre de errores.

Pruebas: Una vez que se ha codificado el software, se somete a pruebas


exhaustivas para identificar y corregir errores y defectos. Esto incluye pruebas
funcionales, de rendimiento, de seguridad y otros tipos de pruebas.

Mantenimiento: El software se mantiene y se actualiza regularmente para corregir


errores, agregar nuevas características o realizar mejoras. Esta fase puede durar
mucho tiempo, ya que el software se usa en producción.

Es importante señalar que existen diferentes modelos de ciclo de vida del software,
como el modelo en cascada, el modelo en espiral, el modelo ágil y otros, que pueden
variar en la forma en que se organizan estas fases y cómo se gestionan los
proyectos de desarrollo de software. La elección del modelo adecuado depende de
las necesidades del proyecto y de la metodología preferida por el equipo de
desarrollo. El objetivo principal del ciclo de vida del software es garantizar que el
producto final sea de alta calidad, cumpla con los requisitos y sea entregado de
manera efectiva.

Metodologías de desarrollo: Son enfoques sistemáticos y estructurados que se


utilizan en la industria del desarrollo de software y otros campos relacionados para
planificar, gestionar y ejecutar proyectos de desarrollo de manera eficiente y
efectiva. Estas metodologías establecen un conjunto de procesos, reglas,
directrices y mejores practicas que ayudan a los equipos de desarrollo a llevar a
cabo sus proyectos de manera organizada y coherente.

Algunas metodologías de desarrollo.

Modelo cascada, desarrollo ágil, modelo espiral, desarrollo en V, DevOps, enfoques


en espiral, lean software developmet, desarrollo impulsado por el comportamiento,
desarrollo en esfuerzos conjuntos, desarrollo de prototipos.

La elección de una metodología de desarrollo depende de las necesidades del


proyecto, la cultura de la organización y otros factores.

Calidad de software.

La calidad del software se refiere a la medida en que un producto de software


cumple con los estándares, requisitos y expectativas establecidos. Se trata de
evaluar qué tan bien el software satisface las necesidades y objetivos para los
cuales fue diseñado, así como su capacidad para funcionar de manera eficiente,
confiable, segura y mantenible.

La calidad de software se evalua a través de varios atributos y características.

Funcionalidad: Se refiere a la capacidad del software para realizar las tareas y


funciones requeridas sin errores ni fallas. La funcionalidad también implica la
capacidad de cumplir con los requisitos del usuario y proporcionar las características
esperadas.

Fiabilidad: La fiabilidad se relaciona con la capacidad del software para funcionar


de manera consistente y predecible en diferentes situaciones y entornos. Un
software confiable debe ser resistente a fallos y errores, y debe recuperarse de
manera adecuada en caso de problemas.

Eficiencia: La eficiencia se refiere a la capacidad del software para utilizar los


recursos del sistema (como memoria y CPU) de manera eficiente y sin desperdicio.
Un software eficiente debe realizar sus funciones de manera rápida y con un uso
mínimo de recursos.
Usabilidad: La usabilidad se centra en la facilidad de uso del software. Un software
con buena usabilidad es intuitivo, fácil de aprender y agradable de usar. Los
usuarios deben poder interactuar con el software de manera efectiva y sin
dificultades innecesarias.

Mantenibilidad: La mantenibilidad se refiere a la facilidad con la que el software


puede ser modificado, actualizado y reparado. Un software fácil de mantener es
importante para asegurar que pueda adaptarse a cambios en los requisitos o
corregir problemas a lo largo del tiempo.

Portabilidad: La portabilidad se refiere a la capacidad del software para funcionar en


diferentes plataformas y entornos sin modificaciones significativas. Un software
portátil es versátil y puede ser utilizado en una variedad de sistemas y
configuraciones.

Seguridad: La seguridad se refiere a la capacidad del software para proteger los


datos y sistemas contra amenazas y ataques externos o internos. Un software
seguro es esencial para proteger la información confidencial y garantizar la
integridad del sistema.

Cumplimiento normativo: En algunos casos, la calidad del software también implica


cumplir con estándares y regulaciones específicas, como normas de seguridad de
la industria o requisitos legales.

Para asegurar la calidad del software, se utilizan diversas técnicas y procesos de


aseguramiento de la calidad, como pruebas de software, revisión de código,
estándares de desarrollo, metodologías de desarrollo, automatización de pruebas y
prácticas de gestión de proyectos. El objetivo final es garantizar que el software
cumpla con las expectativas de los usuarios y sea confiable, seguro y eficiente.

Documentación de software.

La documentación en el desarrollo de software es un componente fundamental que


abarca la creación y mantenimiento de registros escritos y otros recursos que
describen el diseño, la implementación, el funcionamiento y el mantenimiento del
software. La documentación es esencial para facilitar la comprensión, el uso y la
colaboración en torno al software, así como para garantizar su calidad y su gestión
adecuada a lo largo del tiempo. Aquí hay varios tipos de documentación de software
importantes:

Documentación de Requisitos: Describe las necesidades y expectativas del usuario


final. Puede incluir documentos como el documento de especificación de requisitos
del software (SRS, por sus siglas en inglés) que detalla lo que se espera que haga
el software.

Documentación de Diseño: Describe cómo se va a implementar el software. Esto


puede incluir diagramas de arquitectura, diagramas de flujo, diagramas de clases y
otros artefactos que muestran la estructura y la lógica del software.

Documentación de Código: Comentarios en el código fuente que explican la


funcionalidad, la lógica y el propósito de diferentes partes del código. Estos
comentarios ayudan a los desarrolladores a entender y mantener el código.

Documentación de Pruebas: Registros de las pruebas realizadas en el software,


incluyendo casos de prueba, resultados de pruebas, problemas encontrados y su
resolución. Esto es fundamental para garantizar la calidad del software.

Documentación de Usuario: Manuales o guías dirigidas a los usuarios finales para


que puedan utilizar el software de manera efectiva. Esto puede incluir manuales de
usuario, tutoriales y otros recursos educativos.

Documentación de Instalación y Configuración: Instrucciones detalladas sobre


cómo instalar y configurar el software en diferentes entornos. Esto es importante
para garantizar una implementación exitosa del software.

Documentación de Mantenimiento: Información sobre cómo mantener y actualizar


el software a lo largo del tiempo. Esto puede incluir registros de cambios, planes de
mantenimiento y documentación de versiones.

Documentación de Seguridad: Detalles sobre las medidas de seguridad


implementadas en el software y cómo configurar y administrar estas medidas. Esto
es crítico para proteger el software contra amenazas y vulnerabilidades.
Documentación de Arquitectura: Describe la arquitectura general del software,
incluyendo componentes, relaciones y decisiones de diseño importantes. Esto es
útil para desarrolladores y arquitectos que trabajan en el proyecto.

Documentación de APIs (Interfaces de Programación de Aplicaciones): Si el


software proporciona APIs para que otros programas se integren con él, se debe
documentar cómo utilizar estas APIs, incluyendo ejemplos y especificaciones
técnicas.

La documentación de software es crucial para facilitar la colaboración entre


miembros del equipo de desarrollo, para ayudar a los usuarios a comprender y
utilizar el software y para mantener y mejorar la calidad a lo largo del ciclo de vida
del producto. La falta de documentación adecuada puede dar lugar a problemas de
mantenimiento, confusión y dificultades en el uso del software.

Gestión de proyectos de software.

La gestión de proyectos de software se refiere al conjunto de actividades y procesos


utilizados para planificar, ejecutar, supervisar y controlar el desarrollo de software
desde su concepción hasta su entrega final. Su objetivo principal es asegurar que
los proyectos de software se completen de manera efectiva, dentro del presupuesto
y en el plazo previsto, cumpliendo con los requisitos y estándares de calidad
establecidos.
Bibliografía.

González, P. J., Cosin, J. J. D., & Román, I. R. (2004). Tecnicas cuantitativas para la

gestion en la ingenieria del software. En Netbiblo eBooks.

https://doi.org/10.4272/978-84-9745-204-5

Uden, L., Aranda, P. J. V., & López, O. P. (2008). An activity-theory-based model to

analyse web application requirements. Information Research, 13(2), 1.

https://dblp.uni-trier.de/db/journals/ires/ires13.html#UdenVP08

Canós, J. H., & Letelier, M. C. P. P. (2012). Métodologías Ágiles en el Desarrollo de

Software. Ing en software. http://roa.ult.edu.cu/handle/123456789/476?mode=full

También podría gustarte