viernes, 15 de octubre de 2010

C SHARP O C#

Es un lenguaje de progrmación orientado a objetos.
Su sintaxis básica deriva de C/C++ y  utiliza el modelo de objetos de la plataforma.NET, es  similar al  de java aunque incluye mejoras derivadas de otros lenguajes.


TIPOS DE DATOS


Los tipos de punto flotante pueden representar números con componentes fraccionales. Existen dos clases de tipos de punto flotante; float y double.
Los caracteres en C♯ no son cantidades de 8 bits como en otros muchos lenguajes de programación. Por el contrario, C♯ usa un tipo de caracteres de 16 bits llamado Unicode al cual se le llama char. No existen conversiones automáticas de tipo entero a char.

No existe una conversión definida entre bool y los valores enteros (1 no se convierte a verdadero ni 0 se convierte a falso).







REQUERIMIENTOS DE SOFTWARE

Es la necesidad propia del usuario como tal.
También son las necesidades propia de un problema para solucionarlo.
 Dentro los requerimientos de software encontrmos las tecnicas de recolección de hechos ,las cuales son cuatro.
1.Entrevista:Es la forma de comunicarse dos o mas personas donde la persona   que entrevista le hace una serie de preguntas al entrevistrado.
La entrevista se divide en:


a. Entrevista Informal

b.Entrevistra formal

2.Cuestionario:Un cuestionario es un conjunto de preguntas que deben ser contestadas por escrito por la persona entrevistada.
Según el contenido de los cuestinoarios lo podemos clasificar en:
a.Cerrado

b.Abierto

3. Verificación y validación de documentación: comprobar el correcto funcionamiento de un requisito en la aplicación, y la validación,se utiliza para comprobar que los requisitos implementados se corresponden con lo que inicialmente se pretendía.

4. Observación:Es una técnica que consiste en observar atentamente hecho o caso, tomar información y registrarla para su posterior análisis.

Pasos:
1. Deletear completamente la información en su forma nativa.

2.Tranformar la información a codigo legible del analista.

3.Tamizado de la información.
Tipos de Requerimientos

Funcional:Son aquellos que van hacer utilizado en el software. 

No Funcional:Son aquellos que son opcional. 

CASOS DE USO
En principio deberia describir una tarea que tiene un sentido completo para el usuario.Sin embargo,
hay ocasiones en las que es útil describir una interación con un alcance menor como caso de uso.

DIAGRAMA DE CASOS DE USO
Se utiliza para poder gestionar los requerimientos.
Muestra la relación entre los actores y los casos del sistema.Representa la funcionalidad que ofrece
el sistema en lo que se refiere a su interacción externa.

DIAGRAMA  DE CONSECUENCIA
Muestra una interación ordenada según la secuencia  temporal de eventos.En particular, muestra los objetos participantes en la interacción y los mensajes que interacambian ordenados según su secuencia en el tiempo.

 
 

jueves, 14 de octubre de 2010

GESTIÓN DE RIESGO DE SOFTWARE

La gestión de riesgo nos ayuda anticiparnos de los posibles riesgos que afectan a la programación del proyecto o a la calidad del software.También nos ayuda a desarrollar o emprender acciones que evite los riesgos.
En pocas palabras la gestión de riesgos nos ayuda a minimizar los riesgos.
los riesgos son una amenaza para el proyecto,para el software que se esta desarrollando y para la organización.

Al momento desarrollar un software debemos tener en cuenta una serie de categorias de riesgos que se pueden presentar.
 a.Riesgos del proyecto

 b.Riesgos del producto

 c.Riesgo del producto

ETAPAS  DE GESTIÓN DE RIESGOS
Identificación de riesgo: Nos ayuda aidentificar los posibles riesgo para el proyecto,al producto, y al negocio.

Dentro de esta etapa encontramos unos tipos de riesgo.

Anális del riesgo:Nos ayuda a valorar las probabilidades y consecuencias de estos riesgo.

Planificación de riesgo:Crear planes para abordar los riesgos, ya sea para evitarlos o minimizar sus efectos en el proyecto.

Supervisión de riesgo: Debe ser un proceso continuo y en cada revisión del progreso de gestión. cada uno de los riesgos clave debe ser considerado y analizado por separado.  
 

ESTIMACION DE COSTOS Y PLAZOS

¿Qué es la estimación de costos? 
Consiste en pensar en los recursos monetarios,temporal,humanos y materiales,Los cuales son necesarios para llevar a  cabo el proceso de desarrrollo del software.

También debemos tener en cuenta que al momento de realizar un proyecto se debe  iniciar por un  buen plan.se debe utilizar unos aspectos los cuales tienen que ser real y preciso se necesita de mucha experiencia y dedicación.también debemos tener en cuenta la Planificación ya que es muy importante para  la  estimación de  la ingenieria de software.
Si el software es muy extenso y complejo  necesita planeación. 

Estimación por analogía
Que el costo de un proyecto se calcula por comparación con proyectos similares con el mismo dominio de aplicación. 
Ventajas:Bastante preciso si se disponen de datos de proyectos previos.
Inconveniente:Imposible de realizar si no se abordado proyectos comparables
La estimación por analogía es mayormente utilizada durante los procesos de planificación.

Juicio de experto
Que uno o más experto,tanto en el desarrollo de software como en el dominio de la aplicación usan 
su experiencia para pensar en los costos del software.
Ventajas:Metodo de estimación relativamente barato.puede ser bastante exacto si los expertos tienen experiencia directa en sistema similares.
Desventajas:Muy impreciso si no se dispone de los expertos adecuados.

Ley de parkinson
Que  el costo esta en función de los recursos disponibles,utilizando todo el tiempo permitido.
Ventajas:No realiza presupuestos "abultados".
Inconvenientes:El sistema normalmente no termina.






MODELO DE ESTIMACIÓN
COCOMO(Constructive Cost Model)
Es un modelo de estimación empírico que se basa en la práctica.
el nucleo del cocomo se llama esfuerzo.

Caracteristicas
1.que mide el temaño dl proyecto,y se mide en linea de codigo.

 SUBMODELO
El modelo cocomo se subdivide en tres  modelos los cuales son:

Modelo Básico
Se utiliza para obtener una primera aproximación rápida del esfuerzo.

MODO a b c d
Orgánico 2.40 1.05 2.50 0.38
Semilibre 3.00 1.12 2.50 0.35
Rígido 3.60 1.20 2.50 0.32
Estos valores son para las fórmulas:
  • Personas necesarias por mes para llevar adelante el proyecto (MM) = a*(Klb)
  • Tiempo de desarrollo del proyecto (TDEV) = c*(MMd)
  • Personas necesarias para realizar el proyecto (CosteH) = MM/TDEV
  • Costo total del proyecto (CosteM) = CosteH * Salario medio entre los programadores y analistas.
Modelo intermedio
Este añade al modelo básico quince modificadores opcionales para tener en cuenta en el entorno de trabajo, incrementando así la precisión de la estimación.
Para este ajuste, al resultado de la fórmula general se lo multiplica por el coeficiente surgido de aplicar los atributos que se decidan utilizar.
Los valores de las constantes a reemplazar en la fórmula son:
MODO a b
Orgánico 3.20 1.05
Semilibre 3.00 1.12
Rígido 2.80 1.20

Atributos

Cada atributo se cuantifica para un entorno de proyecto. La escala es muy bajo - bajo - nominal - alto - muy alto - extremadamente alto. Dependiendo de la calificación de cada atributo, se asigna un valor para usar de multiplicador en la fórmula (por ejemplo, si para un proyecto el atributo DATA es calificado como muy alto, el resultado de la fórmula debe ser multiplicado por 1000).
El significado de los atributos es el siguiente, según su tipo:

  • De software
    • RELY: garantía de funcionamiento requerida al software. Indica las posibles consecuencias para el usuario en el caso que existan defectos en el producto. Va desde la sola inconveniencia de corregir un fallo (muy bajo) hasta la posible pérdida de vidas humanas (extremadamente alto, software de alta criticidad).
    • DATA: tamaño de la base de datos en relación con el tamaño del programa. El valor del modificador se define por la relación: D / K, donde D corresponde al tamaño de la base de datos en bytes y K es el tamaño del programa en cantidad de líneas de código.
    • CPLX: representa la complejidad del producto.
  • De hardware
    • TIME: limitaciones en el porcentaje del uso de la CPU.
    • STOR: limitaciones en el porcentaje del uso de la memoria.
    • VIRT: volatilidad de la máquina virtual.
    • TURN: tiempo de respuesta requerido.
  • De personal
    • ACAP: calificación de los analistas.
    • AEXP: experiencia del personal en aplicaciones similares.
    • PCAP: calificación de los programadores.
    • VEXP: experiencia del personal en la máquina virtual.
    • LEXP: experiencia en el lenguaje de programación a usar.
  • De proyecto
    • MODP: uso de prácticas modernas de programación.
    • TOOL: uso de herramientas de desarrollo de software.
    • SCED: limitaciones en el cumplimiento de la planificación.
Cada submodelo también se divide en modos que representan el tipo de proyecto, y puede ser:
  • modo orgánico: un pequeño grupo de programadores experimentados desarrollan software en un entorno familiar. El tamaño del software varía desde unos pocos miles de líneas (tamaño pequeño) a unas decenas de miles (medio).
  • modo semilibre o semiencajado: corresponde a un esquema intermedio entre el orgánico y el rígido; el grupo de desarrollo puede incluir una mezcla de personas experimentadas y no experimentadas.
  • modo rígido o empotrado: el proyecto tiene fuertes restricciones, que pueden estar relacionadas con la funcionalidad y/o pueden ser técnicas. El problema a resolver es único y es difícil basarse en la experiencia, puesto que puede no haberla.

Modelo Detallado

Presenta principalmente dos mejoras respecto al anterior:
  • Los factores correspondientes a los atributos son sensibles o dependientes de la fase sobre la que se realizan las estimaciones. Aspectos tales como la experiencia en la aplicación, utilización de herramientas de software, etc., tienen mayor influencia en unas fases que en otras, y además van variando de una etapa a otra.
  • Establece una jerarquía de tres niveles de productos, de forma que los aspectos que representan gran variación a bajo nivel, se consideran a nivel módulo, los que representan pocas variaciones, a nivel de subsistema; y los restantes son considerados a nivel sistema.
 

























 

miércoles, 13 de octubre de 2010

PROYECTO INFORMATICO


¿Que es un proyecto?

Un conjunto de actividades relacionadas entre asi que tienen un inicio y un final,que utilizan unos recursos limitados para asi poder obtener los objetivos deseados.

¿Que es un proyecto informatico?

Es un proyecto que tiene como objetivo enmarcar el objetivo general  informático de la empresa, teniendo en cuenta las acciones secuenciales de la persona, dependiendo del equipamiento de hardware, del software y de las comunicaciones paar asi poder obtener los objetivos deseables acerca un sistema de información.

Al momento de realizar un proyecto informático debemos tener en cuenta dos tipos dos diagrama como lo son:

DIAGRAMA DE GANTT

Es una herramienta que tiene como objetivo mostrar el tiempo de dedicación para la realización de dichas
tareas o actividades.
Las tareas o actividades pueden ser paralelas o secuencial.

Una  actividad es paralela cuando se pone un tiemppo determinado.

Una actividad  es secuencial cuando al terminar una empieza la otra.

Acontinuación veremos unos pasos que nos ayudara al momento de  realizar un diagrama de gantt
1. primero comenzaremos definiendo las columnas las cuales deseamos utilizar

ingresar datos  

Las columnas que usaremos un listado de activiades,tiempo y duración. 
 A continuación  insertaremos el grafico en excel, pero esto lo realizaremos sin seleccionar ningún dato de la tabla que se ha creado, Despues de esto vamos a la pestaña insertar donde insertaremos una barra/bara en 2D   

 Despues aparecera un cuadro vacio,porque no se ha seleccionado ningún dato,en el cual haremos click 
derecho y selecccionaremos la opción seleccionar datos, la cual nos mostrara una opción para agregar.
 En la siguiente ventana que aparece,llamada Seleccinar origen de datos, ponemos el cursor en el campo de Nombre de la serie y despues seleccionamos la celda fecha de datos, Luego para los campos de Valores de serie, se borra el texto que aparece por defecto y seleccionamos el rango de la celdas.

En esta ventana haremos click derecho para Eliminar 

Ahora haremos click sobre la barra la cual corresponde a la series de datos de la fecha de inicio hacemos click derecho, y luego seleccionamos en la opción dar formato a serie de datos, despues en la sección relleno, la cambiaremos  por la opción Sin relleno.
En esta ventana hacemos lo mismo pero haciendo click sobre el gráfico (y luego selecccionamos "Dar formato a serie de datos") luego en la sección de  las actividades. Allí el grupó de opciones por defecto(OPciones del eje) marcamos en la opción que dice  Categorías en orden inverso como se muestra en la imagen que esta debajo.


Luego de esto ya nuestro diagrama se ve un poco mejor y se pueden deducir algunas cosas relacionadas a estas actividades, como por ejemplo,cuáles comienzan luego de otras, la duración comparativa de las actividades, etc. Sin embargo, de momento las fechas aún no se visualizan bien ni ayudan mucho, así que arreglaremos esto.
Para esto definiremos un nuevo rango de fechas. Comenzaremos escribiendo en dos celdas aparte, la fecha de inicio y fecha de fin del proyecto (considerando la fecha de la actividad que comienza primero y la fecha de fin de la actividad que termina de último).
Para el caso ejemplo tenemos la de inicio en 01/09/2010 y la de fin de proyecto en 30/11/2010. Cambiaremos el formato de estas celdas de fecha a número. Éstas fechas cambiarán entonces a su formato numérico, convirtiéndose en 40391.00 y 40435.00 respectivamente. Esto nos servirá para definir el rango de fechas del gráfico.
Hacemos clic derecho sobre la sección de fechas del gráfico y seleccionamos la opción de dar formato. Allí en la sección Opciones del eje definimos Mínimo y Máximo como Fijo tomando los números que obtuvimos de las fechas, es decir, 40391 y 40435. Los ingresamos y cerramos.
 
Para finalizar podemos cambiar el formato de la fecha (desde la misma ventana anterior) en la sección Número, donde agregamos el formato dd/mm para omitir el año. Luego de agregarlo lo seleccionamos como un formato Personalizado y listo.


Aqui ya tenemos nuestro diagrama de gantt listo.



DIAGRAMA DE PERT/CPM
 

Nos ayuda a controlar la tareas o actividades en un tiempo determinado ya que trabaja con un nodo
ya que tiene un tiempo más temprano para iniciar dicha actividad y un tiempo más tardio para  terminar un actividad.

TL=tiempo last
TE=tiempo Early

El diagrama de pert tiene tres reglas las cuales se deben cumplir al momento de realizarlo.

1. Siempre un nodo debe estar presidido de otro.




2.convergencia maximo.tres nodos pueden precedir a otro y salir un solo nodo.
3. divergencia.que un nodo puede precedir de otro y salir tres nodos

las actividades que esta desde un punto origen ue estan despues se llaman sucesoras.

las actividades que esta antes se llama predecesoras.

 GESTIÓN DE PROYECTOS SEGÚN PERT

Tiempo pert: tiempo que realmente va a durar mi proyecto con las actividades