Sei sulla pagina 1di 33

NOME DA ESCOLA

LOGOTIPO DA ESCOLA

ANO LETIVO : 2019-20

RELATÓRIO DO PROJETO

SOBRE "TIC-TAC-TOE

GAME"
LOGOTIPO DA ESCOLA 5
CERTIFICADO 5
RECONHECIMENTO
XI

INFORMÁTICA

083
6
INTRODUÇÃO 7
OBJETIVOS DO PROJETO
7

1
SISTEMA PROPOSTO
8
CICLO DE VIDA DE
DESENVOLVIMENTO DE
SISTEMAS (SDLC) 10
FASES DO CICLO DE VIDA
DE DESENVOLVIMENTO
DO SISTEMA 11
FASE DE INICIAÇÃO
11
O objetivo da Fase de Iniciação
é: 11
FASE DE
DESENVOLVIMENTO DO
CONCEITO DO SISTEMA
12
FASE DE PLANEJAMENTO
13
FASE DE ANÁLISE DE
REQUISITOS 14
Os objetivos desta fase são:
14
FASE DE PROJETO 14
FASE DE
DESENVOLVIMENTO
16
FASE DE INTEGRAÇÃO E
TESTE 16
FASE DE
IMPLEMENTAÇÃO 17
FASE DE OPERAÇÃO E
MANUTENÇÃO17
SAÍDA 29

2
»> 29
II 29
I I 41516 29
I I 71819 29
II 29
I I 41516 29
TESTE 30
MÉTODOS DE ENSAIO
30
TESTE DE CAIXA PRETA
30
TESTES BASEADOS EM
ESPECIFICAÇÕES 31
VANTAGENS E
DESVANTAGENS 31
TESTE DE CAIXA BRANCA
31
AVALIAÇÃO DA
COMPLETUDE DO CÓDIGO
32
REQUISITOS DE
HARDWARE E SOFTWARE
33

GUIA DO PROJETO:
PGT (CS)

3
NOME DA ESCOLA

LOGOTIPO DA ESCOLA

CERTIFICADO

Isto é para certificar que Cadete __________________________________________

Nº do rolo: ________________________ concluiu com sucesso o projeto

Trabalho intitulado "TIC-TAC-TOE GAME." NA DISCIPLINA Ciência da Computação

(083) previsto no regulamento da CBSE para fins de Prática [ Exame na Classe XI a ser

realizado em ______________________ em_____________.

( )
PGT Comp Sci
Mestrado IC

Examinador:

Nome: _______________

Assinatura:

Data:

4
ÍNDICE [ T O C ]

SOR DESCRIÇÃO PÁGINA Nº

01 RECONHECIMENTO 04

02 INTRODUÇÃO 05

03 OBJETIVOS DO PROJETO 05

04 SISTEMA PROPOSTO 06

CICLO DE VIDA DE DESENVOLVIMENTO DE SISTEMAS


05 07
(SDLC)

FASES DO CICLO DE VIDA DE DESENVOLVIMENTO DO


06 08
SISTEMA

07 FLUXOGRAMA 15

08 CÓDIGO DE ORIGEM 16

09 SAÍDA 19

10 TESTE 20

11 REQUISITOS DE HARDWARE E SOFTWARE 23

12 BIBLIOGRAFIA 24

RECONHECIMENTO

Além dos esforços de mim, o sucesso de qualquer projeto depende em grande


parte do incentivo e das diretrizes de muitos outros. Aproveito esta oportunidade para
expressar a minha gratidão às pessoas que foram fundamentais para a conclusão bem-
sucedida deste projeto.

5
Expresso profundo sentimento de gratidão a Deus todo-poderoso por me dar
forças para a conclusão bem-sucedida do projeto.

Expresso minha sincera gratidão aos meus pais pelo incentivo constante durante
a realização deste projeto.

Agradeço a contribuição das pessoas que contribuíram para elevar este projeto a
este nível, que continuam a cuidar de mim apesar das minhas falhas,

Expresso meu profundo sentimento de gratidão ao luminar O Principal, que


tem nos motivado e estendido continuamente a mão amiga.

Expresso meus sinceros agradecimentos ao acadêmico O Vice-Diretor, , pelo


incentivo constante e pela orientação prestada durante este projeto

Estou emocionado em expressar meus agradecimentos a por me fornecer um


infraestrutura e apoio moral durante a realização deste projeto na escola.

Meus sinceros agradecimentos a , Master In-charge, Um guia, Mentor de


todos os
acima de um amigo, que revisou criticamente meu projeto e ajudou na resolução de todo
e qualquer problema, ocorrido durante a implementação do projeto

A orientação e o apoio recebidos de todos os membros que contribuíram e que


estão contribuindo para este projeto, foi vital para o sucesso do projeto. Sou grato por
seu constante apoio e ajuda.

PROJETO EM JOGO DE TIC-TAC-TOE


INTRODUÇÃO

Tic-tac-toe (inglês americano), noughts and crosses (inglês britânico), ou Xs and Os é

um jogo de papel e lápis para dois jogadores, X e O, que se revezam marcando os espaços em

uma grade de 3×3. O jogador que conseguir colocar três de suas marcas em uma linha

horizontal, vertical ou diagonal vence o jogo.

OBJETIVOS DO PROJETO

O objetivo deste projeto é permitir que os alunos apliquem os conhecimentos de

6
programação em uma situação/problema do mundo real e expor aos alunos como as

habilidades de programação ajudam no desenvolvimento de um bom software.

1. Escrever programas utilizando ferramentas modernas de software.

2. Aplicar princípios de programação orientada a objetos de forma eficaz ao

desenvolver projetos de pequeno a médio porte.

3. Escreva um código de procedimento eficaz para resolver problemas de pequeno

a médio porte.

4. Os alunos demonstrarão uma amplitude de conhecimentos em ciência da

computação, como exemplificado nas áreas de sistemas, teoria e

desenvolvimento de software.

5. Os alunos demonstrarão capacidade para conduzir uma pesquisa ou projeto de

Ciência da Computação aplicada, exigindo habilidades de escrita e apresentação

que exemplificam o estilo acadêmico em ciência da computação.

SISTEMA PROPOSTO

Hoje não se pode dar ao luxo de confiar nos seres humanos falíveis de ser

realmente quer se posicionar contra a competição impiedosa de hoje, onde não dizer

sabiamente "errar é humano" não é mais válido, é ultrapassado racionalizar seu erro.

Então, para acompanhar o tempo, para trazer o melhor resultado sem mau

funcionamento e maior eficiência para substituir as pilhas intermináveis de moscas por

um disco rígido muito sofisticado do computador.

É preciso usar o software de gerenciamento de dados. O software tem sido uma

ascensão na atomização de várias organizações. Muitos produtos de software que

funcionam estão agora nos mercados, o que ajudou a tornar as organizações mais

fáceis e eficientes. O gerenciamento de dados inicialmente teve que manter muitos

livros contábeis e muito trabalho de papelada tem que ser feito, mas agora o produto de

7
software nesta organização tornou seu trabalho mais rápido e fácil. Agora apenas este

software tem que ser carregado no computador e o trabalho pode ser feito.

Isso evita muito tempo e dinheiro. O trabalho torna-se totalmente automatizado e

qualquer informação referente à organização pode ser obtida clicando no botão. Além

disso, agora é uma era de computadores e automatizar tal organização dá a melhor

aparência.

8
CICLO DE VIDA DE DESENVOLVIMENTO DE SISTEMAS (SDLC )

O ciclo de vida de desenvolvimento de sistemas é uma técnica de gerenciamento


de projetos que divide projetos complexos em segmentos ou fases menores e mais
facilmente gerenciados. A segmentação de projetos permite que os gerentes verifiquem
a conclusão bem-sucedida das fases do projeto antes de alocar recursos para as fases
subsequentes.
Os projetos de desenvolvimento de software normalmente incluem as fases de
iniciação, planejamento, design, desenvolvimento, teste, implementação e manutenção.
No entanto, as fases podem ser divididas de forma diferente dependendo da
organização envolvida.
Por exemplo, as atividades iniciais do projeto podem ser designadas como fases
de solicitação, definição de requisitos e planejamento, ou fases de iniciação,
desenvolvimento de conceitos e planejamento. Os usuários finais do sistema em
desenvolvimento devem ser envolvidos na revisão dos resultados de cada fase para
garantir que o sistema esteja sendo construído para fornecer a funcionalidade
necessária.

9
FASES DO CICLO DE VIDA DE DESENVOLVIMENTO DO SISTEMA

FASE DE INICIAÇÃO

A Fase de Iniciação começa quando um patrocinador de negócios identifica uma


necessidade ou uma oportunidade.

O objetivo da Fase de Iniciação é:

4- Identificar e validar uma oportunidade de melhorar as realizações de negócios da


organização ou uma deficiência relacionada a uma necessidade de negócios.
4- Identificar suposições e restrições significativas sobre soluções para essa
necessidade.
4- Recomendar a exploração de conceitos e métodos alternativos para satisfazer a
necessidade, incluindo o questionamento da necessidade de tecnologia, ou seja,
uma mudança no processo de negócios oferecerá uma solução?
4- Assegurar o patrocínio executivo de negócios e técnicos executivos. O
Patrocinador designa um Gerente de Projeto e a necessidade do negócio é
documentada em uma Proposta de Conceito. A Proposta Conceitual inclui
informações sobre o processo de negócio e o relacionamento com a
Agência/Organização.
4- Infraestrutura e o Plano Estratégico. Uma Proposta de Conceito bem-sucedida
resulta em uma Carta de Gerenciamento de Projeto que descreve a autoridade
do gerente de projeto para começar
o projeto.

É necessária uma supervisão cuidadosa para garantir que os projetos suportem


os objetivos estratégicos de negócios e os recursos sejam efetivamente implementados
na arquitetura corporativa de uma organização. A fase de iniciação começa quando uma
oportunidade de adicionar, melhorar ou corrigir um sistema é identificada e formalmente
solicitada por meio da apresentação de um business case. O business case deve, no
mínimo, descrever o propósito de uma proposta, identificar os benefícios esperados e
explicar como o sistema proposto suporta uma das estratégias de negócios da
organização. O business case também deve identificar soluções alternativas e detalhar
o maior número possível de requisitos informativos, funcionais e de rede.

1
0
FASE DE DESENVOLVIMENTO DO CONCEITO DO SISTEMA

A Fase de Desenvolvimento do Conceito do Sistema começa depois que uma


necessidade ou oportunidade de negócio é validada pela Liderança do Programa da
Agência/Organização e pelo CIO da Agência/Organização.

O objetivo da Fase de Desenvolvimento do Conceito do Sistema é:

4- Determinar a viabilidade e adequação das alternativas.


4- Identificar interfaces do sistema.
4- Identifique os requisitos funcionais e de dados básicos para satisfazer as
necessidades dos negócios.
4- Estabelecer limites do sistema; identificar metas, objetivos, fatores críticos de
sucesso e medidas de desempenho.
4- Avaliar custos e benefícios de abordagens alternativas para satisfazer os
requisitos funcionais básicos
4- Avaliar os riscos do projeto
4- Identificar e iniciar ações de mitigação de riscos eDesenvolver arquitetura técnica
de alto nível, modelos de processo, modelos de dados e um conceito de
operações. Esta fase explora potenciais soluções técnicas dentro do contexto da
necessidade do negócio.
4- Pode incluir várias decisões de compensação, como a decisão de usar produtos
de software COTS em vez de desenvolver software personalizado ou reutilizar
componentes de software, ou a decisão de usar uma entrega incremental versus
uma implantação completa e única.
4- A construção de protótipos executáveis é incentivada para avaliar a tecnologia de
suporte ao processo de negócio. O Documento de Limite do Sistema serve como
um importante documento de referência para dar suporte ao processo de
Solicitação de Projeto de Tecnologia da Informação (ITPR).
4- O ITPR deve ser aprovado pelo CIO do Estado antes que o projeto possa
avançar.
REPRESENTAÇÃO PICTÓRICA DO SDLC:

1
1
FASE DE PLANEJAMENTO

A fase de planejamento é a etapa mais crítica na conclusão de projetos de


desenvolvimento, aquisição e manutenção. Um planejamento cuidadoso, especialmente
nos estágios iniciais de um projeto, é necessário para coordenar as atividades e
gerenciar os riscos do projeto de forma eficaz. A profundidade e a formalidade dos
planos de projecto devem ser proporcionais às características e aos riscos de um
determinado projecto. Os planos de projeto refinam as informações coletadas durante a
fase de iniciação, identificando ainda mais as atividades e os recursos específicos
necessários para concluir um projeto.
Uma parte crítica do trabalho de um gerente de projeto é coordenar as
discussões entre usuário, auditoria, segurança, design, desenvolvimento e pessoal de
rede para identificar e documentar o maior número possível de requisitos funcionais, de
segurança e de rede. Durante essa fase, é desenvolvido um plano que documenta a
abordagem a ser usada e inclui uma discussão de métodos, ferramentas, tarefas,
recursos, cronogramas de projeto e entrada do usuário. Atribuições de pessoal, custos,
cronograma do projeto e datas de destino são estabelecidos.
Um Plano de Gerenciamento de Projetos é criado com componentes
relacionados ao planejamento de aquisição, planejamento de gerenciamento de
configuração, planejamento de garantia de qualidade, conceito de operações, segurança
do sistema, verificação e validação, e planejamento de gerenciamento de engenharia de

1
2
sistemas.

FASE DE ANÁLISE DE REQUISITOS

Esta fase define formalmente os requisitos funcionais detalhados do usuário


usando requisitos de alto nível identificados nas fases Iniciação, Conceito do Sistema e
Planejamento. Ele também delineia os requisitos em termos de dados, desempenho do
sistema, segurança e requisitos de manutenibilidade para o sistema. Os requisitos são
definidos nesta fase com um nível de pormenor suficiente para que a concepção dos
sistemas prossiga. Eles precisam ser mensuráveis, testáveis e se relacionar com a
necessidade ou oportunidade de negócios identificada na Fase de Iniciação. Os
requisitos que serão utilizados para determinar a aceitação do sistema são capturados
no Plano Diretor de Teste e Avaliação.

Os objetivos desta fase são:

4- Definir e refinar os requisitos funcionais e de dados e documentá-los no


Documento de Requisitos,
4- Reengenharia completa do processo de negócios das funções a serem
suportadas (ou seja, verificar quais informações impulsionam o processo de
negócios, quais informações são geradas, quem as gera, para onde as
informações vão e quem as processa),
4- Desenvolver dados detalhados e modelos de processo (entradas do sistema,
saídas e o processo.
4- Desenvolver os requisitos de teste e avaliação que serão usados para determinar
o desempenho aceitável do sistema.

FASE DE PROJETO

A fase de design envolve a conversão dos requisitos informativos, funcionais e de


rede identificados durante as fases de iniciação e planejamento em especificações de
projeto unificadas que os desenvolvedores usam para criar scripts durante a fase de
desenvolvimento. Os projetos de programas são instruídos de várias maneiras. Usando
uma abordagem de cima para baixo, os designers primeiro identificam e vinculam os
principais componentes e interfaces do programa e, em seguida, expandem os layouts
de design à medida que identificam e vinculam subsistemas e conexões menores.

1
3
Usando uma abordagem de baixo para cima, os designers primeiro identificam e
vinculam componentes e interfaces de programas menores e, em seguida, expandem os
layouts de design à medida que identificam e vinculam sistemas e conexões maiores. As
técnicas de design contemporâneo geralmente usam ferramentas de prototipagem que
criam designs de modelos de itens como telas de aplicativos, layouts de banco de dados
e arquiteturas de sistema. Usuários finais, designers, desenvolvedores, gerentes de
banco de dados e administradores de rede devem revisar e refinar os designs
prototipados em um processo iterativo até que cheguem a um acordo sobre um design
aceitável. O pessoal de auditoria, segurança e garantia de qualidade deve estar
envolvido no processo de revisão e aprovação. Durante esta fase, o sistema é projetado
para satisfazer os requisitos funcionais identificados na fase anterior. Uma vez que os
problemas na fase de projeto podem ser muito caros de resolver no estágio posterior do
desenvolvimento do software, uma variedade de elementos são considerados no projeto
para mitigar o risco. Estes incluem:

+ Identificação de riscos potenciais e definição de recursos de projeto mitigadores.


+ Realizar uma avaliação de risco de segurança.
4- Desenvolvimento de um plano de conversão para migrar os dados atuais para o
novo sistema.
4- Determinando o ambiente operacional.
4- Definição dos principais subsistemas e suas entradas e saídas.
+ Alocação de processos em recursos.
4- Elaboração de especificações lógicas detalhadas para cada módulo de software.
O resultado é um rascunho do documento de projeto do sistema que captura o
projeto preliminar do sistema.
+ Tudo o que requer entrada ou aprovação do usuário é documentado e revisado
pelo usuário. Uma vez que esses documentos tenham sido aprovados pelo CIO
da Agência e pelo Patrocinador do Negócio, o Documento Final de Projeto do
Sistema é criado para servir como o Projeto Crítico/Detalhado do sistema.
+ Este documento é objecto de uma análise rigorosa por parte dos representantes
técnicos e funcionais da Agência, a fim de garantir que satisfaz os requisitos da
empresa. Concomitantemente ao desenvolvimento do projeto do sistema, o
Gerente de Projetos da Agência inicia o desenvolvimento do Plano de
Implementação, do Manual de Operações e Manutenção e do Plano de
Treinamento.

1
4
FASE DE DESENVOLVIMENTO

A fase de desenvolvimento envolve a conversão de especificações de projeto


em programas executáveis. Padrões de desenvolvimento eficazes incluem requisitos
para que programadores e outros participantes do projeto discutam especificações
de projeto antes do início da programação. Os procedimentos ajudam a garantir que
os programadores entendam claramente os designs do programa e os requisitos
funcionais. Os programadores usam várias técnicas para desenvolver programas de
computador. Os grandes programas orientados a transações associados a
instituições financeiras têm sido tradicionalmente desenvolvidos usando técnicas de
programação processual. A programação procedural envolve o script linha por linha
de instruções lógicas que são combinadas para formar um programa. A conclusão
efetiva das etapas anteriores é um fator-chave para o sucesso da fase de
Desenvolvimento. A fase de Desenvolvimento consiste em:

4- Traduzindo os requisitos detalhados e o projeto em componentes do sistema.


4- Testar elementos individuais (unidades) para usabilidade.
4- Preparação para integração e testes do sistema de TI.

FASE DE INTEGRAÇÃO E TESTE

4- Os testes de integração de subsistemas, sistema, segurança e aceitação do


usuário são realizados durante a fase de integração e teste. O usuário,
juntamente com os responsáveis pela garantia da qualidade, valida que os
requisitos funcionais, conforme definidos no documento de requisitos funcionais,
são satisfeitos pelo sistema desenvolvido ou modificado. A equipe de segurança
da OIT avalia a segurança do sistema e emite uma certificação de segurança e
acreditação antes da instalação/implementação.

Vários níveis de teste são realizados, incluindo:

4- Testes na instalação de desenvolvimento pelo contratante e possivelmente


apoiados pelos usuários finais

4- Teste como um sistema implantado com usuários finais trabalhando em conjunto

1
5
com o pessoal contratado

+ Testes operacionais pelo usuário final sozinho executando todas as funções.


Os requisitos são rastreados ao longo dos testes, uma avaliação final de
Verificação Independente e Validação é realizada e toda a documentação é
revisada e aceita antes da aceitação do sistema.

FASE DE IMPLEMENTAÇÃO

Esta fase é iniciada após o sistema ter sido testado e aceito pelo usuário. Nesta
fase, o sistema é instalado para suportar as funções de negócios pretendidas. O
desempenho do sistema é comparado aos objetivos de desempenho estabelecidos
durante a fase de planejamento. A implementação inclui notificação do usuário,
treinamento do usuário, instalação de hardware, instalação de software nos
computadores de produção e integração do sistema nos processos de trabalho diários.
Esta fase continua até que o sistema esteja operando em produção de acordo com os
requisitos de usuário definidos.

FASE DE OPERAÇÃO E MANUTENÇÃO

A operação do sistema está em andamento. O sistema é monitorado para


desempenho contínuo de acordo com os requisitos do usuário e as modificações
necessárias do sistema são incorporadas. As operações continuam enquanto o sistema
puder ser efetivamente adaptado para responder às necessidades da organização.
Quando modificações ou alterações são identificadas, o sistema pode reentrar na fase
de planejamento.

O objetivo desta fase é:

4- Operar, manter e aprimorar o sistema.


4- Certificar que o sistema pode processar informações confidenciais.
4- Realizar avaliações periódicas do sistema para garantir que os requisitos
funcionais continuem a ser satisfeitos.
4- Determine quando o sistema precisa ser modernizado, substituído ou desativado.

1
6
FLUXOGRAM
A

1
7
CÓDIGO DE ORIGEM

Criar um projeto Python de TIC-TAC-TOE GAME

Importar aleatoriamente

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

number_of_turns = 0

no_wins = Verdadeiro

print("Vamos jogar Tic-Tac-Toe!")

player_1_pick = ""

player_2_pick = ""

player_1 = input("Digite um nome para o player 1 e pressione enter, deixe em

branco para

deixar como Jogador 1: ")

player_2 = input("Digite um nome para o jogador 2 e pressione enter, deixe

em branco para deixar como Player 2: ")

#sets o nome dos jogadores

se (player_1 == "" ou player_2 == ""):

se (player_1 == ""):

player_1 = "Jogador 1"

se (player_2 == ""):

player_2 = "Jogador 2"

mais:

1
8
passar

#assigns X ou O para os jogadores

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

player_1_pick = input(player_1 + ", escolha X ou O: ").upper()

if (player_1_pick == "X"):

player_2_pick = "O"

mais:

player_2_pick = "X"

mais:

player_2_pick = input(player_2 + ", escolha X ou O: ").upper()

if (player_2_pick == "X"):

player_1_pick = "O"

mais:

player_1_pick = "X"

#makes um movimento

def make_a_move(jogador, player_pick):

impressão("""

LOGOTIPO DA ESCOLA.......................................................................................................5
CERTIFICADO.....................................................................................................................5
RECONHECIMENTO...................................................................................................6
INTRODUÇÃO.............................................................................................................7
OBJETIVOS DO PROJETO..........................................................................................7
SISTEMA PROPOSTO.................................................................................................8
CICLO DE VIDA DE DESENVOLVIMENTO DE SISTEMAS (SDLC).................10
FASES DO CICLO DE VIDA DE DESENVOLVIMENTO DO SISTEMA.............11
FASE DE INICIAÇÃO................................................................................................11
O objetivo da Fase de Iniciação é:...............................................................................11
FASE DE DESENVOLVIMENTO DO CONCEITO DO SISTEMA........................12

1
9
FASE DE PLANEJAMENTO.....................................................................................13
FASE DE ANÁLISE DE REQUISITOS.....................................................................14
Os objetivos desta fase são:..........................................................................................14
FASE DE PROJETO....................................................................................................14
FASE DE DESENVOLVIMENTO.............................................................................16
FASE DE INTEGRAÇÃO E TESTE..........................................................................16
FASE DE IMPLEMENTAÇÃO..................................................................................17
FASE DE OPERAÇÃO E MANUTENÇÃO..............................................................17
SAÍDA..........................................................................................................................29
»>.....................................................................................................................................29
I I......................................................................................................................................29
I I 41516...........................................................................................................................29
I I 71819...........................................................................................................................29
I I......................................................................................................................................29
I I 41516...........................................................................................................................29
TESTE..........................................................................................................................30
MÉTODOS DE ENSAIO............................................................................................30
TESTE DE CAIXA PRETA........................................................................................30
TESTES BASEADOS EM ESPECIFICAÇÕES.........................................................31
VANTAGENS E DESVANTAGENS.........................................................................31
TESTE DE CAIXA BRANCA....................................................................................31
AVALIAÇÃO DA COMPLETUDE DO CÓDIGO....................................................32
REQUISITOS DE HARDWARE E SOFTWARE......................................................33

{} | {} | {}

| | """ .format(square_values[0], square_values[1], square_values[2],


square_values[3], square_values[4], square_values[5], square_values[6],
square_values[7], square_values[8]))

status = Verdadeiro

enquanto (status == Verdadeiro):

escolha = input(player + " pick a square(" + player_pick + "): ")

tentar:

int(escolha)

se (1 <= int(choice) <= 9):

2
0
if (square_values[int(choice)-1] != "X" e square_values[int(choice)-1] !=

"O"):

square_values.remove(escolha)

square_values.insert(int(choice)-1, player_pick)

status = Falso

mais:

print("Quadrado já tirado, selecione outro quadrado.")

mais:

print("Entrada não é uma opção, escolha novamente.")

exceto ValueError:

print("Entrada não é uma opção, escolha novamente.")

status_main = Verdadeiro

def check_for_a_win(valor1, valor2, valor3):

status_main global

no_wins global

if (square_values[value1] == "X" e square_values[value2] == "X" e

square_values[valor3] == "X"):

status_main = Falso

no_wins = Falso

if(player_1_pick == "X"):

print("Jogador 1 ganhou!")

mais:

print("Jogador 2 ganhou!")

elif (square_values[value1] == "O" e square_values[value2] == "O" e

square_values[valor3] == "O"):

2
1
status_main = Falso

no_wins = Falso

if(player_1_pick == "O"):

print("Jogador 1 ganhou!")

mais:

print("Jogador 2 ganhou!")

mais:

passar

def func_1(jogador, escolha):

number_of_turns global

status_main global

if (no_wins == Verdadeiro):

number_of_turns = number_of_turns + 1

make_a_move(jogador, escolha)

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)

if (number_of_turns == 9 e status_main == Verdadeiro):

print("É uma gravata :(")

status_main = Falso

2
2
enquanto (status_main == Verdade):

func_1(player_1, player_1_pick)

func_1(player_2, player_2_pick) importar aleatoriamente

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

number_of_turns = 0

no_wins = Verdadeiro

print("Vamos jogar Tic-Tac-Toe!")

player_1_pick = ""

player_2_pick = ""

player_1 = input("Digite um nome para o player 1 e pressione enter, deixe em


branco para

deixar como Jogador 1: ")

player_2 = input("Digite um nome para o player 2 e pressione enter, deixe em


branco para

deixar como Jogador 2: ")

#sets o nome dos jogadores

se (player_1 == "" ou player_2 == ""):

se (player_1 == ""):

player_1 = "Jogador 1"

se (player_2 == ""):

player_2 = "Jogador 2"

mais:

passar

#assigns X ou O para os jogadores

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

player_1_pick = input(player_1 + ", escolha X ou O: ").upper()

if (player_1_pick == "X"):

player_2_pick = "O"

mais:

player_2_pick = "X"

mais:

player_2_pick = input(player_2 + ", escolha X ou O: ").upper()

if (player_2_pick == "X"):

player_1_pick = "O"

mais:

player_1_pick = "X"

#makes um movimento def make_a_move(jogador, player_pick):


impressão("""

LOGOTIPO DA ESCOLA.......................................................................................................5
CERTIFICADO.....................................................................................................................5
RECONHECIMENTO...................................................................................................6
INTRODUÇÃO.............................................................................................................7
OBJETIVOS DO PROJETO..........................................................................................7
SISTEMA PROPOSTO.................................................................................................8
CICLO DE VIDA DE DESENVOLVIMENTO DE SISTEMAS (SDLC).................10
FASES DO CICLO DE VIDA DE DESENVOLVIMENTO DO SISTEMA.............11
FASE DE INICIAÇÃO................................................................................................11
O objetivo da Fase de Iniciação é:...............................................................................11
FASE DE DESENVOLVIMENTO DO CONCEITO DO SISTEMA........................12
FASE DE PLANEJAMENTO.....................................................................................13
FASE DE ANÁLISE DE REQUISITOS.....................................................................14
Os objetivos desta fase são:..........................................................................................14
FASE DE PROJETO....................................................................................................14
FASE DE DESENVOLVIMENTO.............................................................................16
FASE DE INTEGRAÇÃO E TESTE..........................................................................16
FASE DE IMPLEMENTAÇÃO..................................................................................17
FASE DE OPERAÇÃO E MANUTENÇÃO..............................................................17

2
4
SAÍDA..........................................................................................................................29
»>.....................................................................................................................................29
I I......................................................................................................................................29
I I 41516...........................................................................................................................29
I I 71819...........................................................................................................................29
I I......................................................................................................................................29
I I 41516...........................................................................................................................29
TESTE..........................................................................................................................30
MÉTODOS DE ENSAIO............................................................................................30
TESTE DE CAIXA PRETA........................................................................................30
TESTES BASEADOS EM ESPECIFICAÇÕES.........................................................31
VANTAGENS E DESVANTAGENS.........................................................................31
TESTE DE CAIXA BRANCA....................................................................................31
AVALIAÇÃO DA COMPLETUDE DO CÓDIGO....................................................32
REQUISITOS DE HARDWARE E SOFTWARE......................................................33

""" .format(square_values[0], square_values[1], square_values[2],

square_values[3], square_values[4], square_values[5], square_values[6],

square_values[7], square_values[8]))

status = Verdadeiro

enquanto (status == Verdadeiro):

escolha = input(player + " pick a square(" + player_pick + "): ")

tentar:

int(escolha)

se (1 <= int(choice) <= 9):

if (square_values[int(choice)-1] != "X" e square_values[int(choice)-1] !=

"O"):

square_values.remove(escolha)

square_values.insert(int(choice)-1, player_pick)

2
5
status = Falso

mais:

print("Quadrado já tirado, selecione outro quadrado.")

mais:

print("Entrada não é uma opção, escolha novamente.")

exceto ValueError:

print("Entrada não é uma opção, escolha novamente.")

status_main = Verdadeiro

def check_for_a_win(valor1, valor2, valor3):

status_main global

no_wins global

if (square_values[value1] == "X" e square_values[value2] == "X" e

square_values[valor3] == "X"):

status_main = Falso

no_wins = Falso

if(player_1_pick == "X"):

print("Jogador 1 ganhou!")

mais:

print("Jogador 2 ganhou!")

elif (square_values[value1] == "O" e square_values[value2] == "O" e

square_values[valor3] == "O"):

status_main = Falso

no_wins = Falso

if(player_1_pick == "O"):

print("Jogador 1 ganhou!")

mais:

2
6
print("Jogador 2 ganhou!")

mais:

passar

def func_1(jogador, escolha):

number_of_turns global

status_main global

if (no_wins == Verdadeiro):

number_of_turns = number_of_turns + 1

make_a_move(jogador, escolha)

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)

if (number_of_turns == 9 e status_main == Verdadeiro):

print("É uma gravata :(")

status_main = Falso

enquanto (status_main == Verdade):

func_1(player_1, player_1_pick)

func_1(player_2, player_2_pick)

2
7
SAÍDA

»>
Vamos jogar Tic-Tac-Toe!
Digite um nome para o jogador 1 e pressione enter, deixe em branco para deixar como
Player 1: xyz Digite um nome para o jogador 2 e pressione enter, deixe em branco para
deixar como Player 2: abc xyz, escolha X ou O: 3

I I
1|2|3

I I 41516
I I 71819
I I
xyz escolher um quadrado(3) 1

Eu I 3 | 2 | 3º I I
I I 41516

2
8
TESTE

Teste de Software é uma investigação empírica realizada para fornecer às


partes interessadas informações sobre a qualidade do produto ou serviço em teste[1]
, com relação ao contexto em que se pretende operar. O Teste de Software também
fornece uma visão objetiva e independente do software para permitir que a empresa
aprecie e compreenda os riscos na implementação do software. As técnicas de teste
incluem, mas não estão limitadas a, o processo de execução de um programa ou
aplicativo com a intenção de encontrar bugs de software.
Também pode ser afirmado como o processo de validação e verificação de
que um programa/aplicativo/produto de software atende aos requisitos técnicos e de
negócios que nortearam seu projeto e desenvolvimento, para que funcione conforme
o esperado e possa ser implementado com as mesmas características. O Teste de
Software, dependendo do método de teste empregado, pode ser implementado a
qualquer momento no processo de desenvolvimento, no entanto, o maior esforço de
teste é empregado após os requisitos terem sido definidos e o processo de
codificação ter sido concluído.

MÉTODOS DE ENSAIO
Os métodos de teste de software são tradicionalmente divididos em testes de
caixa preta e testes de caixa branca. Essas duas abordagens são usadas para
descrever o ponto de vista que um engenheiro de teste adota ao projetar casos de
teste.

TESTE DE CAIXA PRETA


O teste de caixa preta trata o software como uma "caixa preta", sem qualquer
conhecimento de implementação interna. Os métodos de teste de caixa preta
incluem: particionamento de equivalência, análise de valor de limite, teste de todos
os pares, teste fuzz, teste baseado em modelo, matriz de rastreabilidade, teste
exploratório e teste baseado em especificação.

2
9
TESTES BASEADOS EM ESPECIFICAÇÕES

O teste baseado em especificações visa testar a funcionalidade do software


de acordo com os requisitos aplicáveis. [16] Assim, o testador insere dados no objeto
de teste e só vê a saída dele. Esse nível de teste geralmente requer casos de teste
completos a serem fornecidos ao testador, que pode simplesmente verificar que,
para uma dada entrada, o valor de saída (ou comportamento), "é" ou "não é" o
mesmo que o valor esperado especificado no caso de teste. Testes baseados em
especificações são necessários, mas são insuficientes para proteger contra certos
riscos

VANTAGENS E DESVANTAGENS

O testador de caixa preta não tem "vínculos" com o código, e a percepção de


um testador é muito simples: um código deve ter bugs. Usando o princípio "Pergunte
e você receberá", os testadores de caixa preta encontram bugs onde os
programadores não o fazem. Mas, por outro lado, o teste de caixa preta foi dito ser
"como um passeio em um labirinto escuro sem uma lanterna", porque o testador não
sabe como o software que está sendo testado foi realmente construído.
É por isso que há situações em que (1) um testador de caixa preta escreve
muitos casos de teste para verificar algo que pode ser testado por apenas um caso
de teste e/ou (2) algumas partes do back-end não são testadas. Portanto, o teste de
caixa preta tem a vantagem de "uma opinião não filiada", por um lado, e a
desvantagem de "explorar às cegas", por outro.

TESTE DE CAIXA BRANCA

O teste de caixa branca, em contraste com o teste de caixa preta, é quando o


testador tem acesso às estruturas de dados e algoritmos internos (e ao código que
os implementa)

Tipos de teste de caixa branca:-


Existem os seguintes tipos de teste de caixa branca:
4 - api testing - Teste da aplicação utilizando APIs Públicas e Privadas.
4- Cobertura de código - criação de testes para satisfazer alguns critérios

3
0
de cobertura de código.
Por exemplo, o designer de teste pode criar testes para fazer com que todas
as instruções no programa sejam executadas pelo menos uma vez.
4- Métodos de injeção de falhas.

4- métodos de teste de mutação.


4 - teste estático - O teste de caixa branca inclui todos os testes estáticos.

AVALIAÇÃO DA COMPLETUDE DO CÓDIGO

Os métodos de teste de caixa branca também podem ser usados para avaliar
a completude de um conjunto de testes criado com métodos de teste de caixa preta.
Isso permite que a equipe de software examine partes de um sistema que raramente
são testadas e garante que os pontos de função mais importantes tenham sido
testados.

Duas formas comuns de cobertura de código são:


4- Cobertura de Funções: Que informa sobre as funções executadas e
4- Extrato de Cobertura: Que informa o número de linhas executadas para
concluir o teste.
Ambos retornam a métrica de cobertura, medida em porcentagem

3
1
REQUISITOS DE HARDWARE E SOFTWARE

I.SISTEMA OPERACIONAL : WINDOWS 7 E SUPERIOR

II. PROCESSADOR : PENTIUM(QUALQUER) OU AMD

ATHALON(3800+- 4200+ DUAL CORE)

III. PLACA-MÃE 1.845 OU 915.995 PARA PENTIUM 0R MSI


:
K9MM-V VIA CHIPSET K8M800+8237R

PLUS PARA AMD ATHALON 512MB+

SATA 40 GB OU SUPERIOR
IV. CARNEIRO
: (Se for necessário fazer backup)

V. Disco rígido : (Se o backup for necessário)

VI. CD/DVD r/w combinação de


várias unidades:

VII. UNIDADE DE DISQUETE


1,44 MB : (se a impressão for necessária – [Cópia
VIII. MONITOR 14,1 ou 15 -17 impressa])
polegadas

IX. Quadro de teclas e mouse

X. Impressora :

REQUISITOS DE SOFTWARE:

3
2
BIBLIOGRAFIA

1. Ciência da Computação Com Python - Classe XI Por: Sumita Arora


2. Relatório de Projeto sobre Sistema de Gestão de Banco de Sangue
(BBMS)
Por: Praveen M Jigajinni
3. Sítio Web: https://www.w3resource.com
4. https://en.wikipedia.org/wiki/E_(mathematical_constant)

***

3
3

Potrebbero piacerti anche