domingo, 3 de mayo de 2009

INGENIERIA DE SISTEMAS DE SOFTWARE

"DEFINICION DEL PROBLEMA"
En este tema hablaremos de como se estructuran los sistemas de informacion o en otras palabras software que es muy conocido en esos terminos, tambien les platicare que debe llevar el software que se elabore para cumplir los requisitos para que este tenga calidad, y tambien saber que pide el cliente cuando se trata de diseñar algun software.

"IMPACTO SOCIAL"
Este tema en la sociendad tiene bastante importancia ya que atraves de estos sistesmas de software puede realizar varias tareas que le facilitaran su trabajo en cualquier area de trabajo, ya que es un tema que tiene mucha inportancia en la ciencia de la Informatica.

"IMPACTO TECNOLOGICO, ECONOMICO Y AMBIENTAL"
Cuando nos referimos a ingenieria y mas en software tiene mucho impacto tecnologico ya que estamos hablando que usamos la tecnologia mas sofisticada para realizar algun sistema de informacion y mas cuando tenemos que tener ingenio para realizar estos sistemas.
Encuanto al impacto economico si es un poco pesado ya que para relizar un buen sistemas de software se necesita tener el recurso suficiente lo cua eso hace que al cliente se le dificulte contratar un sistema por que piensan que es facil hacer este tipo de sistemas y por eso quieren pagar poco pero hay personas que saben el gran esfuerzo y no les importa cuanto gasten en si sitema, ellos simplemente qieren que sus sistema este funcionando y en buenas condiciones tambien teniendo una buena presentacion el sistema para poder lucirlo ante sus clientes haciendo un mayor prestigio ante las personas.
En el impacto ambiental tiene que ver con la energia que consume el ordenador para realizar el trabajo ya que estas son dependientes de la energia electrica, aunque su gasto no sea mucho pero con todo el tiempo que se usa es suficiente para consumir una gran cantidad de energia.

"OBJETIVOS GENERALES"
En este tema les desarrolare una gama de informacion para la ingenieria de sistemas de software que les pueda servir para desarrollar sistemas de software que les garantize un optimo rendimiento. Tambien asi para recatar los requisitos de el cliente pida al diseñar un sistema de software en las areas de diseño e ingenieria de software.

"OBJETIVOS PERSONALES"
Uno de mis principales objetivos es proporcionarles a ustedes toda la informacion posible hacerca de sistemas de ingenieria de software, para que tengan una vision mas avanzada de este tema. Tambien para tener mas amplio mi blog y si tienen duda en algo pueden dejarme algun comentario y asi poderles ayudar en sus dudas.

"JUSTIFICACION"
Para justificar este tema tiene varias razones las cuales son que hay personas que no les importa como se tiene que elaborar el software por que solo les importa programar eso es lo que quieren y para tener un buen sistema se tiene que saber los requerimientos necesarios para crearlo. Espero que les sirva la informacion que publique ya que en internet hay poca bibliorafia para estos temas.
"VIAVILIDAD"
Viavilidad se entiende en sentido de que sea viable o recomendable algo o alguien, en muchas cosas se tiene que verificar que lo que se esta haciendo o se lleve a cabo tiene que tener una validacion antes de empezar con la obra, en pocas palabras. Ser viable, significa que tiene probabilidad o es factible desarrollar algún tema, para obtener un fin que es mejor conocimiento científico.
En ingenieria del software la viavilidad es de gran inportancia ya que se tiene que ver si es necesario la implementacion de un software en dicho problema, empresa o sotuacion. en la mayoria de los centros comerciales y tiendas se utiliza un sistema en el cual ya no es necesario hacer el conteo y revision de precios solo se pasa por un escaner que detecta el precio y numero de producto, esto se lleva a cabo gracias a un software que realiza la tarea y es facil de usar.
La ingenieria del software es muy viable para situaciones de crear sistemas informaticos, ya que permite ver con presicion lo que realmente pide el cliente y asi nos evita estar analizando y entendiendo lo que se necesita. La ingenieria de software es de gran viavilidad para los diseñadores.
"ACOPIO DE INFORMACION"
En el acopio de informacion es de donde investigamos el tema del que estamos hablando. En ingenieria del software se investigo de un solo autor ya que es mas entendible que otras fuentes consultadas, en este caso consultamos el libro del señor Gonzalo Leon Serrano que nos da una amplia imagen de la ingenieria del software y pasos detallados de esta area, incluso de su historia y como fue evolucionando esta ciencia. Los datos generales de consulta son:

Dr. Ingeniero de Telecomunicación
por la Universidad
Politécnica de Madrid en 1982
es Catedrático de Ingeniería
Telemática en la Escuela Técnica
Superior de Ingenieros de
Telecomunicación de Madrid.
Actualmente, ocupa el cargo de Director del Departamento
de Ingeniería de Sistemas Telemáticos
y Presidente del Consejo Técnico del Centro de
Investigación en Tecnologías y Aplicaciones
Multimedia (CITAM).
Sus actividades de investigación se centran en el
desarrollo de métodos y herramientas para el
diseño de sistemas de comunicación y tiempo real.
Ha dirigido en este campo proyectos de investigación
en los programas europeos ESPRIT, ACTS,
EUREKA, COMETT y en el programa TIC (Tecnologías
de la Información y de las Comunicaciones)
dentro de los programas nacionales, así como con
diversas empresas.

"VALIDACION DE PARAMETROS"

La validación de los parámetros de una investigación son la solución establecida como válida para un problema, permanece como tal siempre y cuando las condiciones del problema tales como: las variables no controlables, que son las fuerzas que limitan las decisiones a las que pueden llegar las personas, estas variables existen fuera de nuestro entorno, pero influyen directamente en las decisiones del hombre por ello se deben identificar estas fuerzas, prever su dirección, intensidad y ajustar o adaptar las decisiones a estos aspectos, los parámetros, las relaciones, etc., no cambien significativamente.

Esta situación se vuelve más factible cuando algunos de los parámetros fueron estimados aproximadamente. Por lo anterior, es necesario generar información adicional sobre el comportamiento de la solución debido a cambios en los parámetros del modelo. Usualmente esto se conoce como análisis de sensibilidad que es hacer un análisis de cualquier método de cálculo que permite llegar a una conclusión final, es una inquietud genérica de los que estudian un tema cuantitativo. Consiste en cambiar los datos para ver la incidencia sobre el resultado. Obtenida la solución óptima de un ejemplo resuelto de programación lineal aparecen para su interpretación, datos complementarios que merecen atención especial. Entre ellos está la preocupación acerca de cómo cambia la solución ante cambios que se realizan (de a uno por vez) en los datos o en los valores de la solución (fijando su valor en otra cifra).En pocas palabras, esta fase consiste en determinar los rangos de variación de los parámetros dentro de los cuales no cambia la solución del problema. Para así enfocar nuestro protocolo de investigación en algo coherente y ligado entre si y los parámetros no se transformen en variantes que nos puedan conducir a cambiar radicalmente la solución de nuestro problema del protocolo establecido.Procedimiento: es una guía detallada de todo lo que se va a hacer y en la secuencia que se va a hacer.

En la ingenieria del software la validacion de parametros es llevar a cabo el procedimiento establecido en el marco teorico, es la unica solucion para un mejoramiento en el software. Tambien en la validacion de para metros tenemos muchas restricciones, es decir a cosas a las que no podemos acceder, por ejemplo no podemos suprimir los pasos para la creacion de un paso que son:

  1. Definocion del problema
  2. Analisis del problema
  3. Seleccion de la mejor alternativa
  4. Diagramacion
  5. Prueba de escritorio
  6. Codificacion
  7. Transcripcion
  8. Compilacion
  9. Pruebas de computador
  10. Documentacion externa
En la validacion de parametros esta es la restriccion y se deben cumplir estos pasos para poder tener un software de calidad. Lo que muchos programadores dicen es que es dificil comprender los tres primeros pasos al realizar un software ya que se debe comprender con presicion lo que realmente se quiere, por eso en la validacion de parametros se establece la solucion y las restricciones. En pocas palabras la solucion son los pasos antes mencionados y las restricciones es salirse de ellos o no utilizarlos.

"ANALISIS DE ALTERNATIVAS"

El análisis de alternativas consiste en identificar estrategias alternativas a partir del árbol de objetivos, que si son ejecutadas, podrían promover el cambio de la situación actual a la situación deseada.

Después de identificadas las distintas estrategias se debe evaluar cada una con varias herramientas de análisis que en realidad son filtros para ir seleccionando.

La selección debiera hacerse tomando en cuenta:

1. Los intereses de los beneficiarios del proyecto

2. Los recursos financieros disponibles

3. Los resultados de estudios económicos (costos totales, beneficios), financieros, sociales, institucionales y ambientales, impacto social, sostenibilidad, experiencias previas

4. Los intereses y mandatos de entidades ejecutoras potenciales

Pasos del análisis de alternativas:

1. Identificar diferentes conjuntos de objetivos (escalones medios-fin) que pudieran ser estrategias potenciales de un proyecto

2. Eliminar los objetivos que no son éticamente deseables o políticamente factibles, o aquellos que ya están siendo perseguidos por otros proyectos de la institución o el área.

3. Evaluar las alternativas respecto de los recursos disponibles, la viabilidad política, los intereses de los beneficiarios, de la entidad ejecutora prevista y de las fuentes de financiamiento.

4. Realizar los estudios pertinentes para el tipo de operación considerado,-económico (TIR, Costo-beneficio, costo efectividad para cada alternativa), financiero (si el ente ejecutor tiene fondos nacionales de contrapartida para el proyecto), social (implicancias para los grupos afectados), ambiental, etc.

5. Decidir cuál es la estrategia o combinación de estrategias (alternativas) más apropiada para ser la del proyecto

En analisis de alternativas en ingenieria de software es ver con que medios contamos para la creacion de dicho proyecto debemos ver la capacidad economica que tenemos y no solo esa sino tambien recursos humanos, financieros, sociales, institucionales y ambientales, impacto social, sostenibilidad, experiencias previas. Tenemos que pensar todos estos puntos antes de poder realizar el proyecto en nuestro caso algun tipo de software.

Si alguna de estas cosas nos faltara tendriamos problemas para realizar algo, aveces la necesidad de un implementacion de un software es muy urgente y casi no tomamos en cuenta nuestros recursos y muchas veces los suprimimos o no los tomamos en cuenta pero es necesario empliarlos para ver hasta donde se puede llegar con nuestro proyecto.


"RECURSOS FINANCIEROS Y HUMANOS"

Las organizaciones requieren de la energía humana para lograr sus objetivos, y éstos se lograrán en la medida que los objetivos institucionales contribuyan a lograr los de las personas que en ella laboran.

Los recursos humanos están conformados por los conocimientos, experiencias, motivación, aptitudes, actitudes, potencialidades, entre otros, que poseen las personas que integran la organización.

El destino de toda organización depende en gran parte de su capital humano, por lo que ésta debe buscar el acrecentamiento de sus recursos a través de su desarrollo y realización integral, mediante procesos eficientes y eficaces de reclutamiento, selección, contratación, inducción, desarrollo, promoción, evaluación, motivación y remuneración de su personal.

Objetivos:

_ Estudiar la importancia de los recursos humanos para el logro de los objetivos organizacionales.

_ Desarrollar procedimientos eficientes y eficaces para la administración de los recursos humanos.

_ Evaluar y desarrollar métodos para el acrecentamiento del capital humano.

En ingenieria del software es muy necesario estos dos puntos que son recursos humanos y financieros, aun que no hay mcho que anexar de estos temas ya que para una buena realizacion de software por lo regular se necesita el recurso financiero, ya que es lo que mueve al recurso humano, en pocas palabras si hay dinero hay gente para realizar cualquier tipo de proyecto y teniendo asi buenos resultados

MARCO TEORICO
INTRODUCCION
Que el «software» es un elemento básico en nuestra sociedad actual como generador de servicios parece un hecho evidente. Que sus costes de desarrollo (y, en muchos casos, de adquisición) sean cada vez más altos respecto al hardware sobre el que se ejecuta también es evidente aunque nos resistamos a aceptarlo en nuestra práctica cotidiana. Que un sistema de software envejece sin necesidad de estropearse (haciéndose inútil en un contexto dado) es un hecho al que nos hemos
acostumbrado a pesar de ser una gran paradoja en productos sin partes mecánicas y con un coste de replicación prácticamente nulo.

Basta echar una ojeada a nuestro alrededor para ver cómo estos sistemas de software están teniendo una importancia creciente, responsabilizándose de los éxitos y fracasos de muchos sistemas basados en ellos y siendo también responsables de los éxitos y fracasos de las empresas que los construyen o utilizan.

Este Capítulo va a profundizar en el concepto de sistema de software con el fin de entender cómo esos hechos acabados de mencionar tienen su justificación. Deseamos que, al final del Capítulo, se disponga de una mejor comprensión del papel que estamos haciendo jugar a los sistemas de software y del que se deriva su complejidad actual.

Finalizaremos con una introducción a la idea de ingeniería de sistemas de software que da título a la monografía. Deseamos aquí relacionarla con la ingeniería de sistemas y determinar su importancia; tiempo tendremos en Capítulos posteriores de analizar cómo la
complejidad de los sistemas de software se puede controlar en el proceso de desarrollo a través de técnicas concretas.

El papel de los recursos software en sistemas complejos

Blanchard define un sistema en la primera monografía de esta serie como: una combinación de recursos (como seres humanos, materiales, equipos, software, instalaciones, datos, etc.) integrados de forma tal que cumplan una función específica en respuesta a una
necesidad designada de un usuario [1]. No sólo incluye los recursos utilizados directamente en el cumplimiento de la misión (esto es, equipo principal, software operativo, personal usuario), sino también los diferentes elementos del apoyo (como por ejemplo: equipos de apoyo y prueba, repuestos y requisitos relacionados de inventario, personal de mantenimiento e instalaciones).
Esta es una definición genérica que incluye todo tipo de sistemas.

Desde sistemas en los que no existen «recursos software» hasta aquellos otros en los que ésos son los elementos fundamentales para conseguir la funcionalidad pretendida. Llamamos recurso software a un programa o conjunto de programas ejecutables que proporcione
algunas de las funciones requeridas por el sistema.

Desde esta perspectiva tan amplia, un sistema se considerará como sistema de software cuando sus recursos software constituyan su elemento básico y la fuente de su funcionalidad básica. Dicho de otro modo, cuando en el proceso de desarrollo sean los recursos software los que determinan el proceso general de desarrollo de todo el sistema y cuando su ejecución pueda realizarse sobre una plataforma hardware genérica.

La complejidad de un sistema tal y como queda descrito a partir de la definición de Blanchard depende no sólo de las múltiples interacciones entre los recursos de que consta sino también de la forma en la que puede evolucionar en respuesta a las necesidades del entorno.
Pues bien, el control de la complejidad de un sistema depende generalmente de las funciones dependientes de sus recursos software y de como éstas se adapten al mundo externo.

Queremos centrar nuestra atención en esta monografía sobre los sistemas de software complejos entendidos como aquellos cuyo desarrollo no es abordable por una única persona y en los que no
existe seguridad absoluta de que se han implementado fielmente los requisitos exigidos por el usuario ni de que se ejecuta correctamente. La ingeniería de sistemas de software pretende, justamente, incrementar esta seguridad durante el proceso de desarrollo hasta alcanzar un nivel de confianza similar al existente en otras ingenierías.



Una perspectiva histórica

El término Ingeniería del Software (ampliamente utilizado hoy día, aunque en esta monografía hemos preferido el de ingeniería de sistemas de software por recalcar el aspecto de sistema) fue acuñado en 1969 en el transcurso de un curso de verano de la OTAN en Garmisch. Centrándonos en la ingeniería de sistemas de software, su consolidación ha sufrido una evolución en etapas en paralelo con la propia evolución de la programación. Destacamos cuatro etapas:

• La programación como base del desarrollo (1955-1965). Énfasis absoluto en la tarea de escribir el código en un lenguaje de programación. Alrededor de los nuevos lenguajes de alto nivel, los programadores se alejan de la estructura de los ordenadores y comienzan a acercarse a la complejidad de las aplicaciones de usuario.
• La génesis (1965-1975). Ligada a la crisis de la programación se plantea la necesidad
de controlar el proceso de desarrollo. Se definen modelos de ciclo de vida como una referencia en la que enmarcar las actividades requeridas. El concepto de ciclo de vida en cascada surge de la necesidad del Departamento de Defensa de EE.UU. de disponer de una documentación
normalizada para todas las etapas del desarrollo y poder controlar en base a ella a los suministradores de productos software.
• La consolidación (1975-1985). El control de las actividades de desarrollo debería permitir
gestionar el proceso. Durante esta etapa aparecen métricas para estimar a priori el coste o el tamaño del sistema; se difunde el uso de métodos de desarrollo. Con ello, el programador se
convierte en analista, diseñador o gestor. Se vislumbra la idea de ingeniero (software).
• Hacia una ingeniería (1985-1995). Aceptando una consolidación de las tecnologías de software,
la mejora viene de la mano de un mejor conocimiento de los procesos con el fin de incrementar la calidad de los productos. Aparece una gestión sofisticada del proceso de desarrollo ligada al control de riesgos y a la madurez de los procesos.
Ingeniería, Sistemas, Software
"HIPOTESIS"
Bueno en mi hipotesis voy a formular las variables necesarias para un mejor ingenieria de software ya que es necesario y de suma importancia para la informacion de sistemas, las variables a tratar son las siguientes:
QUE SE TOME EN CUENTA LA INGENIERIA DE SOFTWARE COMO CUALQUIER OTRA INGENIERIA
Muchas personas piensan que desarrollar software es algo muy sencillo ya que aparenta ser algo que no tiene mucha invstigacion y solo utilizan logica, pero se equivocan porque la ingenieria de software es una de las ingenierias que mas investigacion lleva por que se trata de hacer sistemas lo mas facil de usar para el o los usuarios es decir que hasta la gente con pocos conocimientos lo entienda.
COMO HACER QUE LA INGENIERIA DE SOFTWARE TENGA UN MEJOR METODO DE CREACION Y CALIDAD
La ingenieria del software lleva varios pasos para poder hacer un sistema, por lo regular son 10 y mucha gente o programadores utilizan mas para tener un mejor orden delo que se debe de hacer. Para mi en lo personal no importa cuantos pasos lleve para la ingenieria de software sino la calidad que se esta ofreciendo ya que hay programadores que omiten ciertos pasos para crear sistemas o software y les funcionan muy bien y tienen mucho prestigio. En pocas palabras lo importante es que la ingenieria de software tenga mejores propuestas no importa si son complejas o sencillas sino que lleve a nuestro objetivo principal.
PROGRAMADORES QUE SOLO LES INTERESA PRESUMIR DE SU CAPACIDAD LOGICA SIN TOMAR EN CUENTA LO PRINCIPAL
En este mundo de la informatica hay gente que solo le interesa hacer programas a su antojo sin tomarse la molestia de saber que requisitos deben saber para poder crear software de calidad, es decir, solo les interesa presumir de sus habilidades pero no se dan cuenta que a la mayoria de la gente que se interesa en comprar software para sus negocios o empresas necesitan pasos, los pasos que utilizaron para hacer el software para que sea facil de usar y entender y cuando haya un problema sepan como corregirlo.

"VALIDACION"
Para validar este temas o rama de la Informatica es necesario decir hasta hora con lo que he publicado que es necesario seguir las recomendaciones mencionadas para tener un buen software y asi estar satisfecho por ambos lados. En lo que se refiere a la baja importancia que se le da al software es necesario crear sistemas con mucha seguridad para que sea dificil de crakear y asi no lo tenga gente que ni si quiera le preocupe comprarlo, solo quien tenerlo sin ningun costo, si aumentamos la seguridad lo tienen qe comprar forsozamante. Bueno despues le publicare mas informacion.