Issuu on Google+

Centro de Estudios Tecnológicos y de Servicios # 155 “Josefa Ortiz de Domínguez”

Programación

Proyecto

Integrantes:

Alvarez Guevara Laura Jocelyn Andrade Salinas Luis David Sánchez Martínez María Elizabeth

Parcial: 3 Semestre y grupo: 3° “A” Carrera: Programación Materia: Programación Orientada a Objetos Profesora: María Guadalupe Mendoza Periodo: Agosto

2016-Enero 2017


INGENIERIA DEL SISTEMA En las fases de diseño normalmente se divide en 3 partes que son: la planificación, el desarrollo y el mantenimiento y de estas engloban (ingeniería del sistema, análisis de los requisitos, diseño, codificación, pruebas y mantenimiento) En la etapa de ingeniería del sistema se encuentra en la parte de planificación donde tiene por objeto realizar un análisis generar del sistema, estableciendo los requisitos de todos los elementos del sistema y luego asignar al software la parte de los requisitos que le afectan. Sin embargo se debe que tener en cuenta cuando se informatiza un problema que existen tareas manuales que se deben tratar dentro del sistema. Es decir, que la ingeniería del sistema comprende el tratamiento de todas las tareas manuales e informáticas que definen el sistema. También se realiza una descripción del entorno. En concreto, la ingeniería del sistema presenta los siguientes objetivos:       

Identificar las necesidades del cliente Realizar un análisis técnico y económico del sistema Establecer restricciones de costo y tiempo Evaluar la vialidad del sistema Asignar funciones al software, a la gente, a la base de datos y otros elementos del sistema Definir el sistema

En la etapa de análisis de los requisitos es la otra etapa que está en la parte de planificación donde esta define los flujos de la información, las estructuras primarias de datos, las características funcionales del sistema, los requerimientos de rendimiento y las restricciones impuestas por el cliente. Asimismo, se incorpora los criterios globales de validación que se utilizaran para probar que los requisitos señalados han sido implementados. En la etapa de diseño es donde entramos a otra parte de las fases del diseño que es el desarrollo, donde la etapa del diseño define como el proceso o sistemas con los suficientes detalles como para permitir su realización física. Sin embargo en esta etapa se suele dividir en dos: 

Diseño Preliminar  Diseño de datos  Diseño arquitectónico  Diseño de la interfaz hombre-maquina

Diseño detallado  Diseño Procedimental

En la etapa de codificación es la segunda etapa del desarrollo donde en esta tiene como fin de traducir en una forma legible para la computadora el diseño desarrollado en la etapa anterior (diseño). En esta actividad implica la creación de programas informáticos aplicar las estructuras de programación de algún paradigma y utilizando un lenguaje apropiado de programación.


Como producto de este proceso se obtiene un listado fuente de los programas que definen el software que se está desarrollando En la etapa de pruebas es la última etapa de la parte de desarrollo donde en esta etapa como su nombre lo dice se presenta varias pruebas al programa donde este se haya realizado correctamente. En la última etapa y parte de la fase de diseño es el mantenimiento donde el software es producido en la fase de desarrollo debe ser mantenido, ya que sufrirá cambios después de que se entreguen al cliente. Los cambios ocurrirán debido a:   

Errores encontrados (mantenimiento correctivo) Cambios en el entorno externo al que el software debe adaptarse (mantenimiento adaptivo) Que el cliente requiere ampliaciones funcionales o desea incrementar su rendimiento (mantenimiento perfectivo)

En esta fase comporta diferentes actividades por un lado comprobar que toda la documentación está disponible y es adecuada para las tareas de mantenimiento y por otro lado establecer un esquema de acciones para el caso de error o modificación del software y comunicar al usuario esas acciones.

ANALISIS DE LOS REQUISITOS En este programa se utilizó la aplicación de Microsoft Visual Studio 2010

En este programa su código es para realizar un juego de shuffle donde la información se obtuvo de este link https://www.youtube.com/watch?v=JqY-PWRyseQ y con esta información seguimos cada paso para realizar el código del juego para la diversión de la persona o del individuo en donde se pareció el código del video con el nuestro si es que nosotros le modificamos un poco para que sea diferente. Entonces, básicamente solo hemos requerido información de los procesos para resolver el juego. Estos procesos o algoritmos de la solución del juego los utilizamos para diseñar el programa en Visual Basic.

DISEÑO


Descripción para realizar algunos de los procesos del proyecto. Para realizar el Form1:  Se colocan 16 botones  Se les modifica en “FlatStlye” y se selecciona “Flat”  Se les modifica en “Front” y se selecciona el tipo de texto al gusto.  Los botones deberán de estar ordenados correctamente del 1-16.  Se le modificara el “Text” colocando 1, 2, 3…15 en cada botón dejando en blanco el botón número 16. Para realizar código para el movimiento de los botones:  Se coloca “Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click” para cada botón modificando el número del botón según sea el caso.  Debajo de este se colocan los números de los botones que estén alrededor del botón con el que se esté trabajando el código.  Se pone “CheckButton(Button%, Button% )” sustituyendo el primer porciento por el número del botón con el que se esté trabajando y el segundo se sustituye por uno de los números que este alrededor del botón. Este código se coloca dependiendo del número de botones que se encuentren alrededor de con el que se está trabajando.  Por ultimo para finalizar este mini-código se pone “End Sub”. A continuación se muestra un ejemplo del proyecto donde se muestra lo explicado anteriormente:

Para realizar el primer código de Module1:  Se da clic sobre “WindowsApplication1”, después sobre “Add”, luego sobre “Module” y por último en “Add”.  Se abrirá el “Module1.vb”  El siguiente código buscara un espacio en blanco y moverá el número.


Para realizar el segundo código de Module1:  El siguiente código es para cuando todos los condicionales de los números sean verdaderos, lo que querrá decir que el juego está resuelto correctamente.

Para realizar el tercer código de Module1:  El siguiente código realizara el acomodo de los 15 números en botones al azar.


CODIFICACIĂ“N FORM1.VB Public Class Form1 Public Count As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Button 2,5 CheckButton(Button1, Button2) CheckButton(Button1, Button5) CheckSolved() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click '1,3,6 CheckButton(Button2, Button1) CheckButton(Button2, Button3) CheckButton(Button2, Button6) CheckSolved() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click '2,7,4 CheckButton(Button3, Button2) CheckButton(Button3, Button7) CheckButton(Button3, Button4) CheckSolved() End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click '3,8 CheckButton(Button4, Button3) CheckButton(Button4, Button8) CheckSolved() End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click '1,6,9 CheckButton(Button5, Button1) CheckButton(Button5, Button6) CheckButton(Button5, Button9)


CheckSolved() End Sub Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click '2,5'7,10 CheckButton(Button6, Button2) CheckButton(Button6, Button5) CheckButton(Button6, Button7) CheckButton(Button6, Button10) CheckSolved() End Sub Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click '3,6,8,11 CheckButton(Button7, Button3) CheckButton(Button7, Button6) CheckButton(Button7, Button8) CheckButton(Button7, Button11) CheckSolved() End Sub Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click '4,7,12 CheckButton(Button8, Button4) CheckButton(Button8, Button7) CheckButton(Button8, Button12) CheckSolved() End Sub Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click '5,10,13 CheckButton(Button9, Button5) CheckButton(Button9, Button10) CheckButton(Button9, Button13) CheckSolved() End Sub Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click '6,9,11,14 CheckButton(Button10, Button6)


CheckButton(Button10, Button9) CheckButton(Button10, Button11) CheckButton(Button10, Button14) CheckSolved() End Sub Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click '7,10,12,15 CheckButton(Button11, Button7) CheckButton(Button11, Button10) CheckButton(Button11, Button12) CheckButton(Button11, Button15) CheckSolved() End Sub Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click '8,11,16 CheckButton(Button12, Button8) CheckButton(Button12, Button11) CheckButton(Button12, Button16) CheckSolved() End Sub Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click '9,14 CheckButton(Button13, Button9) CheckButton(Button13, Button14) CheckSolved() End Sub Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click '13,10,15 CheckButton(Button14, Button13) CheckButton(Button14, Button10) CheckButton(Button14, Button15) CheckSolved() End Sub Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click '14,11,16


CheckButton(Button15, Button14) CheckButton(Button15, Button11) CheckButton(Button15, Button16) CheckSolved() End Sub Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click '12,15 CheckButton(Button16, Button12) CheckButton(Button16, Button15) CheckSolved() End Sub Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click Me.Close() End Sub Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Dim x = MsgBox("¿seguro que quieres salir? ", vbYesNo + vbQuestion) If (x = Windows.Forms.DialogResult.No) Then e.Cancel = True End If End Sub Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click Shuffle() End Sub End Class

MODULE1.VB Module Module1 Sub CheckButton(ByRef Butt1 As Button, ByRef Butt2 As Button) If Butt2.Text = "" Then Butt2.Text = Butt1.Text Butt1.Text = "" End If End Sub Sub CheckSolved() If Form1.Button1.Text = "1" And Form1.Button2.Text = "2" And Form1.Button3.Text = "3" And _


Form1.Button4.Text = "4" And Form1.Button5.Text = "5" And Form1.Button6.Text = "6" And _ Form1.Button7.Text = "7" And Form1.Button8.Text = "8" And Form1.Button9.Text = "9" And _ Form1.Button10.Text = "10" And Form1.Button11.Text = "11" And Form1.Button12.Text = "12" And _ Form1.Button13.Text = "13" And Form1.Button14.Text = "14" And Form1.Button3.Text = "15" Then MsgBox("Lo hiciste en: " & Form1.count & " clicks", vbInformation, "Shufle") End If Form1.Count = Form1.Count + 1 Form1.Text = "Shuffle : " & Form1.Count & " Clicks" End Sub Sub Shuffle() Dim a(15), i, j, RN As Integer Dim flag As Boolean flag = False i=1 a(j) = 1 Do While i <= 15 Randomize() RN = CInt(Int((15 * Rnd()) + 1)) For j = 1 To i If (a(j) = RN) Then flag = True Exit For End If Next If flag = False Then flag = False Else a(i) = RN i=i+1 End If Loop Form1.Button1.Text = a(1) Form1.Button2.Text = a(2) Form1.Button3.Text = a(3) Form1.Button4.Text = a(4) Form1.Button5.Text = a(5) Form1.Button6.Text = a(6) Form1.Button7.Text = a(7) Form1.Button8.Text = a(8) Form1.Button9.Text = a(9) Form1.Button10.Text = a(10) Form1.Button11.Text = a(11) Form1.Button12.Text = a(12)


Form1.Button13.Text = a(13) Form1.Button14.Text = a(14) Form1.Button15.Text = a(15) Form1.Button16.Text = "" End Sub End Module


PRUEBAS Dar clic en salir y se mostrara una ventana para confirmar la salida.

Dar clic en “Shuffle” para empezar de nuevo el juego.

Al concluir la partida el programa está diseñado para evaluar si los números están en orden y una vez comprobado hace un conteo de todos los clicks que necesito el usuario para ganar la partida.


AsĂ­ es como el usuario ve el programa para comenzar la partida.

Estas son las pruebas de cĂłmo funciona el programa al momento de utilizarlo.


MANTENIMIENTO En este programa lo que se puede hacer para mejorar su rendimiento es que se le pueda modificar el color de los cuadros o una imagen para que no se vea tan sencillo el juego y se interese más el individuo en jugarlo. Otra propuesta que el equipo considero es que conforme pase el tiempo desde la elaboración de nuestro juego es que añadamos más números para hacer más difícil el juego y así crear otras versiones más interesantes para el usuario. Sin embargo para que el programa no salga un error y de ahí se genere un problema al programa se deberá actualizarse constantemente para que ver porque no correrá el programa o si programa no permite que juegue el usuario, algunas dificultades que pudiera tener el usuario y que pudimos notar mi9 equipo y yo es que a lo mejor en nuestra maquina corría perfectamente bien, pero al momento de trasladarlo de una computadora a otra el programa presentaba errores de compilación mas no de sintaxis, en el mantenimiento de nuestro programa es buscar la forma de que el usuario que tenga en uso nuestro programa si fuera el caso de querer compartir este juego con alguien más pueda hacerlo sin mayor problema, ese punto fue el que nos retrasó bastante pues es difícil hacer correr el programa, puesto que ya previamente lo habíamos hecho correr.


Así mismo nuestro programa es bastante básico, y con un diseño muy sencillo. Su rendimiento hasta el momento, lo calificamos como aprobatorio puesto que hace las función para lo que fue hecho aun así reiterando que si quisiéramos hacer versiones más complicadas o más frescas de nuestro proyecto ya estaríamos considerando nuevamente calificar el desempeño y modificar las correcciones necesarias para que el usuario lo pueda utilizar si mayor problema. Hasta el momento haciendo diferentes pruebas de nuestro trabajo no encontramos errores en cuanto a los botones de salir y de shuffle pues ambos funcionan perfectamente bien cumplen con lo necesario para lo que son utilizados y hablando el cuadro shuffle el botón manipulador del juego se mueve de forma debida.


Shuffle