Sei sulla pagina 1di 34

NOMBRE DE LA ESCUELA

LOGOTIPO DE LA
ESCUELA

AÑO ACADÉMICO : 2019-20

INFORME SOBRE EL

PROYECTO

"TIC-TAC-TOE GAME" (EN

INGLÉS)
LOGOTIPO DE LA ESCUELA
5
CERTIFICADO 5

XI

INFORMÁTICA

083
ACUSE DE RECIBO 6

1
INTRODUCCIÓN 7
OBJETIVOS DEL
PROYECTO 7
SISTEMA PROPUESTO
8
CICLO DE VIDA DE
DESARROLLO DEL
SISTEMA (SDLC) 10
FASES DEL CICLO DE
VIDA DE DESARROLLO DE
SISTEMAS 10
FASE DE INICIACIÓN
10
El objetivo de la Fase de
Iniciación es: 11
FASE DE DESARROLLO
DEL CONCEPTO DE
SISTEMA 11
FASE DE PLANIFICACIÓN
13
FASE DE ANÁLISIS DE
REQUISITOS 14
Los objetivos de esta fase son:
14
FASE DE DISEÑO 14
FASE DE DESARROLLO
16
FASE DE INTEGRACIÓN Y
PRUEBA 16
FASE DE APLICACIÓN
17
FASE DE OPERACIONES Y
MANTENIMIENTO 17

2
SALIDA 30
»> 30
II 30
I I 41516 30
I I 71819 30
II 30
I I 41516 30
PRUEBAS 31
MÉTODOS DE ENSAYO
31
PRUEBAS DE CAJA NEGRA
31
PRUEBAS BASADAS EN
ESPECIFICACIONES32
VENTAJAS Y
DESVENTAJAS32
PRUEBAS DE CAJA
BLANCA 32
EVALUACIÓN DE LA
INTEGRIDAD DEL CÓDIGO
33
REQUISITOS DE
HARDWARE Y SOFTWARE
34

GUÍA DE PROYECTOS:
PGT (CS)

3
NOMBRE DE LA ESCUELA

LOGOTIPO DE LA ESCUELA

CERTIFICADO

Por la presente se certifica que el cadete ___________________________________

Rollo No: _________________________ ha completado con éxito el proyecto

Trabajo titulado "TIC-TAC-TOE GAME." en la asignatura Informática (083) establecida en

la normativa del CBSE a efectos del Examen [ Práctico en la Clase XI que se celebrará

en ______________________________ en______________.

( )
PGT Ciencias de la Computación
Master IC

Examinador:

Nombre: ______________

Firma:

Date:

4
ÍNDICE [ T O C ]

SER DESCRIPCIÓN PÁGINA NO

01 ACUSE DE RECIBO 04

02 INTRODUCCIÓN 05

03 OBJETIVOS DEL PROYECTO 05

04 SISTEMA PROPUESTO 06

05 CICLO DE VIDA DE DESARROLLO DEL SISTEMA (SDLC) 07

FASES DEL CICLO DE VIDA DE DESARROLLO DE


06 08
SISTEMAS

07 DIAGRAMA DE FLUJO 15

08 CÓDIGO FUENTE 16

09 SALIDA 19

10 PRUEBAS 20

11 REQUISITOS DE HARDWARE Y SOFTWARE 23

12 BIBLIOGRAFÍA 24

ACUSE DE RECIBO

Aparte de mis esfuerzos, el éxito de cualquier proyecto depende en gran medida


del aliento y las directrices de muchas otras personas. Aprovecho esta oportunidad para
expresar mi gratitud a las personas que han contribuido decisivamente al éxito de este
proyecto.

5
Expreso un profundo sentimiento de gratitud a Dios todopoderoso por haberme
dado fuerzas para llevar a buen término el proyecto.

Expreso mi más sincera gratitud a mis padres por su constante aliento durante la
realización de este proyecto.

Agradezco la contribución de las personas que han contribuido a llevar este


proyecto hasta este nivel, que siguen cuidando de mí a pesar de mis defectos,

Expreso mi profundo sentimiento de gratitud a la lumbrera El Director, que no


ha dejado de motivarnos y tendernos la mano.

Expreso mi sincero agradecimiento al académico El Vicedirector, por el aliento


constante y la orientación proporcionada durante este proyecto

Me siento abrumado al expresar mi agradecimiento a ___ por proporcionarme una


infraestructura y apoyo moral durante la realización de este proyecto en la escuela.

Mi más sincero agradecimiento a , Maestro Encargado, Un guía, Mentor


todos los
por encima de un amigo, que revisó críticamente mi proyecto y me ayudó a resolver
todos y cada uno de los problemas que surgieron durante la ejecución del proyecto

La orientación y el apoyo recibidos de todos los miembros que han contribuido y


contribuyen a este proyecto han sido vitales para el éxito del mismo. Les agradezco su
apoyo y ayuda constantes.

PROYECTO SOBRE EL JUEGO DEL TRES EN RAYA


INTRODUCCIÓN

Tic-tac-toe (inglés americano), noughts and crosses (inglés británico), o Xs and Os es

un juego de papel y lápiz para dos jugadores, X y O, que se turnan para marcar los espacios en

una cuadrícula de 3×3. El jugador que consiga colocar tres de sus marcas en una fila horizontal,

vertical o diagonal gana la partida.

OBJETIVOS DEL PROYECTO

El objetivo de este proyecto es que los alumnos apliquen los conocimientos de

6
programación a una situación o problema del mundo real y que aprendan cómo los

conocimientos de programación ayudan a desarrollar un buen software.

1. Escribir programas utilizando herramientas informáticas modernas.

2. Aplicar eficazmente los principios de la programación orientada a objetos en el

desarrollo de proyectos de pequeña o mediana envergadura.

3. Escribir código procedimental eficaz para resolver problemas de tamaño pequeño

o mediano.

4. Los estudiantes demostrarán una amplitud de conocimientos en informática,

ejemplificada en las áreas de sistemas, teoría y desarrollo de software.

5. Los estudiantes demostrarán su capacidad para llevar a cabo un proyecto de

investigación o de informática aplicada, que requiera habilidades de escritura y

presentación que ejemplifiquen el estilo académico en informática.

SISTEMA PROPUESTO

Hoy en día uno no puede permitirse el lujo de confiar en los seres humanos

falibles de ser realmente quiere hacer frente a la competencia despiadada de hoy,

donde no a sabio dicho "errar es humano" ya no es válido, es anticuado para

racionalizar su error. Por lo tanto, para mantener el ritmo con el tiempo, para lograr el

mejor resultado sin mal funcionamiento y una mayor eficiencia para reemplazar los

montones interminables de moscas con un disco duro mucho más sofisticado de la

computadora.

Hay que utilizar el software de gestión de datos. El software ha supuesto un

ascenso en la atomización de diversas organizaciones. En la actualidad existen en el

mercado numerosos productos de software que han contribuido a facilitar y hacer más

eficaz el trabajo de las organizaciones. Al principio, la gestión de datos requería llevar

muchos libros de contabilidad y mucho trabajo en papel, pero ahora los programas

7
informáticos de esta organización han agilizado y facilitado su trabajo. Ahora sólo hay

que cargar este software en el ordenador y ya se puede trabajar.

Esto evita mucho tiempo y dinero. El trabajo se automatiza por completo y

cualquier información relativa a la organización puede obtenerse pulsando el botón. Por

otra parte, ahora es una era de las computadoras de y la automatización de una

organización de este tipo da la mejor apariencia.

8
CICLO DE VIDA DE DESARROLLO DEL SISTEMA (SDLC)

El ciclo de vida del desarrollo de sistemas es una técnica de gestión de proyectos


que divide los proyectos complejos en segmentos o fases más pequeños y fáciles de
gestionar. Segmentar los proyectos permite a los gestores verificar la finalización
satisfactoria de las fases del proyecto antes de asignar recursos a las fases siguientes.
Los proyectos de desarrollo de software suelen incluir fases de iniciación,
planificación, diseño, desarrollo, pruebas, implantación y mantenimiento. Sin embargo,
las fases pueden dividirse de forma diferente en función de la organización de que se
trate.
Por ejemplo, las actividades iniciales del proyecto podrían designarse como fases
de solicitud, definición de requisitos y planificación, o fases de iniciación, desarrollo de
conceptos y planificación. Los usuarios finales del sistema en desarrollo deben participar
en la revisión de los resultados de cada fase para garantizar que el sistema se está
construyendo para ofrecer la funcionalidad necesaria.
FASES DEL CICLO DE VIDA DE DESARROLLO DE SISTEMAS

FASE DE INICIACIÓN

La Fase de Iniciación comienza cuando un patrocinador empresarial identifica una


necesidad o una oportunidad.

9
El objetivo de la Fase de Iniciación es:

4- Identificar y validar una oportunidad para mejorar los logros empresariales de la


organización o una deficiencia relacionada con una necesidad empresarial.
4- Identificar las hipótesis y limitaciones significativas de las soluciones a esa
necesidad.
4- Recomendar la exploración de conceptos y métodos alternativos para satisfacer
la necesidad, incluido el cuestionamiento de la necesidad de tecnología, es decir,
¿ofrecerá una solución un cambio en el proceso empresarial?
4- Garantizar el patrocinio empresarial y técnico ejecutivo. El Patrocinador designa a
un Director de Proyecto y la necesidad empresarial se documenta en una
Propuesta Conceptual. La propuesta conceptual incluye información sobre el
proceso empresarial y la relación con la Agencia/Organización.
4- Infraestructuras y Plan Estratégico. Una propuesta conceptual satisfactoria se
traduce en una Carta de Gestión del Proyecto que define la autoridad del gestor
del proyecto para iniciar el proyecto.
el proyecto.

Se requiere una supervisión cuidadosa para garantizar que los proyectos


respalden los objetivos empresariales estratégicos y que los recursos se implementen
de forma eficaz en la arquitectura empresarial de una organización. La fase de iniciación
comienza cuando se identifica una oportunidad de añadir, mejorar o corregir un sistema
y se solicita formalmente mediante la presentación de un caso de negocio. El caso de
negocio debe, como mínimo, describir el propósito de la propuesta, identificar los
beneficios esperados y explicar cómo el sistema propuesto apoya una de las estrategias
de negocio de la organización. El caso de negocio también debe identificar soluciones
alternativas y detallar tantos requisitos informativos, funcionales y de red como sea
posible.

FASE DE DESARROLLO DEL CONCEPTO DE SISTEMA

La Fase de Desarrollo del Concepto del Sistema comienza después de que una
necesidad u oportunidad de negocio es validada por el Liderazgo del Programa de la
Agencia/Organización y el CIO de la Agencia/Organización.

1
0
El objetivo de la fase de desarrollo del concepto de sistema es:

4- Determinar la viabilidad y adecuación de las alternativas.


4- Identificar las interfaces del sistema.
4- Identificar los requisitos funcionales y de datos básicos para satisfacer la
necesidad empresarial.
4- Establecer los límites del sistema; identificar metas, objetivos, factores críticos de
éxito y medidas de rendimiento.
4- Evaluar los costes y beneficios de enfoques alternativos para satisfacer los
requisitos funcionales básicos.
4- Evaluar los riesgos del proyecto
4- Identificar e iniciar acciones de mitigación de riesgos, yDesarrollar una
arquitectura técnica de alto nivel, modelos de procesos, modelos de datos y un
concepto de operaciones. Esta fase explora posibles soluciones técnicas en el
contexto de la necesidad empresarial.
4- Puede incluir varias decisiones de compensación, como la decisión de utilizar
productos de software COTS frente al desarrollo de software a medida o la
reutilización de componentes de software, o la decisión de utilizar una entrega
incremental frente a un despliegue completo de una sola vez.
4- Se fomenta la construcción de prototipos ejecutables para evaluar la tecnología
de apoyo al proceso empresarial. El Documento de Límites del Sistema sirve
como importante documento de referencia para apoyar el proceso de Solicitud de
Proyecto de Tecnología de la Información (ITPR).
4- El ITPR debe ser aprobado por el CIO del Estado antes de que el proyecto pueda
avanzar.
REPRESENTACIÓN PICTÓRICA DE LA SDLC:

1
1
FASE DE PLANIFICACIÓN

La fase de planificación es el paso más crítico para completar los proyectos de


desarrollo, adquisición y mantenimiento. Una planificación cuidadosa, sobre todo en las
primeras fases de un proyecto, es necesaria para coordinar las actividades y gestionar
eficazmente los riesgos del proyecto. La profundidad y formalidad de los planes de
proyecto deben ser proporcionales a las características y riesgos de un proyecto
determinado. Los planes de proyecto perfeccionan la información recopilada durante la
fase de iniciación identificando con mayor precisión las actividades y recursos
específicos necesarios para completar un proyecto.
Una parte fundamental del trabajo de un gestor de proyectos es coordinar los
debates entre el personal de usuario, auditoría, seguridad, diseño, desarrollo y red para
identificar y documentar tantos requisitos funcionales, de seguridad y de red como sea
posible. Durante esta fase se elabora un plan que documenta el planteamiento que se
va a utilizar e incluye un análisis de los métodos, herramientas, tareas, recursos,
calendarios del proyecto y aportaciones de los usuarios. Se establecen las asignaciones
de personal, los costes, el calendario del proyecto y las fechas objetivo.
Se crea un Plan de Gestión del Proyecto con componentes relacionados con la
planificación de la adquisición, la planificación de la gestión de la configuración, la
planificación de la garantía de calidad, el concepto de operaciones, la seguridad del
sistema, la verificación y validación, y la planificación de la gestión de la ingeniería de

1
2
sistemas.

FASE DE ANÁLISIS DE REQUISITOS

En esta fase se definen formalmente los requisitos funcionales detallados del


usuario a partir de los requisitos de alto nivel identificados en las fases de Iniciación,
Concepto del Sistema y Planificación. También define los requisitos en términos de
datos, rendimiento del sistema, seguridad y mantenimiento del sistema. En esta fase se
definen los requisitos con un nivel de detalle suficiente para proceder al diseño de los
sistemas. Deben ser mensurables, comprobables y guardar relación con la necesidad u
oportunidad de negocio identificada en la Fase de Iniciación. Los requisitos que se
utilizarán para determinar la aceptación del sistema se recogen en el Plan Maestro de
Pruebas y Evaluación.

Los objetivos de esta fase son:

4- Seguir definiendo y afinando los requisitos funcionales y de datos y


documentarlos en el Documento de Requisitos,
4- Completar la reingeniería de los procesos de negocio de las funciones a soportar
(es decir, verificar qué información impulsa el proceso de negocio, qué
información se genera, quién la genera, a dónde va la información y quién la
procesa),
4- Desarrollar modelos detallados de datos y procesos (entradas y salidas del
sistema y el proceso.
4- Desarrollar los requisitos de prueba y evaluación que se utilizarán para
determinar el rendimiento aceptable del sistema.

FASE DE DISEÑO

La fase de diseño consiste en convertir los requisitos informativos, funcionales y


de red identificados durante las fases de inicio y planificación en especificaciones de
diseño unificadas que los desarrolladores utilizan para programar guiones durante la
fase de desarrollo. Los programas se diseñan de varias maneras. Con un enfoque
descendente, los diseñadores primero identifican y vinculan los componentes principales
del programa y las interfaces, y luego amplían los diseños a medida que identifican y
vinculan subsistemas y conexiones más pequeños. Utilizando un enfoque ascendente,

1
3
los diseñadores identifican y vinculan primero los componentes e interfaces menores del
programa y, a continuación, amplían los diseños a medida que identifican y vinculan
sistemas y conexiones mayores. Las técnicas de diseño contemporáneas suelen utilizar
herramientas de creación de prototipos que construyen maquetas de elementos como
pantallas de aplicaciones, diseños de bases de datos y arquitecturas de sistemas. Los
usuarios finales, diseñadores, desarrolladores, gestores de bases de datos y
administradores de red deben revisar y perfeccionar los diseños prototipados en un
proceso iterativo hasta llegar a un acuerdo sobre un diseño aceptable. El personal de
auditoría, seguridad y control de calidad debe participar en el proceso de revisión y
aprobación. Durante esta fase, el sistema se diseña para satisfacer los requisitos
funcionales identificados en la fase anterior. Dado que los problemas en la fase de
diseño podrían ser muy caros de resolver en la fase posterior del desarrollo del software,
en el diseño se tienen en cuenta diversos elementos para mitigar el riesgo. Entre ellas
figuran:

+ Identificación de riesgos potenciales y definición de características de diseño


atenuantes.
+ Realizar una evaluación de los riesgos de seguridad.
4- Desarrollar un plan de conversión para migrar los datos actuales al nuevo
sistema.
4- Determinar el entorno operativo.
4- Definir los principales subsistemas y sus entradas y salidas.
+ Asignación de procesos a recursos.
4- Preparación de especificaciones lógicas detalladas para cada módulo de
software. El resultado es un borrador de Documento de Diseño del Sistema que
recoge el diseño preliminar del sistema.
+ Todo lo que requiere la intervención o aprobación del usuario se documenta y
revisa por el usuario. Una vez que estos documentos han sido aprobados por el
CIO de la Agencia y el Patrocinador de Negocio, se crea el Documento de Diseño
del Sistema final que servirá como Diseño Crítico/Detallado del sistema.
+ Este documento es objeto de una revisión rigurosa por parte de representantes
técnicos y funcionales de la Agencia para garantizar que satisface los requisitos
de la empresa. Paralelamente al desarrollo del diseño del sistema, el Director de
Proyecto de la Agencia comienza a desarrollar el Plan de Implantación, el Manual
de Operaciones y Mantenimiento y el Plan de Formación.

1
4
FASE DE DESARROLLO

La fase de desarrollo consiste en convertir las especificaciones de diseño en


programas ejecutables. Las normas de desarrollo eficaces incluyen requisitos para
que los programadores y otros participantes en el proyecto discutan las
especificaciones de diseño antes de empezar a programar. Los procedimientos
ayudan a garantizar que los programadores entienden claramente los diseños de los
programas y los requisitos funcionales. Los programadores utilizan diversas técnicas
para desarrollar programas informáticos. Los grandes programas orientados a las
transacciones asociados a las entidades financieras se han desarrollado
tradicionalmente utilizando técnicas de programación procedimental. La
programación procedimental consiste en escribir línea por línea instrucciones lógicas
que se combinan para formar un programa. La superación efectiva de las etapas
anteriores es un factor clave para el éxito de la fase de Desarrollo. La fase de
desarrollo consiste en:

4- Traducir los requisitos detallados y el diseño en componentes del sistema.


4- Comprobación de la usabilidad de elementos individuales (unidades).
4- Preparar la integración y las pruebas del sistema informático.

FASE DE INTEGRACIÓN Y PRUEBA

4- Las pruebas de integración del subsistema, del sistema, de seguridad y de


aceptación del usuario se llevan a cabo durante la fase de integración y pruebas.
El usuario, junto con los responsables de la garantía de calidad, valida que el
sistema desarrollado o modificado satisface los requisitos funcionales definidos
en el documento de requisitos funcionales. El personal de seguridad de la OIT
evalúa la seguridad del sistema y emite una certificación y acreditación de
seguridad antes de la instalación/implantación.

Se realizan múltiples niveles de pruebas, incluyendo:

4- Pruebas en las instalaciones de desarrollo por parte del contratista y,


posiblemente, con el apoyo de los usuarios finales.

1
5
4- Pruebas como sistema desplegado con usuarios finales que trabajan junto con el
personal contratado.

+ Pruebas operativas realizadas únicamente por el usuario final que ejecuta todas
las funciones.
Se realiza un seguimiento de los requisitos a lo largo de las pruebas, se lleva a
cabo una evaluación final de Verificación y Validación Independientes y se revisa
y acepta toda la documentación antes de la aceptación del sistema.

FASE DE APLICACIÓN

Esta fase se inicia después de que el sistema haya sido probado y aceptado por
el usuario. En esta fase, el sistema se instala para dar soporte a las funciones
empresariales previstas. El rendimiento del sistema se compara con los objetivos de
rendimiento establecidos durante la fase de planificación. La implantación incluye la
notificación a los usuarios, su formación, la instalación del hardware, la instalación del
software en los ordenadores de producción y la integración del sistema en los procesos
de trabajo diarios. Esta fase continúa hasta que el sistema funciona en producción de
acuerdo con los requisitos definidos por el usuario.

FASE DE OPERACIONES Y MANTENIMIENTO

El funcionamiento del sistema está en curso. Se supervisa que el sistema siga


funcionando de acuerdo con los requisitos del usuario y se incorporan las
modificaciones del sistema que sean necesarias. Las operaciones continúan mientras el
sistema pueda adaptarse eficazmente para responder a las necesidades de la
organización. Cuando se identifican modificaciones o cambios, el sistema puede volver
a entrar en la fase de planificación.

El objetivo de esta fase es:

4- Operar, mantener y mejorar el sistema.


4- Certificar que el sistema puede procesar información sensible.
4- Realizar evaluaciones periódicas del sistema para garantizar que se siguen
cumpliendo los requisitos funcionales.

1
6
4- Determinar cuándo es necesario modernizar, sustituir o retirar el sistema.

1
7
DIAGRAMA
DE FLUJO

1
8
CÓDIGO FUENTE

Crear un proyecto Python de TIC-TAC-TOE GAME

importar aleatorio

valores_cuadrados = ["1", "2", "3", "4", "5", "6", "7", "8", "9"].

número_de_vueltas = 0

no_wins = Verdadero

print("¡Juguemos al tres en raya!")

jugador_1_pick = ""

jugador_2_pick = ""

player_1 = input("Introduzca un nombre para el jugador 1 y pulse enter, deje

en blanco para

salir como Jugador 1: ")

player_2 = input("Introduzca un nombre para el jugador 2 y pulse enter, deje

en blanco para dejarlo como Jugador 2: ")

#establece el nombre de los jugadores

si (jugador_1 == "" o jugador_2 == ""):

si (jugador_1 == ""):

player_1 = "Jugador 1"

si (jugador_2 == ""):

player_2 = "Jugador 2"

si no:

1
9
pase

#asigna X u O a los jugadores

if (random.randint(1,2) == 1):

player_1_pick = input(player_1 + ", elige X o O: ").upper()

if (jugador_1_pick == "X"):

player_2_pick = "O"

si no:

player_2_pick = "X"

si no:

player_2_pick = input(player_2 + ", elige X o O: ").upper()

if (jugador_2_pick == "X"):

player_1_pick = "O"

si no:

player_1_pick = "X"

#makes a move

def hacer_un_movimiento(jugador, jugador_elegir):

print(""

LOGOTIPO DE LA ESCUELA...............................................................................................5
CERTIFICADO.....................................................................................................................5
ACUSE DE RECIBO.....................................................................................................6
INTRODUCCIÓN.........................................................................................................7
OBJETIVOS DEL PROYECTO....................................................................................7
SISTEMA PROPUESTO...............................................................................................8
CICLO DE VIDA DE DESARROLLO DEL SISTEMA (SDLC)..............................10
FASES DEL CICLO DE VIDA DE DESARROLLO DE SISTEMAS......................10
FASE DE INICIACIÓN..............................................................................................10
El objetivo de la Fase de Iniciación es:........................................................................11
FASE DE DESARROLLO DEL CONCEPTO DE SISTEMA...................................11

2
0
FASE DE PLANIFICACIÓN......................................................................................13
FASE DE ANÁLISIS DE REQUISITOS....................................................................14
Los objetivos de esta fase son:.....................................................................................14
FASE DE DISEÑO......................................................................................................14
FASE DE DESARROLLO..........................................................................................16
FASE DE INTEGRACIÓN Y PRUEBA.....................................................................16
FASE DE APLICACIÓN............................................................................................17
FASE DE OPERACIONES Y MANTENIMIENTO..................................................17
SALIDA.......................................................................................................................30
»>.....................................................................................................................................30
I I......................................................................................................................................30
I I 41516...........................................................................................................................30
I I 71819...........................................................................................................................30
I I......................................................................................................................................30
I I 41516...........................................................................................................................30
PRUEBAS....................................................................................................................31
MÉTODOS DE ENSAYO...........................................................................................31
PRUEBAS DE CAJA NEGRA....................................................................................31
PRUEBAS BASADAS EN ESPECIFICACIONES....................................................32
VENTAJAS Y DESVENTAJAS.................................................................................32
PRUEBAS DE CAJA BLANCA.................................................................................32
EVALUACIÓN DE LA INTEGRIDAD DEL CÓDIGO............................................33
REQUISITOS DE HARDWARE Y SOFTWARE......................................................34

{} | {} | {}

| | """ .format(valores_cuadrados[0], valores_cuadrados[1],


valores_cuadrados[2], valores_cuadrados[3], valores_cuadrados[4],
valores_cuadrados[5], valores_cuadrados[6], valores_cuadrados[7],
valores_cuadrados[8]))

estado = True

while (status == True):

choice = input(player + " elige un cuadrado(" + player_pick + "): ")

Inténtalo:

int(elección)

si (1 <= int(elección) <= 9):

2
1
si (valores_cuadrados[int(elección)-1] != "X" y

valores_cuadrados[int(elección)-1] != "O"):

valores_cuadrados.eliminar(elección)

valores_cuadrados.insert(int(elección)-1, elección_jugador)

estado = Falso

si no:

print("Plaza ya ocupada, seleccione otra plaza.")

si no:

print("La entrada no es una opción, elija de nuevo.")

excepto ValueError:

print("La entrada no es una opción, elija de nuevo.")

status_main = True

def comprobar_para_un_win(valor1, valor2, valor3):

global status_main

global no_wins

if (valores_cuadrados[valor1] == "X" y valores_cuadrados[valor2] == "X" y

valores_cuadrados[valor3] == "X"):

status_main = False

no_wins = False

if(jugador_1_pick == "X"):

print("¡Ha ganado el jugador 1!")

si no:

print("¡Ganó el jugador 2!")

elif (valores_cuadrados[valor1] == "O" y valores_cuadrados[valor2] == "O" y

valores_cuadrados[valor3] == "O"):

2
2
status_main = False

no_wins = False

if(jugador_1_pick == "O"):

print("¡Ha ganado el jugador 1!")

si no:

print("¡Ganó el jugador 2!")

si no:

pase

def func_1(jugador, elección):

global número_de_vueltas

global status_main

if (no_wins == True):

número_de_vueltas = número_de_vueltas + 1

make_a_move(jugador, pick)

check_for_a_win(0, 1, 2)

check_for_a_win(3, 4, 5)

check_for_a_win(6, 7, 8)

check_for_a_win(0, 3, 6)

check_for_a_win(1, 4, 7)

check_for_a_win(2, 5, 8)

check_for_a_win(0, 4, 8)

check_for_a_win(2, 4, 6)

si (número_de_vueltas == 9 y estado_principal == True):

print("Es un empate :(")

status_main = False

2
3
while (status_main == True):

func_1(jugador_1, jugador_1_pick)

func_1(jugador_2, jugador_2_pick) import random

valores_cuadrados = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]

número_de_vueltas = 0

no_wins = Verdadero

print("¡Juguemos al tres en raya!")

jugador_1_pick = ""

jugador_2_pick = ""

player_1 = input("Introduzca un nombre para el jugador 1 y pulse enter, deje


en blanco para

salir como Jugador 1: ")

player_2 = input("Introduzca un nombre para el jugador 2 y pulse enter, deje


en blanco para

salir como Jugador 2: ")

#establece el nombre de los jugadores

si (jugador_1 == "" o jugador_2 == ""):

si (jugador_1 == ""):

player_1 = "Jugador 1"

si (jugador_2 == ""):

player_2 = "Jugador 2"

si no:

pase

#asigna X u O a los jugadores

2
4
if (random.randint(1,2) == 1):

player_1_pick = input(player_1 + ", elige X o O: ").upper()

if (jugador_1_pick == "X"):

player_2_pick = "O"

si no:

player_2_pick = "X"

si no:

player_2_pick = input(player_2 + ", elige X o O: ").upper()

if (jugador_2_pick == "X"):

player_1_pick = "O"

si no:

player_1_pick = "X"

#hace un movimiento def hacer_un_movimiento(jugador, jugador_elegir):


print(""

LOGOTIPO DE LA ESCUELA...............................................................................................5
CERTIFICADO.....................................................................................................................5
ACUSE DE RECIBO.....................................................................................................6
INTRODUCCIÓN.........................................................................................................7
OBJETIVOS DEL PROYECTO....................................................................................7
SISTEMA PROPUESTO...............................................................................................8
CICLO DE VIDA DE DESARROLLO DEL SISTEMA (SDLC)..............................10
FASES DEL CICLO DE VIDA DE DESARROLLO DE SISTEMAS......................10
FASE DE INICIACIÓN..............................................................................................10
El objetivo de la Fase de Iniciación es:........................................................................11
FASE DE DESARROLLO DEL CONCEPTO DE SISTEMA...................................11
FASE DE PLANIFICACIÓN......................................................................................13
FASE DE ANÁLISIS DE REQUISITOS....................................................................14
Los objetivos de esta fase son:.....................................................................................14
FASE DE DISEÑO......................................................................................................14
FASE DE DESARROLLO..........................................................................................16
FASE DE INTEGRACIÓN Y PRUEBA.....................................................................16
FASE DE APLICACIÓN............................................................................................17
FASE DE OPERACIONES Y MANTENIMIENTO..................................................17

2
5
SALIDA.......................................................................................................................30
»>.....................................................................................................................................30
I I......................................................................................................................................30
I I 41516...........................................................................................................................30
I I 71819...........................................................................................................................30
I I......................................................................................................................................30
I I 41516...........................................................................................................................30
PRUEBAS....................................................................................................................31
MÉTODOS DE ENSAYO...........................................................................................31
PRUEBAS DE CAJA NEGRA....................................................................................31
PRUEBAS BASADAS EN ESPECIFICACIONES....................................................32
VENTAJAS Y DESVENTAJAS.................................................................................32
PRUEBAS DE CAJA BLANCA.................................................................................32
EVALUACIÓN DE LA INTEGRIDAD DEL CÓDIGO............................................33
REQUISITOS DE HARDWARE Y SOFTWARE......................................................34

""" .format(valores_cuadrados[0], valores_cuadrados[1],

valores_cuadrados[2],

valores_cuadrados[3], valores_cuadrados[4], valores_cuadrados[5],

valores_cuadrados[6],

valores_cuadrados[7], valores_cuadrados[8]))

estado = True

while (status == True):

choice = input(player + " elige un cuadrado(" + player_pick + "): ")

Inténtalo:

int(elección)

si (1 <= int(elección) <= 9):

si (valores_cuadrados[int(elección)-1] != "X" y

valores_cuadrados[int(elección)-1] != "O"):

valores_cuadrados.eliminar(elección)

2
6
valores_cuadrados.insert(int(elección)-1, elección_jugador)

estado = Falso

si no:

print("Plaza ya ocupada, seleccione otra plaza.")

si no:

print("La entrada no es una opción, elija de nuevo.")

excepto ValueError:

print("La entrada no es una opción, elija de nuevo.")

status_main = True

def comprobar_para_un_win(valor1, valor2, valor3):

global status_main

global no_wins

if (valores_cuadrados[valor1] == "X" y valores_cuadrados[valor2] == "X" y

valores_cuadrados[valor3] == "X"):

status_main = False

no_wins = False

if(jugador_1_pick == "X"):

print("¡Ha ganado el jugador 1!")

si no:

print("¡Ganó el jugador 2!")

elif (valores_cuadrados[valor1] == "O" y valores_cuadrados[valor2] == "O" y

valores_cuadrados[valor3] == "O"):

status_main = False

no_wins = False

if(jugador_1_pick == "O"):

2
7
print("¡Ha ganado el jugador 1!")

si no:

print("¡Ganó el jugador 2!")

si no:

pase

def func_1(jugador, elección):

global número_de_vueltas

global status_main

if (no_wins == True):

número_de_vueltas = número_de_vueltas + 1

make_a_move(jugador, pick)

check_for_a_win(0, 1, 2)

check_for_a_win(3, 4, 5)

check_for_a_win(6, 7, 8)

check_for_a_win(0, 3, 6)

check_for_a_win(1, 4, 7)

check_for_a_win(2, 5, 8)

check_for_a_win(0, 4, 8)

check_for_a_win(2, 4, 6)

si (número_de_vueltas == 9 y estado_principal == True):

print("Es un empate :(")

status_main = False

while (status_main == True):

func_1(jugador_1, jugador_1_pick)

func_1(jugador_2, jugador_2_pick)

2
8
SALIDA

»>
Juguemos al tres en raya.
Introduzca un nombre para el jugador 1 y pulse intro, deje en blanco para dejarlo como
Jugador 1: xyz Introduzca un nombre para el jugador 2 y pulse intro, deje en blanco para
dejarlo como Jugador 2: abc xyz, elija X o O: 3

I I
1|2|3

I I 41516
I I 71819
I I
xyz elige un cuadrado(3) 1

II3| 2| 3II
I I 41516

2
9
PRUEBAS

Las pruebas de software son una investigación empírica realizada para


proporcionar a las partes interesadas información sobre la calidad del producto o
servicio sometido a prueba[1] , con respecto al contexto en el que se pretende que
funcione. Las pruebas de software también proporcionan una visión objetiva e
independiente del software que permite a la empresa apreciar y comprender los
riesgos en la implantación del software. Las técnicas de prueba incluyen, entre otras
cosas, el proceso de ejecutar un programa o aplicación con la intención de encontrar
fallos en el software.
También puede enunciarse como el proceso de validación y verificación de
que un programa/aplicación/producto informático cumple los requisitos empresariales
y técnicos que guiaron su diseño y desarrollo, de modo que funcione como se
esperaba y pueda implantarse con las mismas características. Las pruebas de
software, dependiendo del método de prueba empleado, pueden realizarse en
cualquier momento del proceso de desarrollo, aunque la mayor parte del esfuerzo se
realiza una vez definidos los requisitos y completado el proceso de codificación.

MÉTODOS DE ENSAYO
Los métodos de prueba de software se dividen tradicionalmente en pruebas
de caja negra y pruebas de caja blanca. Estos dos enfoques se utilizan para describir
el punto de vista que adopta un ingeniero de pruebas a la hora de diseñar casos de
prueba.

PRUEBAS DE CAJA NEGRA


Las pruebas de caja negra tratan el software como una "caja negra", sin
ningún conocimiento de la implementación interna. Los métodos de pruebas de caja
negra incluyen: partición de equivalencias, análisis de valores límite, pruebas de
todos los pares, pruebas fuzz, pruebas basadas en modelos, matriz de trazabilidad,
pruebas exploratorias y pruebas basadas en especificaciones.

3
0
PRUEBAS BASADAS EN ESPECIFICACIONES

El objetivo de las pruebas basadas en especificaciones es comprobar la


funcionalidad del software de acuerdo con los requisitos aplicables[16], por lo que el
evaluador introduce datos en el objeto de prueba y sólo ve los resultados. Este nivel
de pruebas suele requerir que se proporcionen casos de prueba exhaustivos al
probador, que entonces puede simplemente verificar que, para una entrada dada, el
valor de salida (o comportamiento), "es" o "no es" el mismo que el valor esperado
especificado en el caso de prueba. Las pruebas basadas en especificaciones son
necesarias, pero no bastan para protegerse de ciertos riesgos

VENTAJAS Y DESVENTAJAS

El probador de caja negra no tiene "vínculos" con el código, y la percepción


de un probador es muy simple: un código debe tener errores. Siguiendo el principio
de "pide y recibirás", los probadores de cajas negras encuentran fallos donde los
programadores no los encuentran. Pero, por otro lado, se ha dicho que las pruebas
de caja negra son "como un paseo por un laberinto oscuro sin linterna", porque el
probador no sabe cómo se construyó realmente el software que está probando.
Por eso se dan situaciones en las que (1) un probador de caja negra escribe
muchos casos de prueba para comprobar algo que sólo puede probarse con un caso
de prueba, y/o (2) algunas partes del back-end no se prueban en absoluto. Por lo
tanto, las pruebas de caja negra tienen, por un lado, la ventaja de "una opinión no
afiliada" y, por otro, el inconveniente de la "exploración a ciegas".

PRUEBAS DE CAJA BLANCA

Las pruebas de caja blanca, a diferencia de las pruebas de caja negra, son
aquellas en las que el evaluador tiene acceso a las estructuras de datos y algoritmos
internos (y al código que los implementa).

Tipos de pruebas de caja blanca:-


Existen los siguientes tipos de pruebas de caja blanca:
4- Pruebas de api - Pruebas de la aplicación utilizando API públicas y
privadas.

3
1
4- Cobertura de código - crear pruebas para satisfacer algunos criterios
de cobertura de código.
Por ejemplo, el diseñador de pruebas puede crear pruebas para que todas las
sentencias del programa se ejecuten al menos una vez.
4- métodos de inyección de fallos.

4- métodos de prueba de mutaciones.


4- Pruebas estáticas - Las pruebas de caja blanca incluyen todas las
pruebas estáticas.

EVALUACIÓN DE LA INTEGRIDAD DEL CÓDIGO

Los métodos de prueba de caja blanca también pueden utilizarse para evaluar
la integridad de un conjunto de pruebas creado con métodos de prueba de caja
negra. Esto permite al equipo de software examinar partes de un sistema que rara
vez se prueban y garantiza que se han probado los puntos funcionales más
importantes.

Dos formas comunes de cobertura de código son:


4- Cobertura de funciones: Que informa sobre las funciones ejecutadas y
4- Cobertura de sentencias: Que informa del número de líneas ejecutadas
para completar la prueba.
Ambos devuelven la métrica de cobertura, medida en porcentaje

3
2
REQUISITOS DE HARDWARE Y SOFTWARE

I.SISTEMA OPERATIVO : WINDOWS 7 Y SUPERIORES

II. PROCESADOR : PENTIUM(CUALQUIERA) O AMD

ATHALON(3800+- 4200+ DUAL CORE)

III. TARJETA MADRE 1.845 O 915,995 PARA PENTIUM 0R


:
CHIPSET MSI K9MM-V VIA

K8M800+8237R PLUS PARA AMD

ATHALON 512MB+.
IV. RAM
: SATA 40 GB O SUPERIOR

V. Disco duro : (Si se requiere copia de seguridad)

VI. Combo de unidad múltiple (Si se requiere copia de seguridad)


CD/DVD r/w:

VII. DISQUETERA 1,44 MB :

VIII. MONITOR 14.1 o 15 -17


pulgadas (si se requiere impresión - [Copia impresa])
IX. Teclado y ratón

X. Impresora :

REQUISITOS DE SOFTWARE:

3
3
BIBLIOGRAFÍA

1. Informática con Python - Clase XI Por : Sumita Arora


2. Informe de proyecto sobre el sistema de gestión de bancos de sangre
(BBMS)
Por : Praveen M Jigajinni
3. Página web: https://www.w3resource.com
4. https://en.wikipedia.org/wiki/E_(constante_matemática)

***

3
4

Potrebbero piacerti anche