Conceito
Gerência de projetos é a aplicação de conhecimento, habilidades, ferramentas e técnicas às atividades do projeto a fim de atender aos seus requisitos. São utilizados os seguintes grupos de processos : o Iniciação; o Planejamento; o Execução; o Monitoramento e Controle; o Encerramento;
-Iniciação: Desenvolver o plano do projeto; Identificar os stakeholders (todas as pessoas que podem ser afetadas pelo projeto, de forma direta ou indireta, positiva ou negativamente.
-Planejamento: Plano de gerenciamento do projeto; Coletar requerimentos; Definir escopo; Definir e sequenciar as atividades; Estimar as atividades por recurso e duração; Cronograma; Estimar os custos; Plano de qualidade; Plano de Recursos Humanos; Plano de Comunicações; Plano Riscos e Plano de aquisições.
-Execução: Dirigir e gerenciar a execução do projeto; Executar a garantia de qualidade; Montar a equipe; Desenvolver e gerenciar a equipe; Distribuir as informações; Gerenciar as expectativas dos stakeholders e Conduzir os professos de aquisições.
-Monitoramento e Controle: Monitorar e controlar o trabalho; Verificar o escopo; Controlar o escopo; Controlar o cronograma; Controlar os custos; Controle de qualidade; Reportar o andamento dos projetos; Monitorar e controlar os riscos e Administrar as aquisições.
-Encerramento: Encerrar o projeto ou fase e Encerrar os projetos de aquisição.
Softwares
Descrever os softwares usados para esta finalidade. Detalhar, se existir, linguagens, banco de dados e frameworks.
Código
Arquivo = "lista_contatos.txt" # Nome do arquivo
def ler_arquivo(): # Função que le o arquivo de texto
try: # Tratamento de erro
arq = open(Arquivo,"r+") # Abre o arquivo para leitura
print( '\n'+arq.read() ) # Quebra linha e mostra o conteudo
arq.close() # Fecha o arquivo
except IOError: # Tratamento de erro
print('\nArquivo não encontrado!')
def escrever_linhas(texto): # Função que le e escreve no arquivo
try: # Tratamento de erro
arq = open(Arquivo,"a+") # Abre o arquivo para gravação no final do arquivo
arq.writelines('\n'+texto) # Escreve no arquivo o parametro 'texto'
arq.close() # Fecha o arquivo
print('\nLinha gravada com sucesso')
except IOError: # Tratamento de erro
print('\nErro ao abrir o arquivo!') # Mostra na tela uma mensagem de erro
def pesquisar_contato(nome):
try:
arq = open(Arquivo, "r+")
dicionario = {'nome':'', 'telefone':'', 'email':''}
achei = False
# lógica ler arquivo e comparar nome
for cont, s in enumerate(arq.readlines()):
dicionario['nome'], dicionario['telefone'],dicionario['email'] = s.split(' - ')
if dicionario['nome'] == nome:
print(cont)
print('Nome: %s'% dicionario['nome'])
print('Telefone: %s'% dicionario['telefone'])
print('Email: %s'% dicionario['email'])
achei = True
if not achei:
print('Não existe %s' % (nome))
# se achou imprime, se não mostra uma mensagem de nao encontrado
arq.close
except IOError:
print('\nContato não encontrado')
def excluir_contatos():
try:
arq =open('lista_contatos.txt','r+')
valores = arq.readlines()
l = []
splited =[]
nome = input('Entre com um nome:')
for x in valores:
splited=x.split(' - ')
if splited[0]==nome:
pass
else:
l.append(splited)
arq.close()
novo_cadastro(l)
except:
print('erro')
def novo_cadastro(l):
arq = open(Arquivo,'w')
for x in l:
#print("Nome:%s | Telefone:%s | Email:%s"%(x[0],x[1],x[2]))
arq.write("%s - %s - %s" %(x[0],x[1],x[2]))
arq.close()
while(True):
print('\n Opcões:')
print(' ')
print('1 - Cadastrar contato')
print('2 - Listar dados')
print('3 - Pesquisar contato')
print('4 - Excluir contato')
print('9 - Sair')
print(' ')
Op = int(input('Digite a opção desejada:')) # Entrada da opcao pelo teclado
if Op == 1: # Se a opcao for 1
nome = input('\nDigite o nome do contato:') # Entrada do nome pelo teclado
fone = input('Digite o número do telefone:')# Entrada do telefone pelo teclado
email = input('Digite o email:') # Entrada do telefone pelo teclado
contato = (nome+' - '+fone+' - '+email) # Recebe o nome + o telefone
escrever_linhas(str(contato)) # Chama a função que grava em arquivo
elif Op == 2: # Se a opcao for 2
ler_arquivo() # Chama a função que le o arquivo
elif Op == 9: # Se a opcao for 0
break # Quebra o laço infinito
elif Op == 3:
nome = input("Digite o nome: ")
pesquisar_contato(nome)
elif Op == 4:
#nome = input ("Digite o nome: ")
excluir_contatos()
Dar um exemplo de um código-fonte que mostre alguma parte da aplicação final. O código deverá ser curto mas que o leitor consiga enxergar para que serve. Pode-se usar comentários no programa.
Diagrama de Casos de Uso
Desenhar ou plotar os requisitos funcionais de uma aplicação.
Interações com as tecnologias
Incluir links (internos ou externos) temas que tem relação com este, explicando detalhes sobre. Limite de 3 internos e 2 externos.
Informações adicionais
Descrever detalhes a mais sobre esse tema.
Referências bibliográficas
Relacionar aqui as referências bibliográficas no padrão ABNT. Bases de procura: Artigos, publicações acadêmicas, revistas e sites de fornecedores