Está en la página 1de 47

2021 |

MANUAL DE USUARIO
SISTEMA DE GESTIÓN DE
PASAJES
SYSTRANSPORTE

Cá tedra: Administració n de Proyectos


Integrantes:
Ríos, Oscar Alejandro
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Entregable. Crear una aplicación WFP. Primeros pasos y


conceptos.
Aplicación WPF

Dentro de Visual Studio:

 En el menú Archivo, haga clic en Nuevo proyecto. Aparecerá el cuadro de diálogo de

Nuevo proyecto.

 Seleccione el lenguaje y elija Aplicación WPF.

 Cambie el nombre de la aplicación.

 Haga clic en Aceptar.

1
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Se creará una nueva carpeta para el proyecto con el nombre del proyecto y, a
continuación, mostrará el nuevo formulario WPF titulado Window1 en la vista Diseñador. Dentro
de esta vista se puede trabajar el formulario de forma similar al de las aplicaciones
Windows. Arrastre controles y modifique sus propiedades usando la ventana de propiedades.
Escriba los atajadores de eventos en el archivo .xaml.cs o .xaml.vb según el lenguaje
seleccionado.

La ventana de WPF que se ve en la vista Diseñador es una representación visual de la ventana


que se abrirá al iniciar la aplicación. En la vista Diseñador, puede arrastrar diversos controles
desde el Cuadro de herramientas hasta la ventana WPF. Después de haber colocado un
control a la ventana de WPF, Visual C# crea automáticamente código que hará que el control se
sitúe apropiadamente cuando se ejecute el programa.

2
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Configurar la ventana de inicio

El archivo App.xaml y el archivo de código subyacente correspondiente se crean de forma


predeterminada en un proyecto WPF. Este archivo contiene recursos de nivel de aplicación que
pueden ser usados en cualquier documento de la aplicación. Dentro de este archivo se
implementa la clase Application. La ventana de inicio se establece a través de la
propiedad StartupUri .

<Application x:Class="WpfCSharp.App"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

StartupUri="Principal.xaml">

<Application.Resources>

</Application.Resources>

</Application>

3
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Menu

Representa un control de menú de Windows que le permite organizar jerárquicamente los


elementos asociados a comandos y controladores de eventos. Presenta una lista de elementos
que especifican comandos u opciones para una aplicación. Normalmente, al hacer clic en un
elemento de un menú, se abre un submenú o una aplicación ejecuta un comando. MenuItem es el
tipo más común de elemento de Menu. MenuItem puede contener elementos secundarios.

En el siguiente ejemplo se muestra el uso del control Menu y la forma de crear los MenuItems.

<Menu Name="menu1" Width="300" HorizontalAlignment="Left VerticalAlignment="Top" >

<MenuItem Header="_Archivo" >

<MenuItem Header="A_brir" IsCheckable="true" />

<MenuItem Header="_Cerrar" IsCheckable="true" IsChecked="True" />

<MenuItem Header="_Guardar" >

<MenuItem.Icon>

<Image Source="setup.ico" Width="16" Height="16" />

</MenuItem.Icon>

</MenuItem>

<Separator />

<MenuItem Header="A_gregar" >

<MenuItem Header="Proyecto" />

<MenuItem Header="Archivo" />

</MenuItem>

</MenuItem>

</Menu>

4
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Controles de Usuario

Lo primero que debe hacer al crear un control de usuario es agregar un elemento nuevo a su
proyecto. Si hace clic al proyecto con el botón secundario y luego a Agregar, no elija la opciónde
Control de Usuario del menú contextual. Lamentablemente, esta función intentará crear un control
de usuario nuevo de Windows Forms. En su lugar, escoja la opción Agregar nuevo
elemento. En el diálogo Agregar nuevo elemento, escoja el elemento Control de
Usuario(WPF).

Al crear el control de usuario nuevo se crea un archivo XAML y un archivo de código de


seguridad. El archivo XAML es semejante al archivo principal, creado con proyectos nuevos de
Windows Presentation Foundation; la diferencia es que el elemento raíz del archivo XAML
nuevo es un elemento UserControl . Dentro del elemento UserControl debe crear el contenido
que configurará su control.

Frame

Es un control de contenido que proporciona la capacidad para navegar y mostrar el contenido. Se


puede hospedar dentro de otro contenido, como con otros controles y elementos. El
contenido puede ser cualquier tipo de objeto de .NET Framework y archivos HTML. En general, sin
embargo, las páginas son la manera preferida de empaquetar contenido para la
navegación. A un contenido se puede navegar estableciendo la propiedad Source con el URI
para el contenido deseado. Además, a un contenido se puede navegar utilizando una de
las sobrecargas del método Navigate.

<Frame Name="miFrame" Source="http://www.microsoft.com" />

5
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

WrapPanel

Posiciona los elementos hijos en forma secuencial de izquierda a derecha, cortando el


contenido de manera que quede sobre la línea siguiente al llegar al borde del contenedor.
El orden se mantiene de arriba hacia abajo o de derecha a izquierda dependiente del valor de la
propiedad Orientation.

<Border HorizontalAlignment="Left" VerticalAlignment="Top" BorderBrush="Black"

BorderThickness="2">

<WrapPanel Background="LightBlue" Width="200" Height="100">

<Button Width="200">Button 1</Button>

<Button>Button 2</Button>

<Button>Button 3</Button>

<Button>Button 4</Button>

</WrapPanel>

</Border>

6
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Vistas de colecciones

Una vez que ItemsControl esté enlazado a una recolección de datos, quizás desee
ordenar, filtrar o agrupar los datos. Para ello, se utilizan vistas de colección, que son
clases que implementan la interfase ICollectionView.

Una vista de colección es un nivel situado encima de la colección de origen del enlace, que le
permite navegar y mostrar la colección de origen en función de las consultas de ordenamiento,
filtrado y agrupación, sin tener que cambiar la propia colección de origen subyacente. Una vista de
colección también contiene un puntero al elemento actual de la colección. Si la colección de origen
implementa la interfase INotifyCollectionChanged, los cambios provocados por el evento
CollectionChanged se propagarán a las vistas. Dado que las vistas no cambian las
colecciones de origen subyacente, cada colección de origen puede tener varias vistas
asociadas. El uso de vistas le permite mostrar los mismos datos de formas diferentes. Por
ejemplo, en el lado izquierdo de la página es posible que desee mostrar las tareas ordenadas por
prioridad y, en el lado derecho, agrupadas por área.

Enlace a Datos

El enlazado de datos es el proceso que permite establecer una conexión entre la interfase
deusuario y la lógica de negocios. Si el enlace es correcto y los datos proveen
notificaciones correctamente, al cambiar los datos los elementos enlazados a ellos reflejan
el cambio automáticamente y a su vez también debería funcionar en sentido inverso, o
sea si modificamos el valor sobre los elementos, el dato asociado también se modifica. WPF
proporciona una forma eficaz de enlace de datos. Con WPF, puede realizar la manipulación
de datos mediante código Microsoft® .NET Framework, XAML o una combinación de ambos.
Puede realizar el enlace a controles, propiedades públicas, XML u objetos, convirtiendo las
operaciones de enlace de datos en tareas rápidas, flexibles y realmente fáciles.

Para usar el enlace de datos de WPF, debe disponer siempre de un destino y un origen.

 El destino del enlace puede ser cualquier elemento o propiedad accesible que se
derive de DependencyProperty, un ejemplo es la propiedad Text del control TextBox.

 El origen del enlace puede ser cualquier propiedad Public, incluidas propiedades de
otros controles, objetos de common language runtime (CLR), elementos XAML,
DataSets de ADO.NET, fragmentos XML, etc.

Ordenar

Las vistas pueden aplicar un criterio de orden a una colección. Cuando este criterio existe en la
colección subyacente, los datos pueden o no tener un orden relevante. La vista de la colección le
permite aplicar un orden o cambiar el orden predeterminado, en función de los criterios de
comparación especificados. Con las vistas, se puede aplicar ordenamientos controlados por el
usuario, sin tener que realizar ningún cambio en la colección subyacente ni tener tampoco que
volver a consultar el contenido de la colección. El ordenamiento se realiza usando la propiedad
CollectionViewSource.SortDescriptions.

7
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Para mejorar el rendimiento, las vistas de colección para objetos DataTable o DataView de
ADO.NET delegan el ordenamiento y el filtrado a DataView. Esto hace que todas las vistas de
colección del origen de datos compartan el ordenamiento y el filtrado. Para habilitar el
ordenamiento y el filtrado independientes de cada vista de colección, inicialice cada vista
de este tipo con su propio objeto DataView.

Documentos
Windows Presentation Foundation (WPF) proporciona una amplia gama de documentos que
permiten la creación de contenido de alta fidelidad diseñado para facilitar su acceso y lectura
con respecto a las generaciones anteriores de Windows. Además de las mejoras en las
funciones y en la calidad, WPF proporciona servicios integrados para la presentación,
empaquetado y seguridad de los documentos.

Tipos de documentos

WPF divide los documentos en dos categorías generales basándose en su uso previsto

 Documentos Dinámicos

 Documentos Fijos

Los documentos fijos están diseñados para las aplicaciones que requieren una presentación "lo
que ve es lo que imprime" (WYSIWYG) precisa, independiente del hardware de pantalla o de
impresión utilizado. Los usos típicos para los documentos fijos incluyen la creación de
publicaciones, el procesamiento de textos y el diseño de formularios, donde es vital que se
respete el diseño de página original. Un documento fijo mantiene la colocación posicional
precisa de los elementos de contenido con independencia del dispositivo de pantalla o de
impresión utilizado. Por ejemplo, una página de un documento fijo presentada en una pantalla de
96 ppp aparecerá exactamente igual cuando se imprima en una impresora láser de 600 ppp o en
una máquina tipográfica fotográfica de 4800 ppp. El diseño de la página permanece
inalterado en todos los casos, aunque la calidad del documento se maximiza de acuerdo conlas
funciones de cada dispositivo.

En comparación, los documentos dinámicos están diseñados para optimizar su presentación y


legibilidad y son óptimos para su uso cuando la facilidad de lectura constituye el principal
escenario de consumo del documento. En lugar de establecerse en un diseño predefinido, este tipo
de documentos ajusta y recoloca dinámicamente su contenido basándose en las variables de
tiempo de ejecución, tales como el tamaño de la ventana, la resolución del dispositivo y las
preferencias opcionales del usuario. Una página web constituye un ejemplo sencillo de un
documento dinámico donde se da formato al contenido de la página dinámicamente para
ajustarlo a la ventana activa. Los documentos dinámicos optimizan la experiencia de
visualización y lectura del usuario, basándose en el entorno de tiempo de ejecución. Por
ejemplo, el mismo documento dinámico cambiará su formato dinámicamente para aportar una
legibilidad óptima en una pantalla de 19 pulgadas de alta resolución o en la pequeña pantalla de un
PDA de 2 x 3 pulgadas. Además, los documentos dinámicos tienen varias características
integradas que incluyen la búsqueda, modos de presentación que optimizan la legibilidad y la
capacidad de cambiar el tamaño y aspecto de las fuentes.

8
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Documentos Dinámicos (FlowDocuments)


Definición

Los documentos dinámicos o FlowDocuments son documentos que pueden ser creados y
mostrados en una aplicación WPF. Consisten primordialmente en textos, con figuras y otros
elementos incluidos en el entorno. Consisten de dos diferentes tipos de elementos:

 Elementos en bloque, los cuales definen bloques de secciones de texto, siempre tienen
un salto de línea entre cada elemento

 Elementos en línea, que proveen formatos y efectos de texto en línea.

Para crearlos se usa el elemento FlowDocument . Estos documentos deben ser creados dentro
de un contenedor, además los contenedores nos proveen de Zoom, Paginación, columnas
y cuando se cambia de tamaño, el texto se adecua al tamaño del elemento.

Filtrar

Las vistas pueden aplicar también un filtro a una colección. Esto significa que aunque un
elemento pueda existir en la colección, esta vista en concreto está destinada a mostrar
únicamente determinado subconjunto de la colección completa. Los datos se filtran en función a
condiciones usando la propiedad Filter .

9
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

SISTEMA DE TRANSPORTE

Propuesta. Entregable, una parte del sistema permita a las Empresas de Transporte automatizar la
venta de pasajes.

Una vez instalado el sistema, debe hacer doble clic sobre el icono de acceso directo para empezar
a usar el sistema, luego observara una ventana de presentación.

PRESENTACIÓN DEL SISTEMA


La ventana de presentación del Sistema reproduce un audio de bienvenida.

10
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

En esta ventana existen dos opciones de menú:

- Archivo: al hacer clic en esta opción, puede elegir la opción de “Salir” del sistema.

- Ingreso: al hacer clic en esta opción, puede elegir “Iniciar Sesión” para ingresar al sistema.

11
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

INGRESO AL SISTEMA

En esta pantalla de “Ingreso al Sistema” deberá escribir su usuario y contraseña, y a continuación


hacer clic en el botón “Ingresar”.

Existen 3 roles para ingresar al sistema: operador, supervisor y administrador.

- Si no escribió el usuario y/o la contraseña o los datos de estos fueron ingresados


incorrectamente o los mismos no existen en el sistema, el sistema mostrará:

12
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

13
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

INGRESO AL SISTEMA CON ROL “ADMINISTRADOR”


Al ingresar al Sistema con rol “Administrador”, accederá a la siguiente ventana Principal del
Sistema:

En la barra de menú se encuentran las siguientes opciones:

- Archivo: al hacer clic en esta opción, puede elegir la opción de “Salir” del sistema.
- Gestión: al hacer clic en esta opción, se puede acceder solamente a las funciones
permitidas al rol Administrador “Gestión del Administrador”. Las tareas a la que puede
acceder el Administrador son:
-
-Gestión Autobús
-Gestión Usuario
-Gestión Terminal
-Gestión Ciudad
-Gestión de Servicio

- Ayuda: al hacer clic en esta opción, podrá acceder a un subítem “Acerca del SGP”, donde
observara una ventana en la cual se muestra los integrantes de la realización del sistema;
así como un video de presentación dela empresa de transporte.

14
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

15
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

FUNCIONES DEL SISTEMA CON ROL ADMINISTRADOR

GESTIÓN DE AUTOBÚS

En esta ventana del sistema se puede visualizar un listado de los datos de autobuses
registrados en el sistema y también se puede realizar las siguientes funciones con respecto
a un Autobús:
 Alta: se debe completar todos los campos requeridos del formulario de esta ventana y
luego hacer clic en el botón “Guardar”, de esta forma se da de alta un nuevo autobús.
En el campo “Imagen”: se debe hacer clic en el botón “Examinar” para elegir la
imagen deseada.
 Modificar: para modificar los datos de un autobús registrado en el sistema, se debe
seleccionar la fila deseada del “Listado de Autobús”, luego hacer clic en el botón
“Consultar” y los datos de este autobús aparecerán en los campos del formulario y estarán
disponibles para ser editados, para guardar los cambios realizados se debe hacer clic en el
botón “Modificar”.
 Eliminar: para eliminar los datos de un autobús registrado en el sistema, se debe
seleccionar la fila deseada del “Listado de Autobús”, luego hacer clic en el botón
“Consultar” y los datos de este autobús aparecerán en los campos del formulario, para
eliminar este autobús del sistema se debe hacer clic en el botón “Eliminar”.
 Limpiar: al hacer clic en el botón “Limpiar”, se produce el borrado de los datos ingresados
o seleccionados en el formulario.

16
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

GESTIÓN DE USUARIOS

En esta ventana se puede realizar las siguientes funciones:

- Navegación a través de botones por la lista de usuarios: con los siguientes botones se
puede visualizar los datos de todos los usuarios registrados.

: permite visualizar los datos del primer usuario del listado.

: permite visualizar los datos del anterior usuario, con respecto a la


posición actual en el listado de usuarios registrados.

: permite visualizar los datos del posterior usuario, con respecto a la


posición actual en el listado de usuarios registrados.

: permite visualizar los datos del último usuario del listado.


- Navegación a través de un slider por la lista de usuarios: con el slider se puede visualizar
los datos de todos los usuarios registrados.

17
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

- Alta: al hacer clic en el botón representado por el ícono se puede escribir


los datos de un nuevo usuario en los campos del formulario. Para guardar este usuario en

la base de datos, se debe hacer clic en el botón representado por el ícono .

- Eliminar: al hacer clic en este botón se puede eliminar un usuario


registrado, el cual se puede seleccionar utilizando los botones de navegación.

18
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

- Salir de la ventana “Gestión de Usuarios”: al hacer clic en el botón representado por el

ícono , se sale de esta ventana.


- Visualizar listado de usuarios registrados y búsqueda por rol: al hacer clic en el botón

se abrirá una nueva ventana, la cual mostrara un listado de usuarios y


permitirá la búsqueda de usuarios de acuerdo al rol ingresado, visualizando el resultado.

19
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Al hacer clic en el botón representado por el ícono se podrá ver una “Vista
de Impresión previa”:

Para imprimir el listado, se debe hacer clic en el botón representado por el ícono

20
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

GESTIÓN DE TERMINAL(NO TENGO EL ABM)

21
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

En esta ventana se realiza el ABM de las terminales de autobuses de la siguiente manera:

- Alta: Se completa los datos del Autobus a dar de alta, y luego se presiona el botón
Guardar.
- Baja: Se selecciona un autobús del listado de autobuses, se presiona el botón consultar
para luego dar de baja a ese autobús seleccionado presionando sobre el botón Eliminar.
- Modificación: Se selecciona un autobús del listado de autobuses, se presiona el botón
consultar para luego modificar los datos de a ese autobús presionando el botón Modificar.

GESTIÓN DE CIUDADES

En esta ventana se puede realizar las siguientes funciones con respecto a una Ciudad:

- Alta: se debe escribir los datos de una nueva ciudad en los campos del formulario. Para
guardar estos datos en la base de datos se debe hacer clic en el botón “Guardar”.
- Modificar: para modificar los datos de una ciudad registrada en el sistema, se debe
seleccionar del listado una ciudad, presionar el botón Consultar y modificar el campo
deseado, para guardar los cambios realizados se debe hacer clic en el botón “Modificar”.
- Eliminar: para eliminar los datos de una ciudad registrada en el sistema, se debe
seleccionar del listado una ciudad, presionar el botón Consultar, y para eliminar esta
ciudad del sistema se debe hacer clic en el botón “Eliminar”.

22
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

GESTIÓN DE SERVICIO

En esta ventana del sistema se puede visualizar un “Listado de Servicio” de los datos de todos los
servicios registrados en el sistema y también se puede realizar las siguientes funciones con
respecto a un Servicio:

- Alta: se debe completar todos los datos del formulario de la sección ABM de Servicios.
Para guardar estos datos en la base de datos se debe hacer clic en el botón “Alta”.

23
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

- Modificar: una vez seleccionado un autobús deseado del listado, se presiona el botón
Consultar, y se puede modificar los datos de este servicio. Para guardar los datos editados,
se debe hacer clic en el botón “Modificar”.

- Eliminar: una vez seleccionado un autobús deseado del listado, se presiona el botón
Consultar, se puede eliminar este servicio, para esto se debe hacer clic en el botón

24
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

“Eliminar”. Solo se puede eliminar los servicios con “Estado de Servicio” igual a
“Cancelado”:

- Limpiar: al hacer clic en el botón “Limpiar”, se produce el borrado de los datos ingresados
en el formulario de ABM de Servicios.

Aclaración: el botón “Cancelar Servicio” y “Activar Servicio” solo está habilitado cuando el
rol del usuario ingresado, sea “Supervisor”.

GESTIÓN DE PASAJE

En esta ventana del sistema se puede visualizar un “Listado de Servicio” de los datos de todos los
servicios registrados en el sistema y también se puede realizar las siguientes funciones con
respecto a un Pasaje:

25
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

- Alta: al seleccionar un Servicio del listado, se abre una ventana correspondiente al


Autobús asociado al Servicio seleccionado.

Al hacer clic sobre uno de los asientos del Autobús se selecciona un número de Asiento
que aparecerá en el campo Asiento de la ventana del ABM de Pasaje.
Se debe completar todos los datos del formulario de la sección ABM de Pasajes.
Si el cliente existe en la base datos, se deberá escribir el DNI para que los demás campos
se autocompleten con los datos de ese cliente.
Para guardar estos datos en la base de datos se debe hacer clic en el botón “Confirmar
venta”.

26
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Al confirmar la venta, aparecerá una ventana que contiene la vista previa de impresión.

27
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Nota: En caso de que no exista el cliente en la base datos, se debe pulsar el botón Alta
Cliente, y luego aparecerá una ventana para almacenar los datos del nuevo cliente.

28
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

1. Filtrado de los Servicios: El listado de servicios se puede filtrar por uno de los siguientes
criterios:
a. Por Fecha y Hora de Servicio: aparecerá en el listado el servicio con esa fecha y
hora ingresada.
b. Por Terminal Origen: aparecerán en el listado los servicios cuya terminal origen
sea igual a la terminal seleccionada en el combo Terminal Origen.
c. Por Terminal Destino: aparecerán en el listado los servicios cuya terminal destino
sea igual a la terminal seleccionada en el combo Terminal Destino.
d. También el listado de servicios se puede filtrar por los tres criterios, o bien, por
dos de esos criterios.

29
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

 Listado de Pasajes Vendidos con Filtro: El listado de pasajes se puede filtrar por uno de los
siguientes criterios:
o Por Empresa: aparecerá en el listado los pasajes con el nombre de la empresa
seleccionada en el combo Empresa.
o Por Autobús: aparecerán en el listado los pasajes con la matrícula seleccionada en
el combo Autobús.
o Por Fecha y Hora de Servicio: aparecerán en el listado los pasajes con la fecha y
hora de servicio ingresada.
o Por cliente: aparecerán en el listado los pasajes con el DNI y nombre del cliente
seleccionado en el combo Cliente.
o También el listado de servicios se puede filtrar por los tres criterios, o bien, por
dos de esos criterios.

30
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

-
- Listado de Pasajes Vendidos por Rango y Fecha: El listado de pasajes se puede filtrar por
un rango de fecha comprendido fecha y hora de venta mínimo, y fecha y hora máximo, al
presionar el botón Buscar Pasajes.
-

31
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

HERRAMIENTAS UTILIZADAS PARA EL DESARROLLO DEL ENTREGABLE

WPF es la abreviatura de Windows Presetation Foundation. Es una parte del


framework de desarrollo .NET. Pero no una parte cualquiera, es la más grande de
todas ellas. Abarca muchos conceptos desde interfaces de usuario con XAML hasta
patrones de diseño como MVVM.

Una respuesta corta sería una API para crear interfaces de usuario (UI) para
aplicaciones de escritorio con el framework .NET.

En términos de programación, es una serie de ensamblados y herramientas del


framework .NET. Está destinado a proporcionar una API (Interfaz de
programación de aplicaciones del inglés Application Programming Interface) para
crear interfaces de usuario enriquecidas y sofisticadas para Windows. Está
soportado desde Windows XP hasta la última versión de Windows, la versión 10.

Tiene cosas de desarrollo web, de las aplicaciones de Internet enriquecidas o RIA


(del inglés Rich Internet Applications) y por supuesto del desarrollo de
aplicaciones para Windows.

Del desarrollo web hereda la utilización de un lenguaje de meta etiquetas para el


desarrollo de la interfaz gráfica UI y los estilos. De las aplicaciones RIA hereda los
gráficos vectoriales, animaciones y el soporte para multimedia.

Características principales de WPF


Interfaz gráfica declarativa
WPF permite crear interfaces de usuario utilizando un lenguaje de marcado
llamado XAML. Si has trabajado alguna vez con HTML, te resultará muy familiar
los conceptos de este lenguaje. XAML es un lenguaje más potente que el propio
HTML.

Visual Studio, así como los miembros de la familia de entornos de desarrollo de


Microsoft como Blend, están preparados para generar código XAML de forma
nativa.

En Visual Studio tenemos la vista diseño al estilo de las aplicaciones Windows


Forms. La diferencia es que hay un editor donde puedes escribir el código XAML
directamente.

32
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Una de las características más importantes que aporta este lenguaje de


programación es que, XAML proporciona un medio para que los diseñadores
puedan colaborar estrechamente en la creación de aplicaciones de este tipo.

Diseño dinámico
La organización de los diferentes componentes de una aplicación, puede ser muy
complicado. Si ha esto le añadimos las diferentes resoluciones y características de
una pantalla de un usuario, la cosa se complica más.

WPF aporta «inteligencia» cuando se producen cambios de tamaño de pantalla y


ajustes de los componentes. Todo dependerá de cómo se haya definido el diseño.

Gráficos basados en vectores
Los gráficos en WPF están basados en vectores. Al contrario que los gráficos
basados en imágenes rasterizadas, los gráficos basados en vectores pueden ser
escalados sin deformaciones.

33
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Otra ventaja es que este tipo de gráficos ocupan menos espacio al ser almacenados,
optimizando así el espacio. Esto no quiere decir que WPF no utilice imágenes
rasterizadas, tienes la posibilidad de trabajar de las dos formas.

Para la interfaz gráfica, utilizar imágenes vectoriales te dará ciertas ventajas. Las


aplicaciones creadas con WPF que utilicen gráficos vectoriales podrán ser
escaladas sin perder calidad.

Plantillas
En WPF podemos crear elementos reutilizables para la interfaz gráfica. Existen dos
tipos de plantillas en WPF: plantillas de control y plantillas de datos.

Las plantillas de control (control templates en inglés) permiten redefinir el aspecto


visual de un control. Un ejemplo sería poder cambiar desde un único sitio, la
apariencia de todos los botones de la aplicación. Esto da también mucha ventaja a
los diseñadores ya que se separa en todo momento la parte gráfica de la parte de
programación.

Las plantillas de datos (data templates en inglés) son similares. Estas plantillas


definen la manera en que los datos son mostrados. Podemos asociar una plantilla a
una entidad o clase de nuestra aplicación. Siempre que se muestre ese tipo de dato
en la aplicación, utilizará la misma plantilla.

Binding
Quizás una de las facetas o funcionalidades más interesantes que nos aporta WPF
sea el binding. No es una novedad que incorpore WPF, con Windows Forms ya
podíamos utilizar el databinding, pero si que es una tecnología que lo engloba todo
en la misma API. No depende de terceros para su implementación.

Gracias a la integración que nos ofrece WPF con el binding, es muy sencillo utilizar
el patrón de diseño MVC (Modelo Vista Controlador). Más concreto se utiliza una
variante que se llama MVVM (ModelView-ViewModel) también utilizado por el
más que conocido framework de JavaScript AngularJS.

34
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Estilos
Donde realmente vemos grandes diferencias es cuando intentamos hacer una
aplicación enfocada en el diseño. Los estilos en WPF son muy parecidos a las hojas
de estilos en cascada, CSS, para HTML.

En este caso los estilos son más potentes que el CSS. Podemos manejar cualquier
característica gráfica que te imagines, márgenes, espacios, colores, dimensiones y
muchos más.

Esto nos permitirá reutilizar los estilos en los diferentes controles y plantillas de la
aplicación. La mayor ventaja será el tiempo que nos ahorramos a la hora de
cambiar el aspecto visual.

DirectX vs GDI
Mientras que su predecesor está basado en la interfaz de diseño de gráficos GDI
(del inglés Graphics Design Interface), WPF se basa en DirectX. Esta API esta
enfocada en el desarrollo de multimedia y más en particular en la programación de
juegos. Por lo tanto, con WPF podemos crear ciertos trucos visuales que son
imposibles de hacer con Windows Forms.

Además de las ventajas que todo lo anterior supone, podemos hacer uso de la


aceleración de gráficos por hardware siempre y cuando esté disponible.

WPF vs otras opciones


Algunas ventajas y/o que tiene con respecto a otras opciones.

Windows Forms
Windows Forms es el predecesor de WPF. Esto le otorga cierta ventaja ya que se
trata de una librería madura, gracias al tiempo que lleva en desarrollo. Además
encontramos multitud de librerías externas. WPF está creciendo mucho en la
actualidad y prácticamente encontramos las mismas librerías externas y muchas
más nuevas que otorgan nuevas funcionalidades a WPF, tanto en diseño como en
prestaciones.

35
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Aplicaciones web
Cada vez más, encontramos aplicaciones web como sustituto de aplicaciones de
escritorio, incluso aplicaciones embebidas. Esto otorga cierta ventaja con respecto a
WPF, son aplicaciones multiplataforma. La gran desventaja es la integración con el
sistema operativo. WPF tiene total compatibilidad en este aspecto.

Java
Con Java tenemos la posibilidad de crear aplicaciones de escritorio para Windows.
Gracias a la API Swing, resulta sencillo desarrollar aplicaciones de este tipo.
Podemos decir que las ventajas e inconvenientes serían los mismos que para
aplicaciones con Windows Forms pero además, debemos añadir el inconveniente
de la integración con el sistema operativo.

Conclusión
Utilizar una tecnología u otra dependerá del tipo de proyecto pero, sin duda
alguna, para aplicaciones de escritorio para Windows, es la mejor opción.

Conceptos y herramientas utilizadas

WPF: definición. Programar en WPF. XAML. Aplicaciones WPF: Seguridad. Controles.


Diseño. Enlace a datos. Documentos Fijos y Dinamicos. Anotaciones. Empaquetado.
Impresión. Personalización. Eventos y comandos: conceptos de eventos enrutados.
Arboles de elementos WPF. Enrutamientos de eventos y composicion. Eventos adjuntos y
comando enrutados.

Creap una app WPF. Clase windows. Propiedades. Configurar la ventana de inicio.
Controles WPF vs Controles windows. Forms. Controladores de eventos. Recursos.
Recursos estaticos y dinamicos. Controles de diseño: Cotroles de diseño de interfase e
Usuario. Border. DockPanel. Canvas. Grid. StackPanel. GroupBox. Expander. InkCanvas.
Menu. Frame. WrapPanel. Otros controles: Propiedades. Creacion dinamica.

Personalizado Apariencia: Composicion. Plantillas. Estilos. Desencadenadores (triggers).


Controles de usuario. Personalizacion.

Validar datos: Validation rules. Clase BindingValitadationrules- IdataerrorInfo.


ExceptionValidationrules. DataErrorValidationrule.

Menús: ContextMenu, Menu y ToolBar. Cuadros de diálogo: OpenFileDialog, PrintDialog


y SaveFileDialog. Cuadros de diálogo: OpenFileDialog, PrintDialog y SaveFileDialog.
Selección: CheckBox, ComboBox, ListBox, TreeView y RadioButton, Slider.

36
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Empaquetado: Las APISystem.IO.Packaging de WPF permiten que las aplicaciones organicen


los datos, el contenido y los recursos en un único documento ZIP portátil, sencillo de
distribuir y de fácil acceso. Es posible incluir firmas digitales para autenticar los elementos
contenidos en un paquete y comprobar que el elemento firmado no se haya manipulado ni
modificado. También puede cifrar los paquetes mediante la administración de derechos para
restringir el acceso a la información protegida.

Punteros de elemento actual Las vistas admiten también la noción de elemento actual. Puede
navegar por los objetos en una vista de colección. A medida que navega por los objetos, mueve
un puntero de elemento que le permite recuperar el objeto ubicado concretamente en esa posición
en la colección. Al enlazar a una vista, el carácter de barra diagonal ("/") de un valor Path
designa el elemento actual de la vista. En el ejemplo siguiente, el contexto de datos es una vista
de colección. La primera línea enlaza a la colección. La segunda línea enlaza al elemento actual de
la colección.

La tercera línea enlaza a la propiedad Description del elemento actual de la colección.

<Button Content="{Binding }" />

<Button Content="{Binding Path=/}" />

<Button Content="{Binding Path=/Description}" />

La noción de elemento actual no es sólo útil para la navegación de elementos en una


colección, sino también para el escenario de enlace Cabecera-Detalle.

Navegación de Colecciones

Cuando se enlaza datos a controles con propiedades que soportan un solo elemento de la
colección es necesario poder navegar la misma. Este escenario es común cuando tengo una
ventana que muestra datos por registro en Labels o TextBoxs. Dado que solo es posible ver un
soloregistro es necesario poder navegar la colección de manera de ver todos sus elementos. Para
navegar por controles se usa la interfase ICollectionView que contiene métodos que permiten
no solo la navegación, sino también el ordenado, filtrado, etc.

Documentos

Windows Presentation Foundation (WPF) proporciona una amplia gama de documentos que
permiten la creación de contenido de alta fidelidad diseñado para facilitar su acceso y lectura
con respecto a las generaciones anteriores de Windows. Además de las mejoras en las
funciones y en la calidad, WPF proporciona servicios integrados para la presentación,
empaquetado y seguridad de los documentos.

Tipos de documentos

37
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

WPF divide los documentos en dos categorías generales basándose en su uso previsto

· Documentos Dinámicos:

Los documentos dinámicos o FlowDocuments son documentos que pueden ser creados y
mostrados en una aplicación WPF. Consisten primordialmente en textos, con figuras y otros
elementos incluidos en el entorno.

· Documentos Fijos:

Hospeda un documento portable, de formato fijo y alta fidelidad con acceso de lectura para la
selección de texto de usuario, navegación mediante teclado y búsqueda. Para crearlos se usa el
elemento FixedDocument que enlaza lógicamente una secuencia ordenada de páginas en un
documento único, de varias páginas y diseño fijo. PageContent es el único elemento secundario
permitido del elemento FixedDocument . Cada elemento PageContent hace referencia al origen
del contenido para una página única. Los elementos PageContent deben estar en orden de
marcado secuencial, coincidiendo con el orden de página del documento. FixedDocument está
diseñado para aplicaciones "lo que ve es lo que imprime" (WYSIWYG) donde la aplicación
define y controla el diseño del documento a fin de representar con la máxima exactitud la
pantalla o el dispositivo de impresión.

PageContent: Proporciona información sobre los elementos FixedPage dentro de ixedDocument


sin exigir a la aplicación que cargue páginas individuales. Los elementos PageContent son los
únicos elementos secundarios permitidos de FixedDocument. El orden de los elementos
PageContent dentro de FixedDocument define el orden de las páginas. La propiedad de
dependencia Source especifica el identificador de recursos uniforme (URI) del objeto FixedPage
correspondiente.

FixedPage Proporciona el contenido de una página de formato fijo de alta fidelidad.


FixedPage se utiliza normalmente para proporcionar el contenido de una página dentro de
FixedDocument .

Enlace a datos: Clase Binding. Modos de enlazar. Modes de enlazar. Propiedad Mode.
Momento del enlace. Porpiedad de los enlaces a datos. Enlace entre controles. XML
dataprovider. Objetc dataprovider. Method providers. Data template. Dta Context.

38
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Controles List view. Gridview. Notificaciones de cambio de propiedades: Interfase


InotifyPropertyChanged. Convertir datos: Value converters. Interfase IvalueConverter.

Explorador de soluciones: CLASE BASE Y VISTAS

CLASES DEL SISTEMA

39
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

40
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

41
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

TABLAS DEL SISTEMA

42
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

Propuesta de entregable. Administración de Proyectos Final


Desarrollo de módulos. Sistema de Venta de pasajes.
Alumno: Ríos, Oscar Alejandro

1.1. La aplicación permitirá trabajar con una o más empresas de transporte.


Tendrá empresas de transporte.
Tendrá autobuses por empresa y establecer asientos por autobús.
Las tablas de la BD con la siguiente estructura:

Clase Propiedades
Rol_Codigo (int)
Rol
Rol_Descrip (string)
Usu_Codigo (int)
Rol_Codigo (int)
Usu_Nombre (string)
Usuario
Usu_Apellido (string)
Usu_Username (string)
Usu_password (string)
Cli_DNI (int)
Cli_Nombre (string)
Cliente Cli_Apellido (string)
Cli_Telefono (string)
Cli_Email (string)
Emp_Codigo (int)
Emp_Nombre (string)
Empresa Emp_Direccion (string)
Emp_Telefono (string)
Emp_Email (string)
Ciu_Codigo (int)
Ciudad
Ciu_Nombre (string)
Ter_Codigo (int)
Terminal Ciu_Codigo (int)
Ter_Nombre (string)

El módulo tendrá lo siguiente:

 Utilizar un asistente de búsqueda de servicios (filtros), el cual


permita buscar por:

 Fecha
 Terminal Origen
 Terminal Destino

 El resultado de la búsqueda mostrara todos los servicios, según

43
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

criterio ingresado, que se encuentran cargados en la tabla


Servicios. Además de los datos del servicio, se deberá mostrar
datos del autobús y datos de la empresa de transporte.

 Seleccionar un servicio, se procede a visualizar la distribución


disponible de asientos del autobús para dicho servicio.

 Seguidamente se procede a cargar los datos del cliente,


ingresando en primer lugar el DNI con el cual se verifica si el
cliente es nuevo o ya se encuentra registrado obteniendo sus
datos correspondientes. En caso de que el cliente no esté
registrado, se deberá llamar a una ventana auxiliar para registrar
al cliente en ese momento.

Aut_Codigo (int)
Emp_Codigo (int)
Aut_Capacidad (int)
Aut_TipoServicio (string)
Autobus ( Ej: “cama”,
“semicama”)
Aut_Matricula (string)
Aut_CantidadPisos (int)
Aut_Imagen (string)
Ser_Codigo (int)
Aut_Codigo (int)
Ser_FechaHora (datetime)
Ter_Codigo_Origen (int)
Servicio
Ter_Codigo_Destino (int)
Ser_Estado (string) (Ej:
activo,
cancelado)
Pas_Codigo (int)
Cli_DNI (int)
Ser_Codigo (int)
Pasaje
Pas_Asiento (int)
Pas_Precio (decimal)
Pas_FechaHora (datetime)

El módulo de Venta de Pasajes tendrá una secuencia de venta de un pasaje:

 Utilizar un asistente de búsqueda de servicios (utilizando filtros), el cual permita buscar


por:

 Fecha
 Terminal Origen
 Terminal Destino

44
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

 El resultado de la búsqueda mostrara todos los servicios, según criterio ingresado, que se
encuentran cargados en la tabla Servicios. Además de los datos del servicio, se deberá
mostrar datos del autobús y datos de la empresa de transporte.

 De esa lista se selecciona uno, al cual se procede a generar el pasaje. Se debe permitir
seleccionar sólo servicios en estado activo.

 Luego de seleccionar un servicio, se procede a visualizar la distribución disponible de


asientos del autobús para dicho servicio.

 Seguidamente se procede a cargar los datos del cliente, ingresando en primer lugar el
DNI con el cual se verifica si el cliente es nuevo o ya se encuentra registrado obteniendo
sus datos correspondientes. En caso de que el cliente no esté registrado, se deberá llamar a
una ventana auxiliar para dar de alta al cliente en ese momento.

Finalmente, se selecciona un número de asiento (pasando de disponible a


ocupado), se ingresa el precio correspondiente y se emite pasaje guardado)
mostrando por pantalla una vista previa de impresión. Se debe mostrar el nombre
de la empresa de transporte.

En la ventana “Venta de Pasajes”, cuando el puntero del mouse pase por encima
de un asiento ocupado se deberá mostrar información con los datos del cliente que
ocupa dicho asiento.

Agregar una opción que permita cancelar un pasaje vendido (Baja). Controlar que
la fecha y hora actual sea anterior a la fecha y hora del servicio (fecha y hora de
partida).

Crear una ventana para visualizar un listado en forma de grilla los datos
correspondientes a los pasajes vendidos. Además de los datos del Pasaje, mostrar
los datos del Cliente, Servicio, Ciudad Origen, Ciudad Destino, Autobús y
Empresa de Transporte. Permitir filtrar los datos por:

a. Empresa
b. Autobús
c. Fecha y Hora de Servicio
d. Cliente

Crear una ventana para visualizar un listado en forma de grilla todas las ventas de
pasajes para un rango de fecha determinado. Los datos a visualizar deben ser
como mínimo: Pasaje, Cliente, Servicio, Ciudad Origen, Ciudad Destino, Autobus
y Empresa de Transporte.

45
SysTransporte
Sistema de Ventas de Pasaje
Manual de Usuario

En la parte inferior de la grilla se deberá mostrar:

La cantidad y el monto total de todas las ventas de pasajes para el rango de fechas
especificado.

El horario de servicio con mayor cantidad de ventas de pasajes para el rango de fechas
especificado.

Validaciones:
Como criterio general, la aplicación deberá controlar la consistencia de los datos que se
almacenan, por ejemplo: no puede haber DNI de clientes duplicados.
La terminal de origen no puede ser la misma que la terminal de destino, un servicio cuyo
estado esté cancelado no puede tener asociado pasajes vendidos.
Un autobús no puede asignarse más de una vez a un servicio con la misma fecha y hora de
servicio.

46

También podría gustarte