lunes, 15 de octubre de 2012

Segundo Sistemático

Realizar un pequeño mural con recortes periodísticos acerca de lo que las empresas están requiriendo.

Ingeniero en Computación o Afines - Managua

Nombre del puesto:   Ingeniero en Computación o Afines
Empresa:   confidencial
País:   Nicaragua
Provincia:   Managua
Ciudad/Localidad/Barrio:    Managua
Área del puesto:   Medicina y Farmacia
Ingeniero en Computación o afines
Experiencia en mantenimiento y reparación de PC,
instalación y config. de redes
Entre 20 a 30 años.


Ingeniero en sistema - Managua

Nombre del puesto:   Ingeniero en sistema
Empresa:   confidencial
Países:   Nicaragua
Provincia:   Managua
Ciudad/Localidad/Barrio:    Managua
Área del puesto:   Comercial / Ventas
2 años de experiencia en el área de desarrollo de sistemas, 1 año de experiencia en soporte técnico y 1 año de experiencia en Telecomunicaciones.
Garantizar el optimo funcionamiento de red de telecomunicaciones a fin de elevar el nivel de eficiencia de los equipos de cómputos dentro del marco de la productividad y e acuerdo a las políticas y procedimientos establecidos por GEA Monitorear el estado de los servidores de datos. Monitorear estado de centrales telefónicas. En desarrollo y mantenimiento de Sistemas. (SQL) Administración de Redes TCP/IP, Administración Linux y/o Unix, Windows. Deseable con
Conocimientos de Telefonía tradicional e IP.


Mpeso S,A

Ingeniero en Computación y/o Sistemas
Se necesita Auditor de Tecnología de Información, profesional, tiempo completo, con experiencia mínima de 2 o 3 años en auditorias de sistemas de información tecnológica, Conocimientos de Normas Internacionales de Auditoria, Combinación de conocimientos generales de auditoría financiera y de informática (Desarrollo de aplicaciones, gestión de base de datos, gestión de proyectos, redes, etc.)
Fecha:
24 de agosto de 2012
Localidad:
Managua
Departamento:
Managua
Salario:
xxxx
Comienzo:
xxxx
Duración:
xxxx
Tipo de trabajo:
Tiempo Completo
Solicitudes:
Enviar curriculum por correo electrónico
Empresa:
Contacto:
Recursos Humanos.
Teléfono:
xxxx
Fax:
xxxx
Correo-E:
http://www.ni.computrabajo.com/correoe.cgi?ofrd=javierlg80-114368&1346800593



Ejemplo de la tabla de riesgos


                                           Fecha de entrega inalcanzable: 
                              Catastrófica         que el programador se pase del  limite de 
                                                          tiempo del que había propuesto.
                                    

                              Crítica                 Pequeños retrasos en modificaciones de software: Al darnos
                                                         cuenta de un error algo tarde, puede afectar la entrega del 
  Riesgos                                          software al tener que modificar la estructura.

                              Marginal              Recursos financieros suficientes: El endeudamiento 
                                                         con la empresa  para solventar al cliente.

                             Despreciable        software fácil de dar soporte: cuando se dan problemas 
                                                         fáciles de dar solución.
         
                    

Preparar material didáctico acerca de la garantía de calidad y gestión de configuración del software para ser expuesto en plenario.


Garantía de Calidad de Software (SQA)

Garantía de calidad del software (SQA) consiste en los medios de la supervisión de la tecnología de dotación lógica de los procesos y los métodos que aseguran calidad. Hace esto por medio de intervenciones de sistema de gerencia de la calidad debajo de cuál se crea el sistema de software. Estas intervenciones son movidas hacia atrás por unos o más estándares, generalmente ISO 9000.

La calidad del software es el conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia. La calidad es sinónimo de eficiencia, flexibilidad, corrección, confiabilidad, mantenibilidad, portabilidad, usabilidad, seguridad e integridad. La calidad del software es medible y varía de un sistema a otro o de un programa a otro. “La calidad del software es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario”.


La SQA (Software Quality Assurance) engloba:

•          Un enfoque de gestión de calidad.
•          Tecnología de Ingeniería de Software efectiva (métodos y herramientas).
•          Revisiones técnicas formales que se aplican durante el proceso del   software.
•          Una estrategia de prueba multiescalada.
•          Un control de la documentación del software y de los cambios realizados
•          Un procedimiento que asegure un ajuste a los estándares de desarrollo de
            software.
•          Mecanismos de medición y de generación de informes.


PROPÓSITO DE SQA

 Proporcionar visibilidad sobre procesos utilizados por el proyecto de SW y sobre los productos que genera.

 OBJETIVOS:

1.                 Planificar las actividades de aseguramiento de la calidad.

2.                  Revisar y auditar objetivamente los productos y las actividades para verificar que estén conformes con los procedimientos y estándares.

3.                 Proporcionar los resultados de estas revisiones o auditorías informando a la dirección.


NIVELES DE MADURACIÓN:

·                     Nivel 1. Inicial. En este nivel, los proyectos y métodos de ingeniería no se encuentran definidos. Por esta razón, los proyectos son adelantados de manera incoherente, incontrolada y poco profesional. El éxito es eventual. Según la entidad certificadora del CMM, el Instituto de Ingeniería de Software de los Estados Unidos (SEI), la mayoría de los grupos de desarrollo de software en el mundo operan a este nivel.

·                     Nivel 2.Repetible. Se establecen algunos procesos y métodos de ingeniería a nivel de proyectos.

·                     Nivel 3. Definido. Los procesos, actividades y métodos relacionados con la ingeniería y administración de proyectos se encuentran documentados, estandarizados y construidos alrededor de un marco integrado para toda la compañía.

·                     Nivel 4. Administrado. La compañía opera bajo control estadístico de procesos. Los resultados de los procesos y la calidad de los productos son predecibles.

·                     Nivel 5. Optimización. En este nivel, las organizaciones se encuentran en un proceso de mejora continua. Las organizaciones se enfocan en su mejora a través de técnicas de prevención de defectos, cambios en tecnología y en procesos. Según el SEI, menos del 0,1% de las organizaciones del mundo se encuentran en nivel de madurez.

Gestión de configuración de software

SCM trata y controla:
§  La elaboración de código fuente por varios desarrolladores simultáneamente,
§  El seguimiento del estado de las versiones y sus cambios y
§  la conducción de la integración de las partes del software en un solo producto de software.
Para la realización de SCM hay diferentes herramientas. Pero herramientas que pretenden ofrecer una solución total al problema a menudo no cumplen con los requisitos técnicos como:
§  apoyo a diferentes plataformas
§  iniciar el proceso de build
§  conexión a los bancos de datos existentes
§  integración a la organización existente
Por esa razón ofrece una mayor flexibilidad una solución que integre herramientas parciales que sean más fáciles de integrar en el proceso existente.

Aspectos Funcionales 

1. Identificación: Se necesita definir un esquema de identificación para reflejar la estructura del producto, esto involucra identificar la estructura y clases de componentes, dando a cada uno un nombre, una identificación de versión y una identificación de Configuración.

2. Control: Se deben controlar los cambios que se le hacen a través del ciclo de vida, asegurando que el software sea consistente a través de la creación de una línea base del producto.

3. Estado: Se debe registrar y reportar el estado de los componentes y solicitudes de cambio.

4. Auditoria y revisión: Se debe validar que el producto este completo y se asi mantener la consistencia entre los componentes, asegurando que estén en un estado apropiado a través de todo el ciclo de vida del producto y que el mismo sea una colección bien definida de componentes.

Elementos de configuración de software 

Definimos como un elemento de Configuración a una unidad física y/o lógica parte de un conjunto mayor de elementos, producida o adquirida, que por sus características es distinguible de las demás y cuya evolución interesa administrar.

Son elementos de Configuración en un proyecto de software: 
01. El plan de proyecto.
02. El plan de Gestión de Configuración.
03. El documento de definición de requerimientos.
04. Estándares de análisis, diseño, codificación, pruebas, y auditoria.
05. Documentos de análisis del sistema.
06. Documentos de diseño del sistema.
07. Prototipos.
08. Documentos de diseño de alto nivel.
09. Documentos de diseño de bajo nivel.
10. Especificaciones de prueba del sistema.
11. El plan de pruebas del sistema.
12. El Código fuente del programa.
13. Código objeto y ejecutable.
14. Especificaciones de pruebas de unidad.
15. Planes de pruebas de unidad.
16. Documentos de diseño de base de datos.
17. Datos de prueba.
18. Datos del proyecto.
19 .Manuales de usuario. 



Este proceso consiste de las siguientes actividades: 

1. Implementación del Proceso: Se desarrolla un Plan de Gestión de Configuración que describe las actividades de Gestión de Configuración, los procedimientos y el cronograma para su realización, y los responsables de dichas actividades. Dicho plan debe ser documentado e implementado.

2. Identificación de la Configuración: Se establece un esquema de identificación de los elementos de software y sus versiones a ser controlados por el proyecto.

3. Control de la Configuración: Se identifican y registran las solicitudes de cambio, se analiza y evalúa los cambios, se aprueba o rechaza la solicitud, se implementa, verifica y distribuye el elemento de software modificado.

4. Contabilidad de Estado de la Configuración: Se preparan registros de Gestión y reportes de estado que muestren el estado e historia de los elementos de software controlados, incluyendo líneas base.

5. Evaluación de la Configuración: Se determina y asegura que los elementos de software sean funcionalmente (versus sus requerimientos) y físicamente completos (es decir, si su diseño y Código reflejan una descripción técnica actualizada).

6. Gestión de actualización y distribución: Se controla formalmente la actualización y distribución de los productos de software.






Segundo Cuestionario


¿En que consiste el espectro de gestión de software? 


La gestión de software se centra en: personal, producto, proceso y proyecto. El personal ejerce diversos cargos durante el proceso de desarrollo del software. El producto es el software que se va desarrollando a medida contiene el código fuente, ejecutable, documento de análisis y diseño, formatos de prueba, contratos, temas de capacitación. El proceso es el conjunto de tareas y fases que se aplican conforme a los modelos de desarrollo de software seleccionados. El proyecto es el documento soporte que justifica el desarrollo del software para un fin específico contiene el estudio de factibilidad y viabilidad del mercado, lo técnico operativo, lo financiero económico e impacto legal.

El espectro de Gestión consiste en que el software se realice correctamente y contenga todo lo requerido para que se obtengan buenos frutos. 



De los siguientes proyectos de software indique ¿cuál es significativamente mas ganancioso para el equipo de trabajo? Aplique las métricas necesarias para obtener el monto.

Proyecto A


13 ventanas +5 de error= 18
KLDC= 11 LDC
p=3*(18)^1.12
P=76.388
td= 2.5*(76.388)^0.35
td= 11.4
td=11
pt=76.388/11
pt=6.94
pt= 7 hombres - meses
ct= 7hombres *357.14
ct=2500
cpm= 2500/11
cpm=227.27
cpm=32.46

Proyecto B

7 ventanas +4 de error= 11
KLDC= 11 LDC
p=3*(11)^1.12
P=44.002
td= 2.5*(44.002)^0.35
td= 9.4005
td=9
pt=44.002/9.
pt=4.88
pt= 5 hombres - meses
ct= 5 hombres *420
ct=2100
cpm= 2100/9
cpm=233.33/4
cpm=58.33


*Según los cálculos se ganaría mas con el proyecto B.






Dada la tabla de riesgos(modificada a nuestra realidad económica). Establezca ejemplos de cada categoría.

                                              Fecha de entrega inalcanzable: 
                              Catastrófica         que el programador se pase del  limite de 
                                                          tiempo del que había propuesto.
                                    

                              Crítica                 Pequeños retrasos en modificaciones de software: Al darnos
                                                         cuenta de un error algo tarde, puede afectar la entrega del 
  Riesgos                                          software al tener que modificar la estructura.

                              Marginal              Recursos financieros suficientes: El endeudamiento 
                                                         con la empresa  para solventar al cliente.

                             Despreciable        software fácil de dar soporte: cuando se dan problemas 
                                                         fáciles de dar solución.
         
                    


¿Cuáles condiciones son necesarias cumplir para que el software que estamos realizando tenga garantía de calidad?

Cumplir con:


  • Funcionalidad
          1. pertinencia
          2. precisión
          3. interoperatividad
          4.seguridad

  • Usabilidad
          1. entendibilidad
          2. operatividad
          3. adaptacion de uso

  • Mantenibilidad
          1. analizabilidad
          2. estabilidad
          3. cambiabilidad

  • Eficiencia
         1. Rendimiento
         2. Uso de recurso
  • Portabilidad
          1. adaptabilidad
          2. instanciabilidad
          3. adecuación
          4. reemplazabilidad

  •   Confiabilidad
            1. madurez
            2. tolerancia a fallos 
            3. recuperabilidad




¿Qué proceso es el que se realiza durante la gestión de configuración de software?


  • Implementación del proceso
  • Identificación de la configuración
  • Control de la configuración
  • Contabilidad de estado de la configuración
  • Evaluación de la configuración
  • Gestión de actualización y distribución



Primer Sistemático


Explicar mediante un dibujo la siguiente característica:

  •       El software no se estropea,
                








  •                          Se desactualiza
















Ejemplifique cada una de las aplicaciones de software siguientes:

  • Software tiempo real: red social
  • Software ingeniería y científico: medicina
  • Software PC: aplicaciones
  • Software inteligencia artificial: nintendos


Dibujo donde se establece el escenario que refleja los mitos y realidades del software seleccionando uno de gestión, del cliente y uno del equipo desarrollador .


Mito: si se falla en la planificación se puede adelantar el tiempo perdido añadiendo mas personal al equipo.

Realidad: Dado que no es un procedimiento mecánico se requiere capacitar  a este nuevo persona y el ello se retrasa aún más.




Mito: Una declaración general de los objetivos del software es suficiente para comenzar a realizarlo

Realidad: Una mala definición inicial es la principal causa del trabajo baldio en software. se requiere una descripción formal y detallada del ámbito de la información  funciones, comportamientos, rendimientos, interfaces, ligaduras del diseño y criterios de validación  Es importante una exhaustiva comunicación con el cliente y usuario.







Mito: Lo único que se entrega al terminar el proyecto es el software funcionando.

Realidad: Debe establecerse un plan de mantenimiento que permita desarrollar la configuración del software.









Explique el gráfico del pastel relativo a las capas del desarrollo del software.


cantidad: ¿quienes?
herramientas: ¿con qué?
método: ¿através de qué?
proceso: ¿cómo?
calidad: ¿qué?

Es más que todo el proceso al momento de desarrollar el software, influye quienes lo realizaran es decir las personas capacitadas para realizarlo, con qué lo realizaran osea los materiales y herramientas que utilizaran, através de qué harán el software es decir los métodos y aplicaciones a utilizar, como lo realizaran osea  los procesos que llevarán a cabo , esto es más que todo el proceso del prototipo del software.

Testifique en cuáles situaciones ha aplicado los modelos de desarrollo de ingeniería del software.

Los modelos se han utilizado en las materias de programación y análisis y diseño de sistemas. Tanto en proyectos pequeños como grandes. Se ha dividido el trabajo entre cada uno de los integrantes, se han realizado proyectos pequeños que no requieren de mucho tiempo para realizarlo. Se han hecho prototipos de software. y también en los proyectos mediante se avanzaba las maestras realizaban revisiones a cada etapa para corregir los errores.

De esta manera se ha hecho uso de los modelos de desarrollo de ingeniería del software.

Primer Cuestionario


Ejemplos de como se aplicarían las características del software a un software contable.

  •     El software no se fabrica... se desarrolla:
      Para realizar un software se necesitan saber muchos puntos, se pregunta al cliente lo que se                                                                                necesita, se crea una idea que sea la solución y se realizan los estudios necesarios para desarrollarlo; en un software contable se pueden desarrollar muchas ideas ya que es un software de muchos usos, de mucha utilidad.

  • El software no se estropea... se desactualiza: 
          La contabilidad trabaja con valores y operaciones que al paso del tiempo pueden cambiar y así se dan nuevos requerimientos para el software y necesidades para el usuario. Entonces cuando el software actual no cumple con esas nuevas necesidades se dice que el software esta desactualizado y se contacta al programador para darle solución dentro del mismo software así actualizándolo.

  • El software no se ensambla... se construye a medida: 
         Cuando se desea un software contable pueden haber muchos requerimientos, puede ser para crear nóminas, balance general o toda la contabilidad. El software se construye a medida a como lo desea el cliente para que sus problemas terminen y su trabajo sea mas eficiente y confiable.


Diferencias entre un tipo de aplicación de software y otro de los tantos estudiados en clase.

  • Software de sistemas: es aquel que trabaja para servir a otros programas.
  • Software de tiempo real: es el que da respuesta en el instante como los chat en facebook, en hotmail, etc.
  • Software de gestión: trabaja con el servidor y usuario.
  • Software de ingeniería y científico: se programan para usos industriales, científicos por ejemplo se usan en los hospitales como las radiografías, electrocardiogramas, ultrasonidos,etc.
  • Software empotrado: se utiliza para controlar productos y sistemas de los mercados industriales vienen en los celulares, en los nintendos, mp3.
  • Software de PC: El procesamiento de textos, las hojas de cálculo, los gráficos por computadora, multimedia, entretenimientos, gestión de bases de datos, aplicaciones financieras, de negocios y personales.
  • Software basado en Web: trabajan con el Internet directamente.
  • Software de inteligencia artificial: hace uso de sistemas basados en el conocimiento, reconocimiento de imágenes y voz, se programa en los robots y algunos nintendos.

Revista ilustrada explicando gráficamente(dibujo) cada mito de la ingeniería del  software.


Mito: Contar con los estándares y procedimientos es todo lo que el personal necesita saber

Realidad:
                        ¿se usa?
                        ¿conocen su existencia?
                        ¿refleja las practicas modernas?
                        ¿ Es completo?
                       ¿ Están diseñados para medir el tiempo- calidad?






Mito: si se falla en la planificación se puede adelantar el tiempo perdido añadiendo mas personal al equipo

Realidad: Dado que no es un procedimiento mecánico se requiere capacitar  a este nuevo personal y el ello se retrasa aún más.




Mito: Una declaración general de los objetivos del software es suficiente para comenzar a realizarlo.

Realidad: Una mala definición inicial es la principal causa del trabajo baldio en software. se requiere una descripción formal y detallada del ámbito de la información  funciones, comportamientos, rendimientos, interfaces, ligaduras del diseño y criterios de validación  Es importante una exhaustiva comunicación con el cliente y usuario.





Mito: Una vez que se realiza el análisis y diseño y se codifica haciendo que funcione, el trabajo ha terminado.

Realidad: Apenas inicio la labor con el prototipo entregado al cliente y usuarios comienza el proceso de validación y capacitación para establecer la garantía.









Mito: Hasta que no se tenga el software implementado, realmente no tengo forma de comprobar su calidad.

Realidad: Desde que inicia se puede realizar la revisión técnica formal como filtro de calidad en cada uno de las etapas de desarrollo.






Mito: Lo único que se entrega al terminar el proyecto es el software funcionando.

Realidad: Debe establecerse un plan de mantenimiento que permita desarrollar la configuración del software.


              













Mito: Disponer de las herramientas de desarrollo de software mas avanzadas, equivale a tener las computadoras mas modernas

Realidad: Las herramientas CASE son mas importantes que el hardware para conseguir la calidad y productividad





Mito: Los requisitos del proyecto cambian continuamente pero estos pueden acomodarse fácilmente ya que el software es flexible.


Realidad: Es necesario establecer un contrato que limiten dichos cambios, a fin de salvaguardar el coste que implica realizarlo en cualquiera de las etapas del software.





Gráfico de pastel.

cantidad: ¿quienes?
herramientas: ¿con qué?
método: ¿através de qué?
proceso: ¿cómo?
calidad: ¿qué?

Es más que todo el proceso al momento de desarrollar el software, influye quienes lo realizaran es decir las personas capacitadas para realizarlo, con qué lo realizaran osea los materiales y herramientas que utilizaran, através de qué harán el software es decir los métodos y aplicaciones a utilizar, como lo realizaran osea  los procesos que llevarán a cabo , esto es más que todo el proceso del prototipo del software.


Cuadro sinóptico con las fases genéricas que se practican durante el proceso de software.


                                                               *Ingeniería en sistemas
                               Definición               *Planificación de proyectos
                                                               *Análisis de requisitos

                                                               *Diseño de Software
FASES                   Desarrollo               *Programación
GENÉRICAS                                        *Prueba y evaluación de sistemas

                                                               *Corrección
                              Mantenimiento       *Adaptación
                                                               *Mejora
                                                               *Prevención


                               

Situación en donde tenga que hacer uso del hito que se expresa en el marco de trabajo común de la ingeniería del software.

*Hito es una herramienta que administra en forma integrada y centralizada los requerimientos que llegan a las áreas de soporte de las empresas y facilita la gestión de proyectos corporativos.

*Situación: para organizar el flujo de los requerimientos del software para colaborar con el cumplimiento de la planificación de un  proyecto.

Modelo y a que situación lo aplicaría.


Modelo lineal secuencial


Cuando se comienza no se puede regresar, es un modelo lineal se comienza con un nivel y va progresando.

Se utiliza en proyectos pequeños.






Modelo de Prototipo


Es un modelo para análisis rápido de un software, es mas que todo la comunicación con el cliente, un análisis y diseño rápido y construcción y entrega del prototipo.

Se aplicaría en la muestra de interfaces de un proyecto.







Modelo de desarrollo rápido


       Es para asignar actividades a los encargados del software, para terminar más rápido y más ordenado.

Se ha aplicado en todos los proyectos ya que a cada integrante se le ha asignado una tarea especifica.










Modelo Incremental





Este modelo permite corregir errores, mediante el avance se pueden hacer mejoras.

Lo aplicamos en análisis y diseño I y II por las revisiones realizadas en cada etapa del proyecto.



Modelo Espiral



Es una fusión de modelos, este modelo es mas completo que los anteriores. Ayuda a prevenir los errores que puedan ocurrir en un futuro. Generalmente se usa en grandes proyectos.

Se ha utilizado en mejoras del proyecto.


Modelo de desarrollo concurrente


Es un esquema con una serie de actividades técnicas importantes.

Lo aplicamos en los proyectos cuando nos dividimos el trabajo.







Modelo de desarrollo basado en componentes




Incorpora muchas de las características del modelo en espiral, Se incorporan clases, procedimiento, archivos, etc.

Se ha utilizado en programación al incorporar ficheros y paquetes.