Ingeniería de software

El diagrama representa los elementos involucrados en el desarrollo de software.

Get Started. It's Free
or sign up with your email address
Ingeniería de software by Mind Map: Ingeniería de software

1. Herramientas de desarrollo de software

1.1. CASE

1.1.1. Significa ingenieria de software asistida por computador y es una categoria de software cuyo objetivo es transferir parte de la carga de trabajo del desarrollo de sistemas de las personas a la computadora

1.1.1.1. Categorias

1.1.1.1.1. Integrada

1.1.1.1.2. Inferior

1.1.1.1.3. Media

1.1.1.1.4. Superior

2. UML

2.1. DIAGRAMAS UML

2.1.1. DIAGRAMA DE CLASES

2.1.1.1. Describe las clases que existen en el sistema y las relaciones estructurales entre las mismas. Considera 3 tipos de estructuras: asociaciones, todo/parte y herencia.

2.1.1.1.1. Componentes del diagrama

2.1.2. DIAGRAMA DE CLASES V/S DIAGRAMA DE CASOS DE USO

2.1.2.1. El diagrama de clases puede representar la estructura de las clases involucradas en:

2.1.2.1.1. Todos los casos de uso de un actor

2.1.2.1.2. Todos los casos de uso del sistema

2.1.2.1.3. Todos los casos de uso en un diagrama de casos de uso

2.1.2.1.4. Un caso de uso

2.1.3. DIAGRAMA DE CASOS DE USO

2.1.3.1. Los diagramas de uso se suelen utilizar en el modelado del sistema desde el punto de vista de sus usuarios para representar las acciones que realiza cada tipo de usuario.

2.1.3.1.1. Elementos

3. Elementos que ayudan al desarrollo de Software

3.1. CICLOS DE VIDA

3.1.1. Delimitan un marco de metodos y tecnicas de la ingenieria de software

3.1.1.1. Programacion exploratoria

3.1.1.1.1. Consiste en elaborar una primera versión del software y enseñarla a los usuarios para que la critiquen y hacer cambios que estos sugieran.

3.1.1.2. Prototipo

3.1.1.2.1. Software provisional, construido con herramientas y técnicas que dan prioridad a la rapidez y facilidad de modificación antes que la eficiencia.

3.1.1.3. Iterativo incremental

3.1.1.3.1. En cada fase se ejecutan pocos o muchos de los componentes del proceso y se aplica un nuevo fragmento software.

3.1.1.4. Métodos Formales

3.1.1.4.1. Permiten demostrar matemáticamente que un problema es correcto en el sentido que se ajusta a sus necesidades.

3.1.1.5. Cascada

3.1.1.5.1. Las etapas se desarrollan de manera lineal, de forma que una fase no comienza mientras no se haya acabado la anterior.

3.2. CASOS DE PRUEBA

3.2.1. Son especificaciones de las entradas para la prueba y la salida esperada del sistema mas una afirmación de los que se esta probando.

3.2.1.1. El diseño de casos de prueba es una parte de las pruebas de componentes y sistemas en la que se diseñan los casos de prueba para probar el sistema. el objetivo es crear en conjunto casos de prueba que sean efectivos descubriendo defectos en los programas y muestren que el sistema satisface sus requerimientos

3.2.1.1.1. Existen varias aproximaciones que pueden seguirse para diseñar casos de prueba:

3.3. Lenguaje de Programación JAVA

3.3.1. Lenguaje sencillo, orientado a objetos, distribuido, interpretado, robusto, securizado, independiente de las arquitecturas, portable, eficaz, multihilo y dinámico.

3.3.1.1. Independiente

3.3.1.1.1. El compilador java produce bytecode que es independiente de cualquier arquitectura.

3.3.1.2. Dinámico

3.3.1.2.1. En Java es posible modificar una o varias clases sin tener que efectuar una actualización de estas modificaciones para el conjunto del programa.

3.3.1.3. Multitarea

3.3.1.3.1. Java permite desarrollar aplicaciones que ponen en marcha la ejecución simultanea de varios hilos o procesos ligeros.

3.3.1.4. Eficaz

3.3.1.4.1. Java pone en marcha un proceso de optimización de la interpretación del codigo llamado Just In Time o Hot Spot. Esto permite alcanzar el mismo rendimiento que un programa escrito en C o C++.

3.3.1.5. Robusto

3.3.1.5.1. Java es un lenguaje fuertemente tipado y estricto. Se verifica el codigo en el momento de la compilacion y ejecución.

3.3.1.6. Securizado

3.3.1.6.1. Java posee un motor de ejecucion JRE que se encarga de vigilar la seguridad de las aplicaciones y los sistemas.

3.3.1.7. Portable

3.3.1.7.1. Java es portable gracias a que se trata de un lenguaje interpretado. Java tiene el mismo tamaño sea cual sea la plataforma en la que se ejecuta el codigo.

3.3.1.8. Interpretado

3.3.1.8.1. Un programa java no lo ejecuta sino que lo interpreta la maquina virtual o java virtual machine. Eso hace que sea mas lento.

4. Soporte para Software

4.1. Apache Software Foundation

4.1.1. Fundada en 1999, de voluntarios, la Fundación Apache Sotware (Apache Software Foundation) supervisa más de setenta proyectos principales de código abierto, incluyendo Apache HTTP Server - software de servidor web más popular del mundo. A través de un proceso meritocrático, esta fundación conlleva más de 300 miembros individuales y 2000 colaboradores, colaboran con éxito para desarrollar un software libre, de nivel empresarial, y beneficiando a millones de usuarios en todo el mundo

4.1.1.1. Apache Tomcat

4.1.1.1.1. Apache Tomcat es un contenedor de servlets de código abierto desarrollado por la Fundación Apache Sotware. Tomcat implementa el servlet de Java y las especificaciones javaServerPages (JSP), y proporciona un entorno de servidor web HTTP de "java puro" de código Java para que se ejecute.

4.1.1.2. Apache HTTP Server

4.1.1.2.1. Apache HTTP Server ofrece petabytes de datos fiables a través de los usos más exigentes del mundo, incluidas las fuentes en tiempo real de noticias, portales empresariales, clusters de computación en nube, plataformas de servicios financieros, aplicaciones de inteligencia militar de misión crítica, redes de comunicación aeroespacial, y más. El software de servidor puede ser descargado, modificado e instalado por cualquier persona de forma gratuita.