Está en la página 1de 7
1.1.2 1.1.3 1.1.4 2Qué es la ingenieria del software? La ingenierfa del software es una disciplina de la ingenieria que comprende todos los aspec- tos de la produccién de software desde las etapas iniciales de la especificacién del sistema, hasta el mantenimiento de Este después de que se uiliza. En esta definicién, existen dos fra- ses clave: 1. Disciplina de la ingenierfa, Los ingenieros hacen que las cosas funcionen, Aplican teorfas, métodos y herramientas donde sean convenientes, pero las utilizan de forma selectiva y siempre tratando de descubrir soluciones a los problemas, aun cuando no existan teor‘as y métodos aplicables para resolverlos. Los ingenieros también saben que deben trabajar con restrcciones financieras y organizacionales, por lo que buscan soluciones tomando en cuenta estas restricciones. 2. Todos tos aspectos de produccién de software. La ingenieria del software no s6lo ‘comprende los procesos técnicos del desarrollo de software, sino también con activi- dades tales como la gestién de proyectos de software y el desarrollo de herramientas, rmétodos y teorias de apoyo a la produccién de software. En general, los ingenieros de software adoptan un enfogue sistematico y organizado en su trabajo, ya que es la forma més efectiva de producir software de alta calidad. Sin embar- 220, aunque la ingenierfa consiste en seleccionar el método mas apropiado para un conjunto de circunstancias. un enfoaue mas informal v creativo de desarrollo podsfa ser efectivo en al- _gunas circunstancias. El desarrollo informal es apropiado para el desarrollo de sistemas ba- sados en Web, los cuales requieren una mezcla de técnicas de software y de disefio grifico, éCual es la diferencia entre ingenieria del software y ciencia de la computacién? Exencialmente, I ciencia de la computacién se refiere a las teorias y métodos subyacentes a las computadoras y los sistemas de software, mientras que Ia ingenieria del software se refie- re alos problemas précticos de producir sofiware. Los ingenieros de software requieren cier tos conocimientos de ciencia de la computacién, de la misma forma que los ingenieros eléc tricos requieren conocimientos de fisica. ‘Lo ideal seria que todos los ingenieros de software conocieran las teorias de la ciencia de la computacién, pero en realidad éste no es el caso, Los ingenieros de software a menudo ut lizan enfoques ad hoc para desarrollar el software. Las ingeniosas teorfas de la ciencia de la computacidn no siempre pueden aplicarse a problemas reales y complejos que requieren una solucién de software 2Cual es Ia diferencia entre ingenieria del software e ingeni de sistemas? La ingenieria de sistemas se refiere a todos los aspectos del desarrollo y de la evolucisn de sistemas complejos donde el software desempeits un papel principal. Por lo tanto, la ingenie- ria de sistemas comprende el desarrollo de hardware, politcas y procesos de disefio y distri- bbucidn de sistemas, asf como la ingenierta del software, Los ingenieros de sistemas estan in volucrados en Ia especificacién del sistema, en la definicién de su arquitectura y en la integracién de las diferentes partes para crear el sistema final. Estén menos relacionados con Ja ingenierfa de los componentes del sistema (hardware, software, etc). La ingenierfa de sistemas es mas antigua que la del software. Por més de 100 aos, las per= sonas han especificado y construido sistemas industriales complejos, como aviones y plantas ‘quimicas. Sin embargo, puesto que se ha incrementado el porcentaje de software en los siste- ‘mas, las técnicas de ingenieria del software tales como el modelado de casos de uso y la ges tidn de la configuraciGn se utilizan en el proceso de ingenierfa de sistemas, En el Capitulo 2 se tata con mayor detalle la ingenieria de sistemas. 115 Qué es un proceso del softwi 2 Un proceso del software es un conjunto de actividades y resultados asociados que producen un producto de sofiware. Estas actividades son levadas a cabo por los ingenietos de software. Existen cuatro actividades fundamentales de procesos (incluidas mis adelante en este libro) {que son comunes para todos los procesos del software, Estas actividades son: L._Especificacién del software donde tos clientes ingenieros definen el software a pro- duce y las restricciones sobre su operacién, 2. Desarrollo del software donde el software se disea y programs. Validacién del software donde el software se valida para ascgurar que es lo que el cliente requiere Evolucién del sofowure donde el sofiware se modifica para adapario alos cambios re- ‘queridos por el cliente y el mercado, Diferemtes tipos de sistemas necesitan diferentes procesos de desarrollo. Por ejemplo, el software de tiempo real en un avin tiene que ser completamente especificado antes de que empiece el desarollo, mientras que en un sistema de comercio electénico, la especificacion el programa normalmente son desarrollados juntos. Por lo tanto, esta actividades genéri- cas pueden organizarse de diferentes formas y describirse en diferentes niveles de detalle para diferentes tipos de software. Sin embargo, el uso de un proceso inadecuado del software puc- de reducir la calidad o la uilidad del producto de software que se va a desarrollar y/o incre- ‘mentar los costes de desarrollo, 1.1.6 2Qué es un modelo de procesos del software? Un modelo de procesos del software es una descripcién simplificada de un proceso det software que presenta una visién de ese proceso. Estos modelos pueden incluir actividades {que son parte de los procesos y productos de software y el papel de las personas involucra- das en Ia ingenieria del software. Algunos ejemplos de estos tipos de modelos que se pueden producir son: 1. Un modelo de flujo de trabajo. Mucstra la secuencia de actividades en el proceso jun- {o.com sus entradas, salidas y dependencias. Las actividades en este modelo represen- tan acciones humana. 2. Un modelo de flujo de datos o de actividad. Representa el proceso como un conjunto ‘de actividades, cada una de las cuales realiza alguna transformacién en los datos “Muestra cémo la entrada en el proceso, tal como una especificaciGn, se transforma en tuna salida, al como un disefio. Pueden representar transformaciones llevadas a cabo por las personas o por las computadoras. 3. Un modelo de roliaccién, Representa ios roles de las personas involucrada en el pro- cceso del software y las actividades de las que son responsables. La mayor parte de los modelos de procesos del software se basan en uno de los tres mo- delos generales 0 paradigmas de desarrollo de software: 1 El enfoque en cascada, Considera las actividades anteriores y las representa como fa- ses de procesos separados, tales como la especificacién de requerimientos, el diseiio del software, la implementacién, las pruebas, eteétera. Después de que cada etapa que- da definida «se firmay y el desarrollo continéa con la siguiente etapa. Desarrollo iterativo. Este enfoque entrelaza las actividades de especificacién, desarrollo y validacién. Un sistema inicial se desarrolla répidamente a partir de especificaciones muy abstractas. Este se refina basdndose en las peticiones del clien- te para producir un sistema que satisfaga las necesidades de dicho cliente. El sistema puede entonces ser entregado. De forma alternativa, se puede reimplementar uti- Tizando un enfoque més estructurado para producir un sistema més s6lido y man- tenible. Ingenieria del software basada en componentes (CBSE). Esta técnica supone que !as partes del sistema existen. El proceso de desarrollo del sistema se enfoca en la inte- graciGn de estas partes més que desarrollarlas desde el principio. En el Capitulo 19 se estudia la CBSE. 1.1.7 {Cudles son los costos de ta ingenieria del software? No existe una respuesta sencilla a esta pregunta ya que la distribucién de costos através de las diferentes actividades en el proceso del software depende del proceso utlizado y del tipo de software que se vaya a desarroliar. Por ejemplo, el Sofiware de tiempo real normalmente re- uiere una validacién y pruebas més extensas que los sistemas basados en web, Sin embargo, cada uno de los diferentes enfoques genéricos al desarrollo del software tiene un perfil de dis tribucion de costos diferente a través de las actividades del proceso del software. Si se consi era que el costo total del desarrollo de un sistema de software complejo es de 100 unidades de costo, la Figura 1.2 muestra cémo se gastan éstas en las diferentes actividades del proceso. En el enfoque en cascada, los costos de especificacién, disefto, implementacién e integra- cidn se miden de forma separada. Observe que la integracién y prucbas del sistemas son las actividades de desarrollo més caras. Normalmente, ste supone alrededor del 40% del costo

También podría gustarte