Anda di halaman 1dari 8

Diseo del sistema en base a procesos Actividades y casos de uso

. La experiencia y prctica de quien hace los diagramas y su respectiva descripcin marca el punto de vista o tendencia, que genera una manera particular de poner nfasis en determinados elementos. Por ejemplo si soy un desarrollador, veo en todas partes mens, tablas, opciones, clics y dems elementos es decir no analizo un problema y doy su solucin sino que de una vez pienso en como debera correr la apliacin. 2. El modelo de casos de uso, permite hacer una mejor toma de requerimientos y clarificar la funcionalidad del sistema, es decir que espera el usuario que haga el sistema, no tanto como lo haga o con que. 3. Por lo tanto una descripcin de un caso de uso especfico se debe orientar hacia que es lo que ese usuario hara all en interaccin con un sistema. Por lo tanto si tiene un caso de uso llamado Registrar inventario, en la descripcin no puede tener un paso que diga el usuario registra el inventario y listo, puesto que eso es precisamente lo que le preguntan, como se registra, (los pasos), los datos que se manipulan y que operaciones se hacen con ellos. Para que posteriormente un desarrollador pueda crear las pantallas y mens Recuerde que usted como tecnologo o ingeniero, entra a ser parte de un equipo, no lo hace todo usted y los dems necesitan especifaciones claras para poder hacer su trabajo. Una buena descripcin de casos de uso, en relacin con un buen modelo de clases facilita inmediatamente los diagras de secuencias y actividades y por lo tanto favorecen un ptimo desarrollo de la aplicacin. Un caso de uso es una descripcin de los pasos o las actividades que debern realizarse para llevar a cabo algn proceso. Los personajes o entidades que participarn en un caso de uso se denominan actores.En el contexto de ingeniera del software, un caso de uso es una secuencia de interacciones que se desarrollarn entre un sistema y sus actores en respuesta a un evento que inicia un actor principal sobre el propio sistema. Los diagramas de casos de uso sirven para especificar la comunicacin y el comportamiento de un sistema mediante su interaccin con los usuarios y/u otros sistemas. O lo que es igual, un diagrama que muestra la relacin entre los actores y los casos de uso en un sistema. Una relacin es una conexin entre los elementos del modelo, por ejemplo la especializacin y la generalizacin son relaciones. Los diagramas de casos de uso se utilizan para ilustrar los requerimientos del sistema al mostrar cmo reacciona a eventos que se producen en su mbito o en l mismo. Los ms comunes para la captura de requisitos funcionales, especialmente con el desarrollo del paradigma de la programacin orientada a objetos, donde se originaron, si bien puede utilizarse con resultados igualmente satisfactorios con otros paradigmas de programacin.

Interfaces de usuarios
Las interfaces bsicas de usuario son aquellas que incluyen elementos como mens, ventanas, teclado, ratn, los beeps y algunos otros sonidos que la computadora hace, y en general, todos aquellos canales por los cuales se permite la comunicacin entre el ser humano y la computadora. La mejor interaccin humano-mquina a travs de una adecuada interfaz (Interfaz de Usuario), que le brinde tanto comodidad, como eficiencia.

[editar] Tipos de interfaces de usuario


Dentro de las Interfaces de Usuario se puede distinguir bsicamente tres tipos: A) Una interfaz de hardware, a nivel de los dispositivos utilizados para ingresar, procesar y entregar los datos: teclado, ratn y pantalla visualizadora. B) Una interfaz de software, destinada a entregar informacin acerca de los procesos y herramientas de control, a travs de lo que el usuario observa habitualmente en la pantalla. C) Una interfaz de Software-Hardware, que establece un puente entre la mquina y las personas, permite a la mquina entender la instruccin y a el hombre entender el cdigo binario traducido a informacin legible.

[editar] Funciones principales


Sus principales funciones son las siguientes:

Puesta en marcha y apagado. Control de las funciones manipulables del equipo. Manipulacin de archivos y directorios. Herramientas de desarrollo de aplicaciones. Comunicacin con otros sistemas. Informacin de estado. Configuracin de la propia interfaz y entorno. Intercambio de datos entre aplicaciones. Control de acceso. Sistema de ayuda interactivo.

[editar] Tipos de interfaces de usuario


[editar] Segn la forma de interactuar del usuario
Atendiendo a como el usuario puede interactuar con una interfaz, nos encontramos con varios tipos de interfaces de usuario:

Interfaces alfanumricas (intrpretes de comandos) que solo presentan texto. Interfaces grficas de usuario (GUI, graphic user interfaces), las que permiten comunicarse con el ordenador de una forma muy rpida e intuitiva representando grficamente los elementos de control y medida. Interfaces tctiles, que representan grficamente un "panel de control" en una pantalla sensible que permite interactuar con el dedo de forma similar a si se accionara un control fsico.

[editar] Segn su construccin


Pueden ser de hardware o de software:

Interfaces de hardware: Se trata de un conjunto de controles o dispositivos que permiten que el usuario intercambie datos con la mquina, ya sea introducindolos (pulsadores, botones, teclas, reguladores, palancas, manivelas, perillas) o leyndolos (pantallas, diales, medidores, marcadores, instrumentos). Interfaces de software: Son programas o parte de ellos, que permiten expresar nuestros deseos al ordenador o visualizar su respuesta.

Diseo de lgica
El diseo lgico es el proceso de construir un esquema de la informacin que utiliza la empresa, basndose en un modelo de base de datos especfico, independiente del SGBD concreto que se vaya a utilizar y de cualquier otra consideracin fsica. En esta etapa, se transforma el esquema conceptual en un esquema lgico que utilizar las estructuras de datos del modelo de base de datos en el que se basa el SGBD que se vaya a utilizar, como puede ser el modelo relacional, el modelo de red, el modelo jerrquico o el modelo orientado a objetos. Conforme se va desarrollando el esquema lgico, ste se va probando y validando con los requisitos de usuario. La normalizacin es una tcnica que se utiliza para comprobar la validez de los esquemas lgicos basados en el modelo relacional, ya que asegura que las relaciones (tablas) obtenidas no tienen datos redundantes. Esta tcnica se presenta en el captulo dedicado al diseo lgico de bases de datos. El esquema lgico es una fuente de informacin para el diseo fsico. Adems, juega un papel importante durante la etapa de mantenimiento del sistema, ya que permite que los futuros cambios que se realicen sobre los programas de aplicacin o sobre los datos, se representen correctamente en la base de datos. Tanto el diseo conceptual, como el diseo lgico, son procesos iterativos, tienen un punto de inicio y se van refinando continuamente. Ambos se deben ver como un proceso de aprendizaje en el que el diseador va comprendiendo el funcionamiento de la empresa y el

significado de los datos que maneja. El diseo conceptual y el diseo lgico son etapas clave para conseguir un sistema que funcione correctamente. Si el esquema no es una representacin fiel de la empresa, ser difcil, sino imposible, definir todas las vistas de usuario (esquemas externos), o mantener la integridad de la base de datos. Tambin puede ser difcil definir la implementacin fsica o el mantener unas prestaciones aceptables del sistema. Adems, hay que tener en cuenta que la capacidad de ajustarse a futuros cambios es un sello que identifica a los buenos diseos de bases de datos. Por todo esto, es fundamental dedicar el tiempo y las energas necesarias para producir el mejor esquema que sea posible.

Clases y objetos
Objetos

Un objeto es una cosa tangible, algo a que se puede aprehender intelectualmente o algo hacia lo que se puede dirigir una accin o pensamiento. Un objeto representa un item individual e identificable, o una entidad real o abstracta, con un papel definido en el dominio del problema Un objeto tiene: 1. Estado 2. Comportamiento 3. Identidad La estructura y el comportamiento de objetos similares se definen en sus clases comunes. El trmino objeto y ejemplo (instance) de una clase son intercambiables.

Estado de un objeto El estado de un objeto abarca todas las propiedades del objeto, y los valores actuales de cada una de esas propiedades. Las propiedades de los objetos suelen ser estticas, mientras los valores que toman estas propiedades cambian con el tiempo.

El hecho de que los objetos tengan estado implica que ocupan un espacio, ya en el mundo fsico , ya en la memoria del ordenador. El estado de un objeto est influido por la historia del objeto. No deben confundirse los objetos, que existen en el tiempo, son mutables, tienen estado, pueden ser creados, destruidos y compartidos..., con los valores (los asignados a una variable, por ejemplo) que son cantidades con las propiedades de ser atemporales, inmutables. El estado de un objeto representa el efecto acumulado de su comportamiento.

Identidad de un objeto Identidad es la propiedad de un objeto que lo lleva a distinguirse de otros.

Comportamiento de un objeto Comportamiento es como un objeto actua y reacciona, en trminos de sus cambios de estado y de los mensajes que intercambia. El comportamiento de un objeto representa su actividad externamente visible y testable. Son las operaciones que una clase realiza (llamadas tambin mensajes) las que dan cuenta de como se comporta la clase. Por operacin se denota el servicio que una clase ofrece a sus clientes. Un objeto puede realizar cinco tipos de operaciones sobre otro, con el proposito de provocar una reaccin: 1. 2. 3. 4. 5. Modificador: altera el estado de un objeto. Selector: accede al estado de un objeto, sin alterarlo. Iterador: permite a todas las partes de un objeto ser accedidas en un orden. Constructor: crea un objeto y/o inicializa su estado. Destructor: libera el estado de un objeto y/o destruye el objeto.

C++ soporta, ademas de las operaciones, subprogramas libres. En la terminologa de C++ las operaciones que un cliente puede realizar sobre un objeto se declaran como funciones miembro. Relaciones entre objetos Las relaciones entre objetos abarcan las operaciones, resultados y suposiciones que unos hacen sobre los otros. 1. Links Son conexiones fsicas o conceptuales entre objetos. Denota la asociacin especfica por la que un objeto (cliente) usa o solicita el servicio de otro objeto (servidor). El paso de mensajes entre objetos los sincroniza. 2. Agregaciones Denota relaciones todo/parte, con capacidad para governar desde el todo las partes. Es equivalente a la relacin "tener un". El todo puede contener a la parte. Agregacin es conveniente en las ocasiones en que el encapsulamiento de las partes es prioritario. Si se requiere que las relaciones entre objetos esten vagamente acopladas, se utilizan links. Clases Una clase es un conjunto de objetos que comparten una estructura y comportamiento comunes.

Clase representa una abstraccin, la esencia que comparten los objetos. Un objeto es un ejemplo de una clase.

Un objeto no es una clase, y una clase no es un objeto (aunque puede serlo, p.e. en Smalltalk). Las clases actuan como intermediarias entre una abstraccin y los clientes que pretenden utilizar la abstraccin. De esta forma, la clase muestra: 1. visin externa de comportamiento (interface), que enfatiza la abstraccin escondiendo su estructura y secretos de comportamiento. 2. visin interna (implementacin), que abarca el cdigo que se ofrece en la interface de la clase.

Relaciones entre clases Representan tipos de comparticin entre clases, o relaciones semnticas. 1. Asociacin. Indica relaciones de mandato bidireccionales (Punteros ocultos en C++). Conlleva dependencia semntica y no establece una direccin de dependencia. Tienen cardinalidad. 2. Herencia. Por esta relacin una clase (subclase) comparte la estructura y/o comportamiento definidos en una (herencia simple) o ms (herencia mltiple) clases, llamadas superclases. o Representa una relacin del tipo "es un" entre clases. o Una subclase aumenta o restringe el comportamiento o estructura de la superclase (o ambas cosas). o Una clase de la que no existen ejemplos se denomina {\it abstracta}. o C++ declara como virtuales todas aquellas funciones que quiere modificar en sus subclases. 3. Agregacin. Representa una relacin del tipo "tener un" entre clases. Cuando la clase contenida no existe independientemente de la clase que la contiene se denomina agregacin por valor y adems implica contenido fsico, mientras que si existe independientemente y se accede a ella indirectamente, es agregacin por referencia. 4. Uso. Es un refinamiento de la asociacin donde se especifica cual es el cliente y cual el servidor de ciertos servicios, permitiendo a los clientes acceder slo a las interfaces pblicas de los servidores, ofreciendo mayor encapsulacin de la informacin. 5. Ejemplificacin Se usa en lenguajes que soportan genericidad (declaracin de clases parametrizadas y argumentos tipo template). Representa las relaciones entre las clases parametrizadas, que admiten parmetros formales, y las clases obtenidas cuando se concretan estos parmetros formales, ejemplificados o inicializados con un ejemplo. 6. Metaclases Son clases cuyos ejemplos son a su vez clases. No se admiten en C++.

Relaciones entre clases y objetos

Todo objeto es el ejemplo de una clase, y toda clase tiene 0 ms objetos.

Mientras las clases son estticas, con semntica, relaciones y existencia fijas previamente a la ejecucin de un programa, los objetos se crean y destruyen rpidamente durante la actividad de una aplicacin.

El diseo de clases y objetos es un proceso incremental e iterativo. Debe asegurar la optimizacin en los parmetros: 1. Acoplamiento: Grado de acoplamiento entre mdulos. 2. Cohesin: Mide el grado de conectividad entre elementos de un mdulo, y entre objetos de una clase. 3. Suficiencia: Indica que las clases capturan suficientes caractersticas de la abstraccin para conseguir un comportamiento e interaccin eficiente y con sentido. 4. Completitud: Indica que la interface de la clase captura todo el significado caracterstico de una abstraccin, escrito en el mnimo espacio. 5. Primitividad: Las operaciones deben implementarse si dan acceso a una representacin fundamental de la abstraccin. Cuales son operaciones primitivas y cuales no (se pueden realizar a partir de otras) es un asunto subjetivo y afecta a la eficiencia en la implementacin.
Interaccion

Estados y transiciones

Durante su vida, un proceso puede pasar por una serie de estados discretos, algunos de ellos son:

En ejecucin: El proceso ocupa la CPU actualmente, es decir, se est ejecutando. Listo o preparado: El proceso dispone de todos los recursos para su ejecucin, slo le falta la CPU. Bloqueado: Al proceso le falta algn recurso para poder seguir ejecutndose, adems de la CPU. Por recurso se pueden entender un dispositivo, un dato, etc. El proceso necesita que ocurra algn evento que le permita poder proseguir su ejecucin.

Hay otros estados de los procesos, pero en la presente exposicin se tratarn estos tres. Por sencillez, se considera un sistema con una sola CPU, aunque no es difcil la extensin a mltiples procesadores. Solamente puede haber un proceso en ejecucin a la vez, pero pueden existir varios listos y varios pueden estar bloqueados. As pues, se forman una lista de procesos listos y otra de procesos bloqueados. La lista de procesos listos se ordena por prioridad, de manera que el siguiente proceso que reciba la CPU ser el primero de la lista. La lista de procesos bloqueados normalmente no est ordenada; los procesos no se desbloquean (es decir, no pasan a ser procesos listos) en orden de prioridad, sino que lo hacen en el orden de ocurrencia de los eventos que estn esperando. Como se ver ms adelante, hay situaciones en las cuales varios procesos pueden bloquearse esperando la

ocurrencia del mismo evento; en tales casos es comn asignar prioridades a los procesos que esperan. Transiciones de estado de los procesos A continuacin se dan ejemplos de eventos que pueden provocar transiciones de estado en un proceso en este modelo de tres estados. La mayora de estos eventos se discutirn con profundidad a lo largo del curso:

De ejecucin Bloqueado: al iniciar una operacin de E/S, al realizar una operacin WAIT sobre un semforo a cero (en el tema de procesos concurrentes se estudiarn los semforos). De ejecucin Listo: por ejemplo, en un sistema de tiempo compartido, cuando el proceso que ocupa la CPU lleva demasiado tiempo ejecutndose continuamente (agota su cuanto) el sistema operativo decide que otro proceso ocupe la CPU, pasando el proceso que ocupaba la CPU a estado listo. De Listo en ejecucin: cuando lo requiere el planificador de la CPU (veremos el planificador de la CPU en el tema de planificacin de procesos). De Bloqueado Listo: se dispone del recurso por el que se haba bloqueado el proceso. Por ejemplo, termina la operacin de E/S, o se produce una operacin SIGNAL sobre el semforo en que se bloque el proceso, no habiendo otros procesos bloqueados en el semforo.

Obsrvese que de las cuatro transiciones de estado posibles, la nica iniciada por el proceso de usuario es el bloqueo, las otras tres son iniciadas por entidades externas al proc

Anda mungkin juga menyukai