36
1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

Embed Size (px)

Citation preview

Page 1: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

11

Capítulo 5Development Strategies

Prof. Nelliud D. Torres

Page 2: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

22

Introducción

• El capítulo 5 describe las últimas actividades importantes de la fase de análisis

• También describe la transición a systems design, prototyping, y guias de diseño de sistemas (systems design guidelines) los cuales se discutirán más adelante.

Page 3: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

33

CICLO DE DESARROLLO DE SISTEMAS

ANÁLISIS

MANTENIMIENTO

PLANIFICACIÓN

DISEÑO

DESARROLLOIMPLANTACIÓN

Especificaciones de Input, Output,

Processing y control

Aprobación del usuario

Pruebas, conversión, adiestramientos y documentación.

Vida útil

HCI – Human computer interface

Capítulo 2Capítulos 3 - 5

Capítulos 6 - 8

Capítulo 9 Capítulos 6 - 8

Capítulo 10

Page 4: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

44

FASE DE ANÁLISIS

ANÁLISIS

REQUIREMENTSMODELING(Capítulo 3)

DATA AND PROCESSMODELING(Capítulo 4)

DEVELOPMENT STRATEGIES

(Capítulo 5)

Page 5: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

55

Development Strategies Overview

• Es muy importante seleccionar la mejor opción de desarrollo del Sistema. Es una desición muy importante y las compañías deben considerar los siguientes tres tópicos:– El impacto del Internet– Opciones de Software outsourcing– Desarrollo del software In-house

Page 6: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

66

El impacto del Internet• El Internet ha traido muchos cambios en la

Industria y el Software es uno de ellos• Anteriormente una compañía solo tenía tres

opciones para desarrollar su sistema.1. Desarrollar el software por si mismo (in-house)

2. Comprar un package (casi siempre hay que modificarlo)

3. Contratar consultores o recursos externos que hagan el trabajo.

Hoy en dia existen muchas más alternativas.

Page 7: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

77

The Impact of the Internet• Software como un Servicio

– La industria llamada Software and Information Industry Association (SIIA) se enfoca en la economía digital.

– La SIIA cree que el concepto de software como un servicio está redefiniendo la forma en la que las compañías desarrollan y utilizan sus Sistemas de Información.

– Muchos observadores esperan que los packages de aplicaciones tradicionales sean reemplazados por servicios basados en Web que eliminan la responsabilidad (y costos) de la empresa de instalar, mantener y actualizar el software desarrollado in-house.

– Comentar al respecto. Ventajas y desventajas.

Page 8: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

88

The Impact of the Internet – Package Software

Método Tradicional Software as a Service

1. Los vendedores de software desarrollan y venden application packages a los clientes.

2. Estos clientes típicamente compran una licencia de uso basado en ciertos términos.

3. Todavía es el método más comun de parte de las empresas.

1. Las compañías rentarían el software en lugar de comprarlo.

2. El uso sería a través del Internet (Web base applications).

3. Se espera que cambien el concepto de venta del software en un futuro no muy lejano.

Page 9: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

99

The Impact of the Internet

• The Impact of the Internet on Systems Development– Los desarrolladores se enfocaran en

aplicaciones basadas en Web en donde el Internet viene a ser una parte integral de la aplicación en lugar de meramente un canal de comunicación. (OJO-Tesina y Proyecto).

– Ejemplo de esto es:

Page 10: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

1010

IBM’s WebSphere

Page 11: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

1111

Microsoft’s .NET

Page 12: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

1212

The Impact of the Internet• Medio Ambiente de Desarrollo Tradicional

– El diseño del sistema es influenciado por problemas de compatibilidad (hardware, software, etc.)

– Se diseña para correr en una red local o wide-area company networks.

– Las capacidades del Web se ven como adiciones al sistema y no como el core central del diseño.

– El scalability puede afectarse por limitaciones de telecomunicaciones y restricciones en la red local.

– Muchas de estas aplicaciones piden muchos recursos al cliente.

– Los problemas de seguridad son menos complejos que los sistemas basados en Web. (centralización y no uso del internet directamente)

Page 13: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

1313

The Impact of the Internet• Medio Ambiente de Desarrollo Tipo Web

– Los sistemas son desarrollados en plataformas Internet-based framework tales como .NET o WebSphere

– Estos proyectos ven al Web como la plataforma principal, en lugar de un canal de comunicación

– Web-based software usualmente requiere layers(capas) adicionales llamadas middleware

Page 14: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

1414

Outsourcing• Definición: Es la transferencia de:

1. Desarrollos de los Sistemas de Información

2. Su operación

3. Su mantenimiento

A una firma externa que provee esos servicios a un costo fijo por un periodo de tiempo temporero o indefinido.

Estos servicios pueden ser:

1. Tareas mínimas de programación

2. Renta de Software

3. Transerencia de un basic business process (también llamado business process outsourcing, or BPO)

4. El manejo completo del IT de una compañía.

Page 15: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

1515

THE OUTSOURCING CENTER

Se dedica a proveer información sobre las prácticas y tendencias de esta modalidad.

Page 16: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

1616

Outsourcing• The Growth of Outsourcing

– Tradicionalmente las compañías utilizan este método como una forma de controlar costos y adaptarse a los rápidos cambios tecnológicos.

– Outsourcing se ha convertido en parte de la estrategia de IT para muchas organizaciones. (afecta al programador, no al analista) y continua adquiriendo más demanda.

– Una firma que ofrece servicios de outsourcing se llama un provedor de servicios(service provider).

– Application service providers (ASP) – Renta paquetes de aplicaciones tales como databases, contabilidad, etc.

– Internet business services (IBS) – Proveen apoyo web-based en Sistemas que generan muchas transacciones como lo son order processing, billing, etc.

Page 17: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

1717

Outsourcing

• Outsourcing Fees (Métodos de cobro)– Tarifa fija (fixed fee) - Se cobra basado en un nivel

epecífico de servicio y de apoyo al usuario.– Subscripción (subscription model) - Se cobra

dependiendo del número e usuarios de computdoras que tienen acesso a la aplicación.

– Transacción (usage model or transaction model) – Se cobra de acuerdo al volumen de las transacciones o de las operaciones ejecutadas por la aplicación.

Page 18: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

1818

Outsourcing• Outsourcing Issues and Concerns (Factores a

considerar)– Los sistemas críticos podrían ser out-sourced solo si los

costos son atractivos, que sea confiable y que la solución vaya de acuerdo con la visión de la compañía a largo plazo.

– Outsourcing puede afectar las operaciones diarias de la compañía y levantar dudas sobre su efectividad.

– Outsourcing puede ser atractivo para las compañías que tienen volumen de trabajo variable (que en ciertos momentos es alto) ya que se puede contratar estos servicios durante esos periodos eclusivamente sin la necesidad e conratar personal temporeramente.

Page 19: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

1919

Outsourcing

• Offshore Outsourcing– Offshore outsourcing = global outsourcing– Muchas firmas están enviando actualmente

trabajo de IT a otros paises a un ritmo ascendente.

– Gartner, a leading IT research and consulting firm, predicts that by 2005 one in 10 IT jobs at U.S. IT companies and one in 20 at non-IT companies will move offshore

Page 20: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

2020

In-House Software Development Options

• Una compañía puede escoger entre desarrollar su propio sistema o comprar un package y posiblemente adaptarlo a sus necesidades (customize)

• Hay que considerar en todo esto,todos los posibles costos (total cost of ownership (TCO))

• Las compañías también desarrollan aplicaciones para los usuarios diseñadas en base a software packages comerciales

Page 21: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

2121

In-House Software Development Options

En lugar de outsourcing, una compañía puede escoger entre desarrollar un sistema in-house o comprar un package comercial.

Page 22: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

2222

In-House Software Development Options

• Make (build) or Buy Decision– Es la opción entre desarrollar y comprar software.– Las compañías que desarrollan software pra la venta se

conocen como software vendors– Value-added reseller (VAR) – Es una firma que añade

opciones a los programas comerciales y los adapta a alas necesidades de la empresa.

– Horizontal application – Software que se puede utilizar en muchos tipos de organización. Ej. PeachTree

– Vertical application – Software que se utiliza únicamente para ciertos tipoes de compañías. Por ejemplo un sistema de reservación de hotel, un sistema de matrícula de una universidad, etc.

Page 23: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

2323

In-House Software Development Options

• Developing Software In-House– Satisface requerimientos unicos del negocio– Minimiza los cambios en procedimiento de negocios y

politica empresarial.– Que cumpla con las condiciones de los sistemas existentes

(interface)– Que cumpla con las condiciones y limitaciones de la

tecnología existente en la empresa.– Desarrollar recursos internos y capacidades (capabilities)– Satisface requerimientos de segurida que sean particulares

de esa compañía.

Page 24: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

2424

In-House Software Development Options

• Purchasing a Software Package– Abarata los costos– Requiere de menos tiempo para implementar– Provee confiabilidad y rendimiento(performance)– Requiere de menos personal técnico o de

desarrollo– Futuros upgrades son proveidos por el vendedor

(vendor)– Se obtiene insumo (Input) de otras compañías.

(usuarios que utilizen el mismo package)

Page 25: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

2525

FIGURA 5-11

Comparación entre ambas opciones

Page 26: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

2626

In-House Software Development Options

• Customizing a Software Package – Si el package no satisface los requerimientos de la empresa, se puede:1. Comprar un basic package que los vendedores van a

modificar para satisfacer sus necesidades

2. Negociar directamente con el vendedor para hacerle mejoras que cumplan con los requerimientos de la empresa y pagar por esos cambios.

3. Comprar elproducto y que lamisma empresa haga sus modificaciones. En lalicencia de uso debe quedar establecido que el source es parte de la venta. Obviamente esto aumento el costo de comprar ese package.

Page 27: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

2727

In-House Software Development Options

• Creating User Applications– Un user application utiliza un standard business software

como por ejemplo Word o Excel (pag. 14 los menciona)– Esto permite al end-user poder obtener datos de los cuales

puede crear información útil. (antes esto era taboo, explicar)– Se debe crer un user interface para facilitarle al usuario

utilizar esos programas de acuerdo a sus necesidades. (Ej. Se puede combinar Visual Basic con Office)

– Help desk or information center (IC) - Se le debe dar al usuario una herramienta para ayudarlo en sus problemas con esas aplicaciones.

– Screen generators– Report generators – Read-only properties – Los datos debes estar protegidos.

Por ejemplo un archivo debe ser read-only para evitar que el usuario lo modifique. Otros archivos deben estar escondidos (hide).

Ejemplo: Access

Page 28: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

2828

Prototyping

• El prototyping produce una versión que trabaja de un sistema propuesto de una forma rápida y temprana llamada prototipo.

Page 29: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

2929

Métodos de Prototyping• System prototyping – Provee un modelo

funcional con todas las capacidades y requerimientos del sistema.

• Design prototyping (Throwaway prototyping) – Se utiliza para verificar los requerimientos del usuario y despues se descarta.

Page 30: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

3030

Prototyping• Prototyping Methods

– Ofrece muchos beneficios• Evita malos entendidos entre los usuarios y los

desarrolladores • Los gerente pueden evaluar un modelo funcional

(working model) más efectivamente que unas especificaciones en papel

– Problemas potenciales• Debido a lo rápido del desarrollo del prototipo, puede

crear problemas de calidad en el sistema.• En sistemas que son extremadamente complejos, el

prototipo no es conveniente. Es muy dificil de preparar y los beneficos posiblemente no superen los costos estimados.

Page 31: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

3131

Prototyping

• Prototyping Tools– Los analista pueden utilizar poderosas

herramientas para desarrollar prototipos entre las que podemos mencionar:

• CASE tools• Application generators - OJO• Report generators• Screen generators• Fourth-generation language (4GL)• Fourth-generation environment

Page 32: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

3232

FIGURA 5-30

Page 33: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

3333

Prototyping

• Limitaciones de los Prototipos– Es un sistema funcional, pero menos eficiente que

un sistema completo.– Los desarrolladores pueden hacer un upgrade al

prototipo e incluirle las capacidades que le falten o mejorarle las deficiencias que pueda tener.

– De lo contrario, el prototipo se descarta.

Page 34: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

3434

Otros Modeling Tools

• Systems flowchart – Es un modelo que utiliza varios símbolos para identificar operaciones de Input y Output. Actualmente se utilizan más para documentación o cotejo de un proceso

• Utlizan una serie de simbolos ya definidos por la American National Standards Institute (ANSI)

Page 35: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

3535

SIMBÓLOS

Page 36: 1 1 Capítulo 5 Development Strategies Prof. Nelliud D. Torres

3636

EJEMPLO DE UN SYSTEM FLOWCHART