ANLISIS Y DISEO DE PROGRAMAS PROFESOR: HERNANDEZ FAJARDO OSCAR SOFTWARE Definicin El software es el conjunto de instrucciones que las computadoras emplean para manipular datos. El Software es un conjunto de programas, documentos, procedimientos, y rutinas asociadas con la operacin de un sistema de cmputo. Comnmente a los programas de computacin se les llama software; el software asegura que el programa o sistema cumpla por completo con sus objetivos, opera con eficiencia, esta adecuadamente documentado, y suficientemente sencillo de operar. Es simplemente el conjunto de instrucciones individuales que se le proporciona al microprocesador para que pueda procesar los datos y generar los resultados esperados. Tipos: De Sistema Son aquellos que ayudan a funcionar el hardware y a la computadora. Su propsito es evitar lo ms posible los detalles complejos de la computacin, especialmente memoria y hardware. Como ejemplos tenemos S.O., drivers y herramientas de diagnstico De Programacin Son aquellas herramientas que un programador utiliza para poder desarrollar programas informticos. Para esto, el programador se vale de distintos lenguajes de programacin. Como ejemplo se pueden tomar compiladores, programas de diseo asistido por computador, paquetes integrados, editores de texto, enlazadores, depuradores, intrpretes, entre otros. De Aplicacin Es aquel que permite a los usuarios interactuar con el sistema operativo as como tambin controlarlo. Este sistema est compuesto por una serie de programas que tienen como objetivo administrar los recursos del hardware y, al mismo tiempo, le otorgan al usuario una interfaz.
ANLISIS Y DISEO DE PROGRAMAS PROFESOR: HERNANDEZ FAJARDO OSCAR Importancia del software Software es todas las instrucciones (conjunto de ellas), que son mandados al CPU para que ste a su vez, mande instrucciones a los perifricos que componen a una computadora. Sin el software slo se tendran componentes sin funcionalidad alguna. Anlisis de Requisitos Es una tarea de ingeniera del software a nivel sistema y el diseo de software. Permite al ingeniero especificar caractersticas operacionales del software. Tareas de Anlisis: 1.-Reconocimiento del problema 2.-Evaluacin de sntesis 3.-Modelado 4.-Especificacin 5.-Revisin Todos los mtodos de anlisis se relacionan por un conjunto de principios operativos: 1.-Entender el problema antes de empezar a crear el modelo de anlisis 2.-Desarrollar prototipos que permitan al usuario entender como ser la interaccin Hombre Mquina. 3.-Registrar el orden y la razn de cada requerimiento 4.-Utilizar mltiples planteamientos de requerimientos 5.-Priorizar los requerimientos 6.-Trabajar para eliminar la ambigedad
ANLISIS Y DISEO DE PROGRAMAS PROFESOR: HERNANDEZ FAJARDO OSCAR Funciones y habilidades del analista 1. Entrevistas 2. Talleres 3. Observacin 4. Encuestas 5. Revisin documental 6. Uso de especificaciones formas para requerimientos (formatos estndar de documentos UML, Diagramas, etc.). Ciclo de vida del software Son las etapas resultantes del proceso de creacin del software hasta que ste es retirado. 1. Anlisis 2. Diseo 3. Codificacin Ciclo de vida en cascada. 4. Pruebas 5. Mantenimiento Ms que una disciplina o un cuerpo de conocimiento, la ingeniera es un verbo, una palabra de accin, una manera de abordar un problema.
ANLISIS Y DISEO DE PROGRAMAS PROFESOR: HERNANDEZ FAJARDO OSCAR Ciclo de Vida en Espiral
1) Determinar Objetivos a) Definir requerimientos, especificacin, manual de usuario b) Fijar restricciones c) Identificar riesgos del proyecto d) Planificacin inicial 2) Anlisis del Riesgo a) Estudio de las causas de las posibles amenazas y probables eventos no deseados y los daos que stos puedan provocar. 3) Planificar a) Revisar todo lo hecho, evaluando y decidir si se contina con las prximas fases 4) Desarrollar y probar a) Tareas de prueba b) Anlisis de alternativas c) Modelo de desarrollo
ANLISIS Y DISEO DE PROGRAMAS PROFESOR: HERNANDEZ FAJARDO OSCAR MODELAR Accin y efecto de crear un modelo. Modelo Descripcin analgica para ayudar a visualizar algo que no se puede observar directamente y que se realiza con un propsito determinado y va designado a un pblico en especfico. Como ejemplo podramos tener un modelo, o mapa de una ciudad. Es la representacin de cosas que no podemos ver a simple vista. El modelo no es lo que queremos ver, sino una representacin. El software necesita modelos para comunicar de manera sencilla una idea abstracta.
Objeto Podemos definir objeto como el "encapsulamiento de un conjunto de operaciones (mtodos) que pueden ser invocados externamente, y de un estado que recuerda el efecto de los servicios". Objeto adems de un estado interno, presenta una interfaz para poder interactuar con el exterior. Es por esto por lo que se dice que en la programacin orientada a objetos "se unen datos y procesos", y no como en su predecesora, la programacin estructurada, en la que estaban separados en forma de variables y funciones. Un objeto consta de: Tiempo de vida: La duracin de un objeto en un programa siempre est limitada en el tiempo. La mayora de los objetos slo existen durante una parte de la ejecucin del programa. Los objetos son creados mediante un mecanismo denominado instanciacin, y cuando dejan de existir se dice que son destruidos. Estado: Todo objeto posee un estado, definido por sus atributos. Con l se definen las propiedades del objeto, y el estado en que se encuentra en un momento determinado de su existencia. Comportamiento: Todo objeto ha de presentar una interfaz, definida por sus mtodos, para que el resto de objetos que componen los programas puedan interactuar con l.
ANLISIS Y DISEO DE PROGRAMAS PROFESOR: HERNANDEZ FAJARDO OSCAR Clases Las clases son abstracciones que representan a un conjunto de objetos con un comportamiento e interfaz comn. Podemos definir una clase como "un conjunto de cosas (fsicas o abstractas) que tienen el mismo comportamiento y caractersticas... Es la implementacin de un tipo de objeto (considerando los objetos como instancias de las clases)". Una clase no es ms que una plantilla para la creacin de objetos. Cuando se crea un objeto (instanciacin) se ha de especificar de qu clase es el objeto instanciado, para que el compilador comprenda las caractersticas del objeto. Mtodos Son las funciones que un objeto puede realizar con los atributos previamente declarados en la clase. Adems pueden ser vistas como las funciones mediante las que las clases representan el comportamiento de los objetos. En dichos mtodos se modifican los valores de los atributos del objeto, y representan las capacidades del objeto. Polimorfismo En programacin orientada a objetos se denomina polimorfismo a la capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en funcin de los parmetros utilizados durante su invocacin. Un objeto polimrfico es una entidad que puede contener valores de diferentes tipos durante la ejecucin del programa. Herencia Decir que una clase hereda de otra quiere decir que esa clase obtiene los mismos mtodos y propiedades de la otra clase. Permitiendo de esta forma aadir a las caractersticas heredadas las suyas propias. Tipos de herencia (a) Por especializacin Una herencia por especializacin es la que se realiza cuando necesitamos crear una clase nueva que disponga de las mismas caractersticas que otra pero que le aada funcionalidades. Por ejemplo si tenemos una clase que genera un botn simple, y necesitamos crear un botn que sea igual que el anterior pero que adems aada un efecto al ser clicado. (b)Por generalizacin ANLISIS Y DISEO DE PROGRAMAS PROFESOR: HERNANDEZ FAJARDO OSCAR Una herencia por especializacin es la que se realiza cuando necesitamos crear una clase nueva que disponga de las mismas caractersticas que otra pero que le aada funcionalidades. Por ejemplo si tenemos una clase que genera un botn simple, y necesitamos crear un botn que sea igual que el anterior pero que adems aada un efecto al ser clicado. Sobrecarga de Operadores La sobrecarga de operadores es la capacidad para transformar los operadores de un lenguaje como por ejemplo el +, -, etc., cuando se dice transformar se refiere a que los operandos que entran en juego no tienen que ser los que admite el lenguaje por defecto. Mediante esta tcnica podemos sumar dos objetos creados por nosotros o un objeto y un entero, en vez de limitarnos a sumar nmeros enteros o reales, por ejemplo. Existen 2 tipos de operadores, unario y binarios. Los unarios son aquellos que solo requieren un operando, por ejemplo a++, en este caso el operando es 'a' y el operador '++'. Los operadores binarios son aquellos que necesitan dos operadores, por ejemplo a+c, ahora el operador es '+' y los operandos 'a' y 'c'. Los operadores que podemos sobrecargar son los unarios, +, -!, ~, ++, --; y los binarios +, -, *, /, %, &, |, ^, <<, >>. Es importante decir que los operadores de comparacin, ==,!=, <, >, <=, >=, se pueden sobrecargar pero con la condicin que siempre se sobrecargue el complementario, es decir, si sobrecargamos el == debemos sobrecargar el !=