Você está na página 1de 72

FORÇAS ARMADAS ANGOLANAS

INSTITUTO SUPERIOR TÉCNICO MILITAR


DEPARTAMENTO DE ENGENHARIA INFORMÁTICA

PLATAFORMA SOCIAL E COLABORATIVA DO ISTM

TRABALHO FINAL DE CURSO PARA OBTENÇÃO DO GRAU DE LICENCIADO


EM ENGENHARIA INFORMÁTICA
_____________________________________________________________________

Apresentado por: Márcio Hipólito Bonito Lopes


Orientador: Msc. Paulo Silva Cabila

Luanda, 2017
Dedicatória

Dedico este trabalho a minha família, aos meus colegas de escola, a todos os professores
pertencentes ao departamento de Informática, que de forma honesta e profissional têm
transmitido seus conhecimentos. E a todos aqueles que directa ou indirectamente deram
o seu contributo na elaboração deste trabalho.

I
Agradecimentos

Inicialmente agradeço a Deus, a minha família, aos meus amigos e aos colegas de turma
que depositaram os votos de confiança aos meus estudos.
Por fim, agradeço aos professores cubanos, especialmente da especialidade de
engenharia informática pelos ensinamentos e pelas orientações passadas, que muito me
ajudaram na elaboração desta monografia.

II
Epigrafe
“A imaginação é mais importante que a ciência, porque a
ciência é limitada, ao passo que a imaginação abrange o
mundo inteiro”.
Albert Einstein.

III
Resumo

A presente monografia apresenta uma plataforma social e colaborativa sendo o


objectivo principal facilitar o processo de difusão do conhecimento e de como a
informação se propaga de forma rápida e colaborativamente aos usuários adoptado
ferramentas baseadas em redes sociais.
Queremos com este aplicativo melhorar e facilitar toda a comunicação e partilhar dados
sem que seja necessário a deslocação dos usuários. Através de varias pesquisas
recentemente realizadas de forma a incorporação desta temática poderá auxiliar
docentes e alunos no processo de ensino/aprendizagem ao automatizar tarefas
pedagógicas, criando, com isso, Ambientes Educacionais mais ubíquos.
Esta plataforma, deve ser capaz de oferecer vários serviços que garantem aceitação e
melhor qualidade frente ao ensino convencional. Espera-se também como resultado boa
aceitação da aplicação pelos usuários. Tais resultados poderão demostra que a
disponibilização de recursos iterativos incentiva o aprendizado e tende a suprir algumas
necessidades tais como disponibilidade de conteúdos, tempo de interacção entre
Alunos/Docentes e administração controlada por tecnologias.

Palavras-chave: Ambientes virtuais de aprendizagem, plataforma social, aplicação


web, extensão de conteúdo educacional, aprendizagem colaborativa.

IV
Abstract

The present monograph presents a social and collaborative platform being the main
objective to facilitate the diffusion process of knowledge and how information spreads
quickly and collaboratively to users adopted tools based on social networks.
We want with this application to improve and facilitate all communication and data
sharing without the need to move users. Through several researches recently carried out
in order to incorporate this theme, it will be able to assist teachers and students in the
teaching / learning process by automating pedagogical tasks, thus creating more
ubiquitous Educational Environments.
This platform, should be able to offer several services that guarantee acceptance and
better quality compared to conventional education. It is also expected as a result good
acceptance of the application by users. These results may demonstrate that the provision
of iterative resources encourages learning and tends to meet some needs such as content
availability, interaction time between Students / Teachers and technology-controlled
administration.
Keywords: Virtual learning environments, social platform, web application, educational
content extension, collaborative learning.

V
Lista de Figuras
Figura 1. Etapas do RUP .................................................................................................. 8
Figura 2. Fases do RUP .................................................................................................... 9
Figura 3. Modelo de domínio ......................................................................................... 19
Figura 4. Diagrama de CUS ........................................................................................... 23
Figura 5. Pacote de Análise Gerir ................................................................................... 24
Figura 6. Organização dos pacotes de Análises ............................................................. 24
Figura 7. Diagrama de classe de sistema para o CU “Gerir utilizador”. ........................ 29
Figura 8. Diagrama de classe de sistema para o CU “Gerir imagem”........................... 30
Figura 9. Diagrama de classe de sistema para o CU “Gerir vídeo”................................ 30
Figura 10. Diagrama de classe de sistema para o CU “Gerir texto” .............................. 31
Figura 11. Diagrama de classe de sistema para o CU “Gerir documentos”. .................. 31
Figura 12. Diagrama de colaboração para o CU “Gerir utilizador”. .............................. 32
Figura 13. Diagrama de colaboração para o CU “Gerir imagem”. ................................. 33
Figura 14. Diagrama de colaboração para o CU “Gerir vídeo”...................................... 33
Figura 15. Diagrama de colaboração para o CU “Gerir texto” ...................................... 34
Figura 16. Diagrama de colaboração para o CU “Gerir documentos”. .......................... 34
Figura 17. Diagrama de sequência para o CU “Gerir utilizador”. .................................. 36
Figura 18. Diagrama de sequência para o CU “Gerir texto” .......................................... 37
Figura 19. Diagrama de sequência para o CU “Gerir Imagem”. .................................... 38
Figura 20. Diagrama de sequência para o CU “Gerir vídeo”. ........................................ 39
Figura 21. Diagrama de sequência para o CU “Gerir documentos”. .............................. 40
Figura 22. Diagrama de classes persistentes .................................................................. 41
Figura 23. Modelo de dados ........................................................................................... 42
Figura 24. Modelo de desdobramento ............................................................................ 44

VI
Lista de tabelas
Tabela 1. Actores do sistema .......................................................................................... 21
Tabela 2. Descrições de CUS “Gerir usuário”. .............................................................. 25
Tabela 3. Descrição do CUS “Gerir imagem”. ............................................................... 26
Tabela 4. Descrição do CUS “Gerir vídeo”. ................................................................... 26
Tabela 5. Descrição do CUS “Gerir documento”. .......................................................... 27
Tabela 6. Descrição do CUS “Publicar texto”................................................................ 28
Tabela 7. Categoria ......................................................................................................... 42
Tabela 8. Comentário ..................................................................................................... 43
Tabela 9. Posts ................................................................................................................ 43
Tabela 10. Usuário .......................................................................................................... 43
Tabela 11. casos de uso e seus pesos .............................................................................. 47
Tabela 12. actores relacionados com o tipo e o factor.................................................... 48
Tabela 13. justar os pontos de caso de uso (UCP).......................................................... 49
Tabela 14. Cálculo do factor ambiente ........................................................................... 50
Tabela 15. Cálculo de estimativa.................................................................................... 51

VII
Lista de abreviaturas
ISTM – Instituto Superior Técnico Militar
SGBD - Sistema de Gestão de Base de Dados
RUP - Processo Unificado de Desenvolvimento

UML - Linguagem Unificada de Modelação


CUS – Caso de uso de sistema
CU – Caso de uso
SQL – Structure Query Language – Linguagem de Consulta Estruturada
HD – Hard drive – Disco rígido
UUCP – Pontos de caso de uso sem ajustar
UAW – Factor de pesos de actores sem ajustar
UUCW – Factor de peso de casos de uso sem ajustar
UCP – Pontos de caso de uso
TCF – Factor de complexidade técnica
EF – Factor de ambiente
E – Esforço em horas/pessoa
CF – Factor de conversão
TDes – Tempo de desenvolvimento
CH – Quantidade de horas/pessoa
TH – Tarifa horaria
DAO – Data access object
RF – Requisitos funcionais
RNR – Requisitos não funcionais
IIS – Internet information services

VIII
Índice

Dedicatória......................................................................................................................... I

Agradecimentos ................................................................................................................ II

Epigrafe .......................................................................................................................... III

Resumo ........................................................................................................................... IV

Abstract .............................................................................................................................V

Lista de Figuras .............................................................................................................. VI

Lista de tabelas .............................................................................................................. VII

Lista de abreviaturas .....................................................................................................VIII

Introdução ......................................................................................................................... 1

CAPITULO-I FUNDAMENTAÇÃO TEÓRICA, TECNOLOGIAS E TENDÊNCIAS


ACTUAIS ......................................................................................................................... 3

1.1. Introdução .............................................................................................................. 3

1.2 Tendências, Desafios e Tecnologias ........................................................................... 6

1.3.Metodologias de desenvolvimento de sistemas informáticos..................................... 6

1.4. Linguagem de programação Base de dados e Servidores Web ............................... 10

1.4.1. Linguagem PHP.................................................................................................... 10

1.5. HTML ...................................................................................................................... 11

1.6. A Linguagem JavaScript ......................................................................................... 11

1.7. Cascading Style Sheets CSS .................................................................................... 12

1.8. Servidor Web ........................................................................................................... 12

1.8.1. Características do servidor web ............................................................................ 13

1.8.2.Os principais servidores web são, entre outros: .................................................... 13

1.9. Sistema gerenciador de Base de Dados (SGBD) ..................................................... 14

1.10.Sistemas automatizados existentes. ........................................................................ 15

1.11. Conclusões ............................................................................................................. 17

CAPITULO-II DESCRIÇÃO DA SOLUÇÃO PROPOSTA......................................... 18

IX
2.1- Introdução ............................................................................................................... 18

2.2. Descrições do modelo de Negocio .......................................................................... 18

2.3. Modelo de Domínio e seus principais objectivos .................................................... 18

2.4. Captura dos requisitos do sistema ........................................................................... 20

2.5.Descrição do sistema proposto ................................................................................. 21

2.5.1. Caso de uso do sistema ......................................................................................... 22

2.5.2. Diagrama de caso de uso de sistema. ................................................................... 22

2.5.3. Pacotes de análises................................................................................................ 23

2.6. Descrições dos casos de usos do sistema (CUS) ..................................................... 25

2.6.1. Descrições de CUS “Gerir usuário”. .................................................................... 25

2.6.2. Descrição do CUS “Gerir imagem”...................................................................... 26

2.6.3. Descrição do CUS “Gerir vídeo”.......................................................................... 26

2.6.4. Descrição do CUS “Gerir documento”. ................................................................ 27

2.6.5. Descrição do CUS “Publicar texto”...................................................................... 28

2.7. Diagrama de classes de sistema ............................................................................... 28

2.8. Diagrama de colaboração ........................................................................................ 32

2.9. Conclusão ................................................................................................................ 35

CAPITULO-IIICONSTRUÇÃO DA SOLUÇÃO PROPOSTA .................................... 36

3.1-Introdução ................................................................................................................ 36

3.2 Diagramas de sequência. .......................................................................................... 36

3.3. Diagrama de classe de desenho ............................................................................... 40

3.4. Desenho da base de dados. ...................................................................................... 41

3.4.1. Diagrama de classes persistentes .......................................................................... 41

3.4.2. Modelo de dados ................................................................................................... 42

3.4.3.Modelo físico de dados .......................................................................................... 42

3.5. Modelo de Desdobramento...................................................................................... 44

3.6. Conclusão ................................................................................................................ 45

X
CAPÍTULO IV: ESTUDO DE FACTIBILIDADE ....................................................... 46

4.1. Introdução ................................................................................................................ 46

4.2. Planificação ............................................................................................................. 47

4.3. Objectivos tangíveis e intangíveis ........................................................................... 52

4.3.1. Objectivos intangíveis: ......................................................................................... 52

4.3.2. Objectivos tangíveis: ............................................................................................ 53

4.4. Conclusão ................................................................................................................ 54

RECOMENDAÇÕES..................................................................................................... 55

BIBLIOGRAFIA ............................................................................................................ 56

Conclusão ....................................................................................................................... 57

Anexos ............................................................................................................................ 58

XI
Introdução
A informação e o conhecimento estão em todas as áreas, são considerados essenciais
tanto do ponto de vista académico quanto profissional, gerando benefícios que
estimulam o desenvolvimento da sociedade.
As plataformas constituem uma das estratégias utilizadas pela sociedade para o
compartilhamento da informação e do conhecimento, mediante as relações entre atores
que as integram. Neste sentido, plataformas colaborativas são um espaço de trabalho
virtual, isto é, ferramentas de computador que têm como objectivo facilitar a interacção
entre pessoas.

O Instituto Superior Técnico Militar (ISTM) é uma Instituição de ensino vocacionado a


formação de quadros Militares no curso de Engenharias e Medicina. Actualmente no
ISTM a partilha de conhecimento não á feita de forma virtual, obrigando os professor a
se deslocarem dos lugares remotos para partilhar uma ideia ou partilhar um ficheiro com
os alunos por meio de dispositivos moveis (pen-drives, disco duro, etc). Como facilitar
o intercâmbio de conhecimentos e discussão de ideias de forma fácil e segura para a
comunidade ISTM?
A estratégia surge como viável, em um ambiente familiar a grande maioria dos alunos e
como um benefício extra aos estudantes, para um melhor desempenho académico.
Esta plataforma, deve ser capaz de oferecer vários que garantem aceitação e melhor
qualidade frente ao ensino convencional, vem suprir muitas necessidades de ensino, tais
como disponibilidade de conteúdos, tempo de interacção entre Alunos/Docentes, etc.

Se elaboramos uma plataforma web capaz de facilitar a interacção e permitir a partilha


de informação, discussão de ideias entre professores e alunos do ISTM teremos assim
uma informação fluida e rápida dentro da instituição.

1
Objectivo Geral
Desenvolver uma aplicação web num ambiente colaborativo que permite a interacção da
comunidade ISTM (professores e alunos).

Objectivos específicos:
 Criar uma ferramenta web para o auxílio a área de ensino;
 Promover a adesão da plataforma web como ambiente educacional;
 Partilhar conhecimentos e discussão de ideias no ambiente web educacional;
 Incentivar a evolução do conhecimento tanto para alunos quanto para os
professores com a criação de grupos de debates dentro da plataforma
educacional;

Tarefas
 Levantamento bibliográfico;
 Realizar captura de requisitos funcionais e não funcionais;
 Analisar a infra-estrutura de redes disponível no ISTM;
 Realizar análise do sistema;
 Realizar desenho da plataforma para o ISTM;
 Implementar um sistema baseado na tecnologia cliente-servidor;
 Realizar prova do Sistema;
 Fluxo de trabalho implementação;

Para obtenção dos dados, usou-se Métodos de investigação científica, empírico e por
observação este método foi realizado vendo o que acontece nos dias de hoje para que a
informação flui no meio dos professores e aluno.

2
CAPITULO-I FUNDAMENTAÇÃO TEÓRICA, TECNOLOGIAS E
TENDÊNCIAS ACTUAIS

1.1. Introdução
Neste primeiro capítulo, se vai apresentar as bases teóricas que suportam a investigação,
definindo Plataforma colaborativa, Dados, Informação, Conhecimento, Redes Socias,
base de dados, também se vai fazer uma abordagem sobre as tendências actuais
baseadas na proposta de desenvolvimento de um software (fundamenta-se a eleição da
linguagem de programação a usar, o servidor de base de dados e a metodologia de
desenvolvimento).

Plataforma colaborativa é um software constituído por diversas ferramentas que


facilitam a aprendizagem. Nos dias de hoje, o ensino à distância estimula o
desenvolvimento da aprendizagem através de equipamentos ligados à internet e do uso
de ferramentas de comunicação online que permitem a cooperação e/ou colaboração
entre os formandos e o formador (ANDRADE, A. M. 2005).

Dados são um conjunto de valores ou ocorrências em um estado bruto com o qual são
obtidas informações com o objectivo de adquirir benefícios. Existem dois tipos de
dados: estruturados e não estruturados (SOMASUNDARAM SHRIVASTAVA, 2009).

Informação é a resultante do processamento, manipulação e organização de dados, de


tal forma que represente uma modificação (quantitativa ou qualitativa)
no conhecimento do sistema (humano, animal ou máquina) que a recebe (Jacob D.
BEKENSTEIN Agosto, 2003).

Conhecimento é o ato ou efeito de conhecer. Como por exemplo: conhecimento das


leis; conhecimento de um fato; conhecimento de um documento; saber, informação ou
noção adquiridas pelo estudo ou pela experiência (BALLONE G. J; MOURA E. C, 2008).

Redes Social são estruturadas formadas dentro ou fora da internet, por pessoas e
organizações que se conectam a partir de interesses ou valores comuns (MATTHEW O.

JACKSON, 2003). As redes sociais quanto a sua estrutura classificam-se de duas maneiras:
redes sociais horizontais e verticais.

3
Redes sociais horizontais - As redes sociais horizontais são as mais genéricas, pois seu
objectivo é simplesmente a criação de um ambiente digital em que pessoas possam se
comunicar e compartilhar conteúdos como Orkut, Twiter, Facebook, etc.

Por serem genéricas, as redes sociais horizontais tendem a ter um número elevado de
participantes já que a lucratividade do modelo se dá em função do número de Page
Views e seus anunciantes tendem a cobrir um espectro maior de produtos e serviços.

Redes sociais verticais - são redes mais segmentadas e tendem a agrupar pessoas que
têm um interesse em comum. São redes criadas para o debate em torno de um
determinado assunto específico (música, fotos, trabalho, hobbies, etc…) e por isso
agregam um público mais uniforme em termos de perfil.
No mundo virtual, são sites e aplicativos que operam em níveis diversos — como
profissional, de relacionamento, dentre outros — mas sempre permitindo o
compartilhamento de informações entre pessoas e/ou empresas.

Actualmente o melhor e mais bem-sucedido exemplo de rede social vertical é


o LinkedIn que reúne pessoas interessadas em relacionamentos profissionais.

Aspectos positivos e negativos das redes sociais


Pontos positivos:
1 - Ajudam a manter os relacionamentos, mesmo à distância: No dia a dia, que é
muito corrido, uma simples mensagem alivia a angústia da separação. Uma conversa
por vídeo, por exemplo, é uma boa opção para aqueles casais que moram longe um do
outro. O contacto visual, mesmo que pela tela de um dispositivo móvel, já é suficiente
para diminuir a saudade.

2- Facilitam a expressão do que se sente e pensa: o compartilhamento de textos,


fotos, vídeos e imagens é uma forma de se expressar. Essa é uma das oportunidades de
compartilhar experiências e opiniões

4
3 - Dão a oportunidade de pensar antes de reagir: Na comunicação verbal a reacção
é instantânea, enquanto na comunicação virtual escrita temos mais tempo para pensar
antes de agir. Essa possibilidade diminui as chances de cometer certos
constrangimentos.

4 - Estimulam a criatividade: Muitas pessoas usam o seu perfil na rede para se


expressar e essa abertura, proposta pelas redes sociais, dá ao jovem a oportunidade de
mostrar o seu talento. A agilidade da internet, das interacções, com respostas
instantâneas gera no indivíduo o estímulo de criar novos conteúdos, com objectivo de
agradar os amigos e conquistar mais seguidores, o que consequentemente agrada a si
mesmo. Pontos

Pontos negativos:
1 - Sensação de solidão: A redes sociais acabam oferecendo um relacionamento
superficial onde, muitas vezes, não há um aprofundamento das relações. A pessoa busca
intimidade, porém há uma capa de superficialidade que não permite uma interacção
mais profunda, ou seja, a relação para num certo ponto.

2 - Perda de tempo sem perceber: O usuário usa o tempo livre que tem para bater
papo no Facebook e Twitter, ou então ver fotos no Instragram. No entanto, o que ele
não percebe são o segundo precioso que gastou.

3 - Aumento da fofoca: Gasta-se tempo e energia verificando o que o outro está


fazendo, comprando, comendo ou assistindo, uma espécie de BigBrother virtual.

4 - Estimulo à inveja: Muitos conteúdos compartilhados são sobre bons momentos,


festas, viagens a lugares lindos ou um jantar num bom restaurante, entretanto nem
sempre quem vê estes posts está desfrutando dessas maravilhas. É aí que surge a inveja
por não estar na mesma condição que o outro. Esse sentimento não é ruim, o problema
se dá e, como a pessoa encara a situação.

5
5 - Criam barreira para a socialização física: A pessoa tímida recorrerá às redes
sociais para se expor, porém, dependendo do grau de timidez, o indivíduo pode usá-las
como o único canal para interagir com as pessoas, fugindo da exposição face a face.
(THIAGO M. R. DIAS, ELTON A. RABELO, PATRICIA M. DIAS E GRAY F. MOITA, LISBOA 29
DE JUNHO A 2 DE JULHO, 2015).

1.2 Tendências, Desafios e Tecnologias


Tendência: O uso de metodologias activas, em ambientes virtuais de aprendizagem,
onde o aluno é autor da própria aprendizagem, agindo de forma colaborativa. Outra
tendência é o crescimento da interdisciplinaridade, onde diversas áreas do conhecimento
atuam conjuntamente na produção de conhecimento por parte de alunos e professores.

Desafio: Superar a natureza profundamente hierárquica da educação em favor de formas


mais colaborativas. Os diferentes usos de tecnologias digitais favorecem uma maior
interactividade entre professores e alunos e entre os próprios alunos, possibilitando a
colaboração na aprendizagem dos alunos (Sérgio Abranches, professor universitário e
doutor em Educação, Brasil).

Tecnologia: A plataforma moodle. Este tipo de plataforma facilita a interacção entre os


alunos e professores, visto que neles podem conter todas as disciplinas do aluno, com
todo o tipo de suporte de informação necessária à sua aprendizagem, e também possuem
fóruns onde os próprios alunos podem pedir para os professores esclarecerem dúvidas
quando estão a estudar (Shelly Terrell, formadora de professores, USA).

1.3.Metodologias de desenvolvimento de sistemas informáticos


Cada dia a produção de software busca adequar-se mais as necessidades do usuário, isso
traz como consequência que aumente a complexidade do mesmo.
Para alcançar a produtividade do software necessita-se um processo que integre as
múltiplas facetas do desenvolvimento do mesmo.
A seguir mostra-se algumas das metodologias existentes, orientadas a objectos, as
chamadas Metodologias ágeis.

6
XP (Programação Extrema)

É a mais popular das metodologias ágeis, devido em parte a habilidade de seus líderes
(Kent Beck entre eles) para atrair aos desenvolvedores.

XP propõe um processo de desenho evolutivo que se baseia em refactorar um sistema


simples em cada iteração. Na iteração não se trabalha para necessidades futuras, o que
agiliza o desenvolvimento do projecto ao cumprir só com as necessidades presente.

Scrum

O Scrum é um processo ágil, iterativo e incremental que foca na aceitação das


mudanças que podem ocorrer, principalmente em contextos pouco definidos. Ele foi
primeiramente descrito por Takeuchi e Nonaka em seu trabalho chamado " The New
Product Development Game " e embora não seja exactamente uma metodologia de
desenvolvimento específica para jogos, vem sendo usada por algumas empresas ao
redor do mundo. Essa premissa de aceitação das mudanças que podem ocorrer e
adaptação às mesmas vai de encontro a metodologias preditivas, como o RUP.

Processo Unificado de Desenvolvimento (RUP)

O RUP, é um processo proprietário de Engenharia de software criado pela Rational


Software Corporation, adquirida pela IBM, ganhando um novo nome IRUP que agora é
uma abreviação de IBM Rational Unified Process e tornando-se uma brand na área de
Software, fornecendo técnicas a serem seguidas pelos membros da equipe de
desenvolvimento de software com o objetivo de aumentar a sua produtividade no
processo de desenvolvimento (Jacobson, Booch, Rumbaugh, 2000).

O RUP usa a abordagem da orientação a objectos em sua concepção e é projectado e


documentado utilizando a notação UML (Unified Modeling Language) para ilustrar os
processos em acção. Utiliza técnicas e práticas aprovadas comercialmente.

É um processo considerado pesado e preferencialmente aplicável a grandes equipas de


desenvolvimento e a grandes projectos, porém o fato de ser amplamente customizável
torna possível que seja adaptado para projectos de qualquer escala. Para a gerência do
projecto, o RUP provê uma solução disciplinada de como assinalar tarefas e
responsabilidades dentro de uma organização de desenvolvimento de software
(Jacobson, Booch, Rumbaugh, 2000).

7
O RUP é, por si só, um produto de software. É modular e automatizado, e toda a sua
metodologia é apoiada por diversas ferramentas de desenvolvimento integradas e
vendidas pela IBM através de seus "RationalSuites".

Mediante RUP é possível assegurar a produção de software de qualidade, dentro de


prazos e pressupostos previsíveis. Com este processo reduz-se os riscos do projecto e é
possível ter um subsistema executável em um tempo breve, as vezes que permite uma
compreensão crescente dos requisitos; os quais não podem definir-se completamente
desde um início, senão que se requer iterações sucessivas. Uma iteração é uma
sequência de actividades com um plano estabelecido e critérios de avaliação específicos,
cujo resultado é uma versão do software. Isto é, o que faz único a RUP.

Figura 1. Etapas do RUP


Fonte: Vasco, Vithoft & Estudante, 2005

8
Figura 2. Fases do RUP

A Linguagem Unificado de Modelação (UML)

Linguagem de Modelagem Unificada (UML) é uma linguagem orientada a objecto e


representa a linguagem mais expressiva para modelagem computacional. A UML
descreve a visualização e a documentação dos modelos de Software orientados a
objectos. Os elementos da UML ajudam a entender melhor o planeamento do Software
como: diagrama de caso de uso, diagrama de sequência, diagrama de classe, diagrama
de colaboração, diagrama de actividade e outros que facilitam a compreensão do
projecto a ser desenvolvido. Esses diagramas especificam cada etapa do projecto,
utilizando os atores e o cenário, os relacionamentos entre eles, a sequência na
recorrência do método, na troca de mensagens e as mudanças das actividades existentes
no modelo que possuem relação entre si. Os atores que aparecem no sistema não
significam uma pessoa física. Quando o usuário a cessar o sistema, assume diferentes
regras, numa representação por um item específico. O actor na verdade interage com o
sistema.

9
UML também é uma linguagem estândar de modelado para software, uma linguagem
para visualizar, especificar, construir e documentar os artefactos (informação que se
utiliza ou produz-se mediante o processo de criação de um software) de sistemas nos
que o software joga um papel importante. (Booch, Rumbaugh, Jacobson, 2000)

Basicamente UML permite aos desenvolvedores visualizar os resultados do seu trabalho


nos esquemas ou diagramas estandardizados. As ferramentas podem oferecer geradores
de código de UML para uma grande variedade de linguagens de programação, assim
como construir modelos por engenharia inversa a partir de programas existentes.

1.4. Linguagem de programação Base de dados e Servidores Web

1.4.1. Linguagem PHP

Tecnicamente, PHP é uma linguagem de programação Server-Side para internet que


pode executar múltiplas funções. Ele tem algumas características marcantes que faz
aumentar diariamente a quantidade de sites que passa a usá-lo.

Vantagens do PHP

• Fácil aprendizado;
• Acesso a dados;
• Multiplataforma;
• Código-fonte aberto;

Desvantagens do PHP

• Compatibilidade entre versões – Nota-se que falta um pouco de padronização;


• Documentação incompleta – Como a maioria dos programas Open Source,
frequentemente os recursos surgem antes de estarem documentados.
• Segurança – Segundo os especialistas, o uso de Servelets e do JSP deixa os
códigos mais seguros, pois são pré-compilados.

10
1.5. HTML
HTML é a sigla de Hyper Text Markup Language,foi criada por Tim Barners Lee na
década de 1990, expressão inglesa que significa "Linguagem de Marcação de
Hipertexto". Consiste em uma linguagem de marcação utilizada para produção de
páginas na web, que permite a criação de documentos que podem ser lidos em
praticamente qualquer tipo de computador e transmitidos pela internet.
Os navegadores apresentam a página conforme está especificada. Um documento em
HTML é um texto simples, que pode ser editado no Bloco de Notas ou Editor de Texto
e transformado em hipertexto.

1.6. A Linguagem JavaScript


JavaScript é uma linguagem baseada em objectos, que permite adicionar lógica em
páginas escritas em HTML. O código JavaScript pode estar “solto” ou atrelado à
ocorrência de eventos. O código solto é executado na sequência em que aparece na
página (documento), e os atrelados a eventos são executados apenas quando o evento
ocorre. Para inserir parágrafos de programação dentro do HTML, é necessário
identificar o início e o fim do programa JavaScript, com os marcadores <script> e
</script>. Este procedimento pode ser adoptado em qualquer local da página.
Entretanto, para melhor visualização e facilidade de manutenção, recomenda-se que
toda a lógica seja escrita no início do documento, através da criação de funções que
devem ser invocadas quando for necessário (normalmente atreladas a eventos).
Se a lógica é escrita a partir de um determinado evento, não é necessário o uso dos
marcadores <script> e </script>. Os comandos JavaScript são sensíveis ao tipo de letra
(maiúsculas e minúsculas) em sua sintaxe. Portanto, é necessário que esta norma seja
obedecida ao escrever comandos JavaScript. Caso seja cometido algum erro de sintaxe
quando da escrita de um comando, o JavaScript interpretará, erroneamente, o comando
como sendo o nome de uma variável. É uma linguagem de programação do lado cliente.

11
1.7. Cascading Style Sheets CSS
CSS é uma "folha de estilo" composta por “camadas” e utilizada para definir a
apresentação (aparência) em páginas da internet que adoptam para o seu
desenvolvimento linguagens de marcação (como XML, HTML e XHTML). O CSS
define como serão exibidos os elementos contidos no código de uma página da internet
e sua maior vantagem é efectuar a separação entre o formato e o conteúdo de um
documento.

Por que o CSS foi criado?


Com a evolução dos recursos de programação as páginas da internet estavam adoptando
cada vez mais estilos e variações para deixá-las mais elegantes e atractivas para os
usuários. Com isto, linguagens de marcação simples como o HTML, que era destinada
para apresentar os conteúdos também precisou ser aprimorada.

O CSS também permite que as mesmas marcações de uma página sejam apresentadas
em diferentes estilos, conforme os métodos de renderização (como em uma tela,
impressão, via voz, baseadas em dispositivos tácteis, etc.). A maioria dos menus em
cascata, estilos de cabeçalho e rodapé de páginas da internet, por exemplo, actualmente
são desenvolvidos em CSS.

1.8. Servidor Web

Um servidor web é um software responsável por aceitar pedidos HTTP de clientes,


geralmente os navegadores, e servi-los com respostas HTTP, incluindo opcionalmente
dados, que geralmente são páginas web, tais como documentos HTML com objectos
embutidos (imagens, etc.) ou um computador que executa um programa que provê a
funcionalidade descrita anteriormente. O mais popular, e mais utilizado no mundo, é
o servidor Apache (software livre). A Microsoft possui a sua própria solução
denominada IIS (Internet Information Services).

12
1.8.1. Características do servidor web
1. Os pedidos HTTP que se referem habitualmente a páginas HTML são
normalmente feitos através de browsers.
2. O processo se inicia com a conexão entre o computador onde está instalado o
servidor web e o computador do cliente; como na web não é possível prever a
que hora se dará essa conexão, os servidores web precisam estar disponíveis dia
e noite.
3. A partir daí é processado o pedido do cliente, e conforme as restrições de
segurança e a existência da informação solicitada, o servidor devolve os dados.
Genericamente tudo que se enquadre no conceito de ficheiro pode ser enviado
como resultado de um pedido HTTP.
4. Finalmente, os servidores web também podem executar programas e scripts,
interagindo mais com o usuário.

1.8.2.Os principais servidores web são, entre outros:


 Apache
 Microsoft IIS (Internet Information Server)
 Microsoft PWS (Personal Web Server)

Servidor Apache.

O apache é um servidor Web extremamente popular, usado principalmente no Linux. A


dupla é bastante popular em servidores de páginas desde a popularização da Internet em
95 e segundo muitas estatísticas é a mais usada em servidores Web actualmente,
superando o Windows como se tem comportado o avanço dos servidores web na
actualidade, demostrando o ascenso vertiginoso de Apache.

Apache foi tirado do nome de como ele foi desenvolvido ("A patchy server " traduzir
"um servidor remendado"), pois é o fruto de uma série de correcções dos softwares, para
torná-lo uma solução segura. Na verdade, o Apache é considerado seguro porque poucas
de suas vulnerabilidades são publicadas.

Assim, assim que falhas de segurança são detectadas, elas são corrigidos imediatamente
e uma nova versão do aplicativo é publicada.

13
1.9. Sistema gerenciador de Base de Dados (SGBD)

Em muitos sistemas informatizados é necessário armazenar informações em uma base


de dados, podemos constatar isso observando que nas últimas décadas a base de dados
se tornou o coração de muitos sistemas. A informação é muitas vezes a coisa mais
valiosa das empresas, mantê-las e poder acessá-las sempre que necessário é primordial
para tomar decisões importantes. Mas controlar o acesso a essas informações também é
importantíssimo.

Sistema gerenciador de base de dados (SGBD) do inglês Data Base Management


System (DBMS) – é o conjunto de programas de computadores (softwares) responsáveis
pelo gerenciamento de uma base de dados. Seu principal objectivo é retirar da aplicação
cliente a responsabilidade de gerenciar o acesso, a manipulação e a organização dos
dados. O SGBD disponibiliza uma interface para que os seus clientes possam incluir,
alterar ou consultar dados previamente armazenados.

Tudo que fazemos em um banco de dados passa pelo SGBD! O SGBD é responsável
por tudo, salvar os dados no HD, manter em memória os dados mais acessados, ligar
dados e metadados, disponibilizar uma interface para programas e usuários externos
acedam a base de dados, encriptar dados, controlar o acesso a informações, manter
cópias dos dados para recuperação de uma possível falha, garantir transacções na base
de dados, enfim, sem o SGBD a base de dados não funciona!

É comum as pessoas chamarem um SGBD de base de dados, por exemplo: base de


dados Oracle, base de dados MySQL, base de dados SQL Server, etc. Na verdade esses
são os SGBDs, base de dados é o que eles oferecem, o correto é chamá-los de: SGBD
Oracle, SGBD MySQL, SGBD SQL Server, etc.

14
MySQL

O MySQL é um sistema gerenciador de banco de dados relacional de código aberto


usado na maioria das aplicações gratuitas para gerir suas bases de dados. O serviço
utiliza a linguagem SQL (Structure Query Language – Linguagem de Consulta
Estruturada), que é a linguagem mais popular para inserir, aceder e gerenciar o conteúdo
armazenado num banco de dados.

Para utilizar o MySQL, é necessário instalar um servidor e uma aplicação cliente. O


servidor é o responsável por armazenar os dados, responder às requisições, controlar a
consistência dos dados, bem como a execução de transacções concomitantes entre
outras. O cliente se comunica com o servidor através da SQL.

1.10.Sistemas automatizados existentes.

Actualmente na instituição existe um sistema Allfresco que serve para gestão


documental que é apenas utilizado pelos professores do departamento de informática.

No mundo existem sistemas similares que servem para a troca de material académico
entre eles:

1. Twiducateo objectivo do é criar uma grande escola online, na qual todos podem
colaborar com discussões, sugestões e novas ideias, focados em melhorar a
forma como os conteúdos são apresentados nas escolas tradicionais.
2. EDU2.0o professor se cadastra, gratuitamente, e pode elaborar uma biblioteca
com materiais, conteúdo de aulas, imagens, vídeos e outras informações
relativas ao seu campo de ensino. Além de melhorar a organização do trabalho,
o site pode servir como fonte de pesquisa de informação e métodos pedagógicos
para outros educadores.
3. Edmodo Também é uma rede social focada, exclusivamente, no conteúdo
educacional. O site oferece ferramentas para os professores compartilharem
conteúdo, actividades extras e lições de casa com os alunos, pais e, também,
outros docentes interessados. Há também um espaço para os educadores
“trocarem figurinhas” sobre dilemas e soluções inteligentes dentro da sala de
aula.

Na nossa instituição não existe nenhum aplicativo ou sistema que permite o intercâmbio
de ideias e informações entre professores e alunos.

15
O sucesso de um projecto de desenvolvimento de software começa no devido
planeamento e na escolha de uma metodologia compatível com as características do
mesmo. Para o desenvolvimento desta monografia utilizaremos a metodologia RUP.
Porque O RUP prova ser um processo de desenvolvimento robusto e bem definido,
embora bastante complexo e trabalhoso para projectos de software de pequeno porte, ele
pode ser bem aproveitado para projectos aonde é preciso manter registro constante do
fluxo do projecto, e com a utilização da mesma é possível obter qualidade de software,
produtividade no desenvolvimento, operação e manutenção de software, controle sobre
o desenvolvimento dentro de custos, prazos e níveis de qualidade desejados, sem deixar
de levar em conta a estimativa de prazos e custo com maior precisão.

O SGBD a ser utilizado é o MySQL e o ambiente de programação PHP, que são as


ferramentas utilizadas, verificou-se que os softwares livres são de grande utilidade, pois
retornam os resultados esperados e pré-estabelecidos de forma económica e segura, o
que torna uma grande vantagem para os desenvolvedores que estão iniciando o seu
caminho no mercado.

16
1.11. Conclusões
Devidas as facilidades que o Processo Unificado de Desenvolvimento de Software
(RUP) brinda no desenvolvimento de aplicações, permitindo a uma organização
desenvolver aplicações tirando o máximo proveito as novas tecnologias, melhorando a
qualidade, o rendimento, a reutilização, a segurança e manutenção do software; o
sistema que se propõe se desenvolverá com tecnologia orientada a objectos, apoiando-se
em (RUP) e como notação a Linguagem Unificada de Modelação (UML) que é a base
da modelação visual de RUP.

17
CAPITULO-II DESCRIÇÃO DA SOLUÇÃO PROPOSTA

2.1- Introdução
O segundo capítulo, fundamenta a necessidade de ser aplicado o modelo de domínio,
que ajuda a perceber os conceitos que utilizaram os usuários no sistema, facilitando na
captura de requisitos funcionais e não funcionais, determinação quais serão os Actores
do nosso sistema, diagrama de caso de uso de sistema, descrição dos casos de usos do
sistema e diagrama de classe de sistema.

2.2. Descrições do modelo de Negocio


O processo de negócio elaborado nesse trabalho decorre no instituto superior técnico
militar, que forma militares nos cursos de Engenharia e Medicina.
O intercâmbio de informações e ficheiros no ISTM não é feita por um sistema
automatizado mas sim por meio de dispositivos de armazenamento no ato da aula o
professor disponibiliza o seu dipositivo de armazenamento para que assim os alunos
possam ter acesso ao material e fazer o acompanhamento da aula.

2.3. Modelo de Domínio e seus principais objectivos


O Modelo de Domínio é um dos passos mais importantes na análise, por decompor um
domínio em conceitos. Com objectivos de ilustrar classes conceituais (ou objectos de
domínio). Captura os tipos mas importantes de objectos, entendidas como as coisas que
existem ou os eventos que acontecem entorno em que trabalha o sistema.
É uma Representação visual estática do entorno real objecto do projecto. Em um
Diagrama com os Objectos (reais) que conformam o projecto a realizar e as Relações, as
agregações e as generalizações que existem entre eles.

O Diagrama de domínio tem por objectivos:


 Ajudar a compreender os conceitos que utilizaram os Sistemas.
 Dá perspectivas conceitual de objectos em uma situação real do mundo. Nos
auxilia na compreensão dos termos e conceitos, bem como seus relacionamentos.
Para o trabalho, o modelo de domínio é composto por nove (9) classes e suas breves
descrições:

18
Figura 3. Modelo de domínio
Fonte: Autor próprio

Classe_Plataforma: Classe que ira gerir todo o sistema.


Classe_Texto: Estará a representar os textos, ou seja irá tratar de todo o conjunto de
operações relacionadas a texto.
Classe_Arquivos_Fisicos: Classe responsável por toda a informação que necessitará de
um armazenamento temporário ou permanente.
Classe_Documentos: Irá tratar de todos os documentos a serem enviados ou publicados
(doc. Txt, etc).
Classe_Video: Será responsável para gerir os vídeos publicados pelos utilizadores na
página.
Classe_Imagem: Será responsável para gerir as imagens publicados pelos utilizadores na
página.
Classe_Usuarios: Será responsável de validar todas a questões ligadas ao utilizador.
Classe_Professor: É um tipo de usuário que fará uso do aplicativo.
Classe_Aluno: É um tipo de usuário que fará uso do aplicativo.

19
2.4. Captura dos requisitos do sistema

Entende-se por requisito, uma condição ou capacidade com a qual o sistema deve
estar de acordo.

Requisitos funcionais

Plataforma Social e Colaborativa para o ISTM composta pelos seguintes requisitos:


 RF1: Gerir utilizador
– RF1.1.Gerir conta de utilizador
• RF1.1.1. Criar perfil
• RF1.1.2. Modificar perfil
• RF1.1.3. Eliminar perfil
 RF2: Gerir informação
– RF2.1.Gerir Imagem
• RF1.1.1. Carregar Imagem
• RF1.1.2. Descarregar Imagem
• RF1.1.3. Eliminar Imagem
– RF2.2. Gerir vídeo
• RF2.2.1. Carregar vídeo
• RF2.2.2. Descarregar vídeo
• RF2.2.3. Eliminar vídeo
– RF2.3. Gerir texto
• RF2.3.1. Publicar texto
• RF2.3.3. Eliminar texto
– R2.4. Gerir documentos
• RF3.4.1. Carregar documento
• RF3.4.2. Descarregar documento
• RF3.4.3. Eliminar documento
Requisitos não funcionais:
Requisitos não funcionais são requisitos que declaram restrições, ou atributos de
qualidade para um software e/ou para o processo de desenvolvimento deste sistema. Em
termos de requisitos não funcionais identificou-se:

• RNF1: Usabilidade
– O sistema será de fácil uso para os usuários os quais são pessoas com
conhecimento mínimo de trabalho com os computadores.
20
– O acesso a plataforma deve ser possível através computador com ligação a
rede local através de um navegador.
• RNF2: Requisitos de confiabilidade:
– O software deverá ter alta disponibilidade, do tempo.
• RFN3: Interface
– O sistema será fácil de usar, e que se ajusta a quantidade de ícones que
representam opções facilmente identificáveis.
• RNF4: Requerimento de Aparência e Interface:
– O sistema devera ter uma interface externa legível, simples com cores
agradáveis e atractivas para que os internautas acedam sem dificuldades.

2.5.Descrição do sistema proposto


Actores do sistema
O sistema é composto pelos seguintes actores:

Actores Justificação

Administrador sistema é o que se responsabilizará


pelo desenvolvimento da Plataforma,e é o principal
responsável de todo o sistema, controlando os
usuarios que já não estão a usar as suas contas,
aqueles que publicam conteúdos indesejados e
Administrador do sistema aqueles que já sairam da instituição e ainda têm as
suas contas activas.

Usuário é a pessoa que ira utilizar o sistema e que


realizará várias operações com diferentes
propósitos.
Usuário
O sistema ira contar com dois tipos de usuários
professores e alunos, ambos com os mesmos
privilégios.

Tabela 1. Actores do sistema


Fonte: Autor próprio

21
2.5.1. Caso de uso do sistema
Descrevem como os usuários interagem com o sistema (as funcionalidades do sistema);

O conjunto de casos de uso deve ser capaz de comunicar a funcionalidade e o


comportamento do sistema para o cliente.

A plataforma é composta por sete (5) casos de uso do sistema que são:

1. Gerir utilizador 4. Gerir texto


2. Gerir Imagem 5. Gerir documentos
3. Gerir vídeo

2.5.2. Diagrama de caso de uso de sistema.


Para o sistema proposto, a modelagem de um diagrama caso de uso do sistema, consiste
numa técnica que é usada para descrever e definir os requisitos funcionais de um
sistema. Eles são escritos em termos de actores externos, caso de uso e o sistema
modelado. E os actores representam um papel de uma entidade externa ao sistema como
um usuário, um hardware, etc. Os actores iniciam a comunicação com o sistema através
dos casos de usos, onde o caso de uso representa uma sequência de acções executadas
pelo sistema e recebe do actor que lhe utiliza dados tangíveis de um tipo ou formato já
conhecido.
Para a Plataforma Social e Colaborativa para o ISTM temos o seguinte diagrama de
caso de uso do sistema:

22
Figura 4. Diagrama de CUS
Fonte: Autor próprio

2.5.3. Pacotes de análises


Pacote de análises consiste em um mecanismo de agrupamento, onde todos os modelos
de elementos podem ser agrupados. Geralmente a UML define um pacote como: "Um
mecanismo de propósito geral para organizar elementos semanticamente relacionados
em grupos." Todos os modelos de elementos que são ligados ou referenciados por um
pacote são chamados de "Conteúdo do pacote". Um pacote possui vários modelos de
elementos, e isto significa que estes não podem ser incluídos em outros pacotes. Os
pacotes de análises podem ser responsáveis por funções lógicas ou técnicas do sistema.
É muito importante separar a lógica da aplicação da lógica técnica. Isso facilitará muito
futuras mudanças no sistema.

23
2.5.3.1 Pacote de Análise Gerir

Figura 5. Pacote de Análise Gerir


Fonte: Autor próprio

2.5.3.4.Organização dos pacotes de Análises.

Administração e
serviços
Gerir

Caso de uso
relatorios

Figura 6. Organização dos pacotes de Análises


Fonte: Autor próprio

24
2.6. Descrições dos casos de usos do sistema (CUS)
O presente sistema apresenta uma série de casos de usos para serem descritos como:
Gerir utilizador, Gerir imagem, Gerir vídeo, Gerir texto, Gerir documento e Procurar
artigo.

2.6.1. Descrições de CUS “Gerir usuário”.


Caso de uso Gerir usuário
Actor Administrador e Usuário (professores e
alunos)
Resumo Este caso de uso irá possibilitar ao actor de
sistema a criar, editar e eliminar usuário.
Responsabilidade Este terá a autorização para criação de
usuário, editar a conta e eliminação de
usuário.
Fluxo normal de eventos
Acção do actor Resposta do sistema
1- O usuário do sistema escolhe a 2- O sistema mostra a interface
opção gerir. principal e exibe um menu com as
seguintes opções:
3- O usuário do sistema dá um clique em
Ok. a) Criar novo usuário

b) Editar usuário (Editar permissões de


acesso do usuários)

c) Eliminar usuários

Tabela 2. Descrições de CUS “Gerir usuário”.

Fonte: Autor próprio

25
2.6.2. Descrição do CUS “Gerir imagem”.
Caso de uso Imagem
Actor Usuário (professores e alunos)
Resumo Este caso de uso irá possibilitar ao actor de
sistema a carregar, descarregar e eliminar
uma imagem.
Fluxo normal de eventos
Acção do actor Resposta do sistema
1- O usuário do sistema escolhe a 2- O sistema mostra a interface
opção. principal e exibe um menu com as
seguintes opções:
3- O usuário do sistema dá um clique em
Ok. d) Carregar imagem

e) Descarregar imagem

f) Eliminar imagem

Tabela 3. Descrição do CUS “Gerir imagem”.


Fonte: Autor próprio

2.6.3. Descrição do CUS “Gerir vídeo”.


Caso de uso Vídeo
Actor Usuário (professores e alunos)
Resumo Este caso de uso irá possibilitar ao actor de
sistema a carregar, descarregar e eliminar
um vídeo.
Fluxo normal de eventos
Acção do actor Resposta do sistema
1- O usuário do sistema escolhe a 2- O sistema mostra a interface
opção. principal e exibe um menu com as
seguintes opções:
3- O usuário do sistema dá um clique em
Ok. g) Carregar vídeo

h) Descarregar vídeo

i) Eliminar vídeo

Tabela 4. Descrição do CUS “Gerir vídeo”.

26
Fonte: Autor próprio

2.6.4. Descrição do CUS “Gerir documento”.


Caso de uso Documento
Actor Usuário (professores e alunos)
Resumo Este caso de uso irá possibilitar ao actor de
sistema a carregar, descarregar e eliminar
um documento.
Fluxo normal de eventos
Acção do actor Resposta do sistema
1- O usuário do sistema escolhe a 2- O sistema mostra a interface
opção. principal e exibe um menu com as
seguintes opções:
3- O usuário do sistema dá um clique em
Ok. j) Carregar documento

k) Descarregar documento

l) Eliminar documento

Tabela 5. Descrição do CUS “Gerir documento”.


Fonte: Autor próprio

27
2.6.5. Descrição do CUS “Publicar texto”.

Caso de uso Publicar texto

Actor Usuário (professores e alunos)

Resumo O usuário entra no sistema e digita o texto


ou conteúdo que pretende publicar após
seleccionar faz a correcção do mesmo e do
um clica no botão publicar e o texto será
apresentado na página inicial da
plataforma.

Fluxo normal de eventos

Acção do Actor Respostas do sistema

1- Selecciona a opção publicar texto. 2.Activar a opção para a publicação de


3- Inserir o conteúdo que pretende texto.
publicar. 4- Salvar o conteúdo.

6- Visualizar conteúdo publicado. 5-Publicar o conteúdo.

Tabela 6. Descrição do CUS “Publicar texto”.


Fonte: Autor próprio

2.7. Diagrama de classes de sistema


Diagrama de classes de sistema
Representa a estrutura e as relações das classes que servem de modelo de objectos. Essa
modelagem é bastante útil para desenvolvimento do sistema, pois irá definir todas as
classes que o sistema necessita possuir, e é a base para a construção dos diagramas de
colaboração e estados. Fornece uma perspectiva do sistema de um ponto de vista
externo. Internamente os objectos colaboram para atender às funcionalidades do
sistema. Demonstra a estrutura estática dessa colaboração, mostra as classes de um
sistema, seus atributos e operações, e como as classes se relacionam. Composto por três
classes essenciais como: classe entidade, classe, interface e classe de controlo.

28
Classe de Interface: são utilizadas para modelar a interacção entre o sistema e o
actor.
Classe de Controlo: será responsável na coordenação, sequência transacções, e
controlo de outros objectos e são usados com frequência par encapsular o controlo de
um caso de uso concreto.
Classe de Entidade: é fundamental para modelar as informações e o comportamento
associado de algum fenómeno ou conceito, como uma pessoa ou um objecto de mundo
real.

2.7.1. Diagrama de classe de sistema para o CU “Gerir utilizador”.

CI: Criar perfil

Usuario CI: Gerir utilizador CI: Modificar perfil CC: Gerir utilizador CE: Usuario

CI: Eliminar perfil

CI: Mostrar perfil

Figura 7. Diagrama de classe de sistema para o CU “Gerir utilizador”.


Fonte: Autor próprio

29
2.7.2. Diagrama de classe de sistema para o CU “Gerir imagem”.

CI: carregar imagem

Usuario CI: Gerir imagem CI: Eliminar imagem CC: Gerir imagem CE: Imagem

CI: Mostrar imagem

Figura 8. Diagrama de classe de sistema para o CU “Gerir imagem”.


Fonte: Autor próprio

2.7.3. Diagrama de classe de sistema para o CU “Gerir vídeo”.

CI: carregar video

Usuario CI: Gerir video CI: Eliminar video CC: Gerir video CE: video

CI: Mostrar video

Figura 9. Diagrama de classe de sistema para o CU “Gerir vídeo”.


Fonte: Autor próprio

30
2.7.4. Diagrama de classe de sistema para o CU “Gerir texto”

CI: Publicar texto

Usuario CI: Gerir texto CI: Eliminar texto CC: Gerir texto CE: texto

CI: Modificar texto

Figura 10. Diagrama de classe de sistema para o CU “Gerir texto”


Fonte: Autor próprio

2.7.5. Diagrama de classe de sistema para o CU “Gerir documentos”.

CI: carregar documentos

Usuario CI: Gerir documentos CI: Eliminar documentos CC: Gerir documentos CE: documentos

CI: Mostrar documentos

Figura 11. Diagrama de classe de sistema para o CU “Gerir documentos”.


Fonte: Autor próprio

31
2.8. Diagrama de colaboração

O diagrama de colaboração mostra de maneira semelhante ao diagrama de sequência, a


colaboração dinâmica entre os objectos. Além de mostrar a troca de mensagens entre os
objectos, percebe-se também os objectos com os seus relacionamentos. A interacção de
mensagens é mostrada em ambos os diagramas. Se a ênfase do diagrama for o decorrer
do tempo, é melhor escolher o diagrama de sequência, mas se a ênfase for o contexto do
sistema, é melhor dar prioridade ao diagrama de colaboração.

2.8.1. Diagrama de colaboração para o CU “Gerir utilizador”.

2: Carregar CI criar perfil


Varidar dados
1: Selecionar operação criar perfil : CI: Principal

7: Mostrar informação 6: Criar perfil

4: Inserir dados
5: Verificar dados : CC: Criar perfil : CE: Perfil
: Usuario
3: Mostrar CI Perfil

: CI: Perfil

Figura 12. Diagrama de colaboração para o CU “Gerir utilizador”.


Fonte: Autor próprio

32
2.8.2. Diagrama de colaboração para o CU “Gerir imagem”.

2: Carregar CI imagem

1: Selecionar operação carregar imagem : CI: Principal

7: Mostrar imagem 6: Carregar imagem

4: Indicar directorio da imagem


5: Carregar dados : CC:Carregar imagem : CE: Imagem
: Usuario
3: Mostrar CI imagem

: CI: Imagem

Figura 13. Diagrama de colaboração para o CU “Gerir imagem”.


Fonte: Autor próprio

2.8.3. Diagrama de colaboração para o CU “Gerir vídeo”.

2: Carregar CI video

1: Selecionar operação carregar video : CI: Principal

7: Mostrar video 6: Carregar video

4: Indicar directorio do video


5: Carregar dados : CC:Carregar video : CE: Video
: Usuario
3: Mostrar CI video

: CI: Video

Figura 14. Diagrama de colaboração para o CU “Gerir vídeo”.


Fonte: Autor próprio

33
2.8.4. Diagrama de colaboração para o CU “Gerir texto”

2: Carregar CI texto

1: Selecionar operação publicar texto : CI: Principal

7: Mostrar texto 6: publicar texto

4: inserir texto
5: Carregar dados : CC:Publicar texto : CE:Texto
: Usuario
3: Mostrar CI texto

: CI: Texto

Figura 15. Diagrama de colaboração para o CU “Gerir texto”


Fonte: Autor próprio

2.8.5. Diagrama de colaboração para o CU “Gerir documentos”.

2: Carregar CI documento

1: Selecionar operação carregar documento : CI: Principal

7: Mostrar link do documento 6: Carregar documento

4: Indicar directorio do ficheiro


5: Carregar dados : CC:Carregar documento : CE: Documento
: Usuario
3: Mostrar CI documento

: CI: Documento

Figura 16. Diagrama de colaboração para o CU “Gerir documentos”.


Fonte: Autor próprio

34
2.9. Conclusão
Para a segundo capítulo, foi nos dados a descrição da solução proposta do projecto,
descrições do modelo de domínio (que teve como objectivos de ilustrar classes
conceituais, capturando os tipos mas importantes de objectos, entendidas como as coisas
que existem ou os eventos que acontecem entorno em que trabalha o sistema, fez-se
captura dos requisitos do sistema onde encontramos a sua divisão em funcionais e
requisitos não funcionais, descrição do sistema proposto isto dos actores do sistema e da
composição caso de uso do sistema, fez-se também a representação diagrama de caso de
uso de sistema acompanhado com seus respectivos actores.

Vimos também as descrições dos pacotes de análises (responsáveis por funções lógicas
ou técnicas do sistema, descrições dos casos de usos do sistema e por terminar fez-se as
ilustrações dos diagrama de classes de sistema, definindo todas as classes que o sistema
necessita possuir, e é a base para a construção dos diagramas de colaboração e de
sequencia, porque fornecem uma perspectiva do sistema de um ponto de vista externo.

35
CAPITULO-IIICONSTRUÇÃO DA SOLUÇÃO PROPOSTA

3.1-Introdução
Os diagramas de sequência são os responsáveis pela ilustração como serão enviadas as
mensagens enviadas entre os objectos. Mostrando a interacção entre os objectos, o que
acontece em um ponto específico da execução do sistema. As mensagens enviadas por
cada objecto são simbolizadas por setas entre os objectos que se relacionam.

3.2 Diagramas de sequência.


O principal foco para secção é sobre ilustrações dos diagramas de sequência que
compõe o nosso sistema tais como: diagrama de sequência para fazer o cadastramento
de usuários e o de autenticação de usuário no nosso sistema.

3.2.1. Diagrama de sequência para o CU “Gerir utilizador”.

: Usuario : CI: Principal : CC: Criar perfil : CI: Perfil : CE: Perfil
Selecionar operação criar perfil

Carregar CI Perfil

Mostrar CI Perfil

Inserir dados

Verificar dados

Criar perfil

Mostrar informação

Figura 17. Diagrama de sequência para o CU “Gerir utilizador”.


Fonte: Autor próprio

36
3.2.3. Diagrama de sequência para o CU “Gerir texto”

: Usuario : CI: Principal : CC:Publicar texto : CI: Texto : CE:Texto


Selecionar publicar texto

Carregar CI texto

Mostrar CI texto

Inserir texto

Carregar dados

Publicar texto

Mostrar texto

Figura 18. Diagrama de sequência para o CU “Gerir texto”


Fonte: Autor próprio

37
3.2.4. Diagrama de sequência para o CU “Gerir Imagem”.

: Usuario : CI: Principal : CC:Carregar imagem : CI: Imagem : CE:Imagem


Selecionar operação carregar imagem

Carregar CI imagem

Mostrar CI imagem

Indicar directorio da imagem

Carregar dados

Carregar imagem

Mostrar imagem

Figura 19. Diagrama de sequência para o CU “Gerir Imagem”.


Fonte: Autor próprio

38
3.2.5. Diagrama de sequência para o CU “Gerir vídeo”.

: Usuario : CI: Principal : CC:Carregar video : CI: Video : CE:Video


Selecionar operação carregar video

Carregar CI video

Mostrar CI video

Indicar directorio do video

Carregar dados

Carregar video

Mostrar video

Figura 20. Diagrama de sequência para o CU “Gerir vídeo”.


Fonte: Autor próprio

39
3.2.7. Diagrama de sequência para o CU “Gerir documentos”.

: Usuario : CI: Principal : CC:Carregar documento: CI: Documento : CE: Documento


Selecionar operação carregar documento

Carregar CI documento

Mostrar CI documenyo

Indicar directorio do documento

Carregar dados

Carregar documento

Mostrar documento

Figura 21. Diagrama de sequência para o CU “Gerir documentos”.


Fonte: Autor próprio

3.3. Diagrama de classe de desenho


O diagrama de classes de desenho é o responsável na demonstração da estrutura estática
das classes do sistema (Interface, Controladora e Entidades). Onde as classes são
relacionadas com outras através de diversas maneiras: associação (conectadas entre si),
dependência (uma classe depende ou usa outra classe), especialização (uma classe é
uma especialização de outra classe), ou em pacotes (classes agrupadas por
características similares). Todos estes relacionamentos são mostrados no diagrama de
classes juntamente com as suas estruturas internas, que são os atributos e operações.

40
3.4. Desenho da base de dados.

3.4.1. Diagrama de classes persistentes

O modelo de classes persistência é um diagrama de classes da UML que apresenta as


classes DAO (Data Access Object) que compõem a camada de persistência de um
determinado pacote do sistema.

Figura 22. Diagrama de classes persistentes


Fonte: Autor próprio

41
3.4.2. Modelo de dados

Figura 23. Modelo de dados


Fonte: Autor próprio

3.4.3.Modelo físico de dados

Tabela: Categorias
Campo Tipo de dados Longitude
Id categorias INT 6
Descrição VARCHAR 255
Id usuário INT 6
Tabela 7. Categoria
Fonte: Autor próprio

42
Tabela: Comentário
Campo Tipo de dados Longitude
Id comentário INT 6
Nome VARCHAR 255
E-mail VARCHAR 255
Contexto VARCHAR 255
Id posts INT 6
Tabela 8. Comentário
Fonte: Autor próprio

Tabela: Posts
Campo Tipo de dados Longitude
Id posts INT 6
Titulo VARCHAR 255
Slug VARCHAR 255
Contexto VARCHAR 255
Imagem VARCHAR 255
Id categoria INT 6
Id usuário INT 6
Tabela 9. Posts
Fonte: Autor próprio

Tabela: Usuário
Campos Tipo de dados Longitude
Id usuário INT 6
Nome usuário VARCHAR 255
E-mail usuário VARCHAR 255
Password VARCHAR 255
Género VARCHAR 255
Telefone VARCHAR 255
Tabela 10. Usuário
Fonte: Autor próprio

43
3.5. Modelo de Desdobramento
Este modelo é um modelo de objectos que descreve a distribuição física da
funcionalidade entre os nodos (processadores e outros dispositivos físicos que compões
o sistema), isto é, localização física dos componentes de software nos nodos.

PC1

PC3 Servidor Servidor


web de BD

PC2

Figura 24. Modelo de desdobramento


Fonte: Autor próprio

44
3.6. Conclusão
Neste capítulo fez-se a elaboração de diagramas e argumentos afins para este sistema,
afirmamos que todo aspecto frisado neste capítulo denominado “Construção da solução
proposta” que logicamente resulta da descrição de uma solução apresentada no capítulo
anterior, deu primazia a elaboração de vários digramas e descrição de tópicos
indispensáveis para análise do mesmo capítulo.
Elaborou-se os diagramas de sequência, que não vão além dos detalhes dos casos de uso
de sistema, através da comunicação das classes controladoras, entidades e interfase. Por
via de mensagens ou métodos todas as classes pertencentes aos diagramas

45
CAPÍTULO IV: ESTUDO DE VIABILIDADE
4.1. Introdução

Um dos processos fundamentais do gerenciamento de projectos de software é o


planeamento, um conjunto de actividades que visam estimar tempo e recursos
necessários ao projecto, definir tarefas e preparar uma estrutura para o gerenciamento
[Humphrey, 1989]. Para que um projecto de software possa ser efectivamente
planejado, estimativas do custo, em termos de esforço, prazo e orçamento, devem ser
derivadas logo no início, através de um processo bem definido – o processo de
estimativa de custo de software.

Para este capítulo faz-se o estudo de viabilidade, que baseasse no cálculo de estimações
guiadas a pontos de caso de uso.

Encontra-se calculado os parâmetros que nos permitem determinar o custo total do


software, sobre o qual se analisa:

 Pontos de caso de uso sem ajustar,


 Factores de peso dos actores sem ajustar,
 Factor de complexidade técnica,
 Factor do ambiente
 Pontos de caso de uso ajustados
 Esforço empregado por pessoa
 Custo total do projecto.

Cálculo dos pontos de caso de uso sem ajustar (UUCP)


UUCP = UAW + UUCW
UUCP: Pontos de Casos de Uso sem ajustar.
UAW: Fator de Peso dos Atores sem ajustar.
UUCW: Fator de Peso dos Casos de Uso sem ajustar.

46
4.2. Planificação
Obtenção dos pontos da função

Entradas Externas: São entradas de controlo do usuário introduzidas desde o exterior


do sistema, e que agregam os dados a um arquivo logico interno.

Tabela dos casos de uso e seus pesos

Nº Caso de uso Peso

1 Gerir utilizador 20

2 Gerir imagem 25

3 Gerir vídeo 25

4 Gerir texto 25

5 Gerir documento 25

Tabela 11. Casos de uso e seus pesos


Fonte: Autor próprio

Total de peso= 120


O cálculo dos factores por actores sem ajustar varia em dependência dos actores,
podem:
• Simples: acontece quando um sistema externo interactua mediante uma interfase
de programação com meu sistema.
• Médios: acontece quando outro sistema interactua mediante protocolo tcp/ip
com o meu sistema.
• Complexos: Uma pessoa que interactua com o sistema mediante uma interfase
gráfica.

47
Tabela ilustradora dos actores relacionados com o tipo e o factor

Actores Tipo Factor

Professor Complexo 3

Estudante Complexo 3

Tabela 12. Actores relacionados com o tipo e o factor


Fonte: Autor próprio

• Total de factores:6
• Após a ilustração das duas tabelas podemos concluir que:
• UAW: Fator de Peso dos Atores sem ajustar = 6
• UUCW: Fator de Peso dos Casos de Uso sem ajustar = 90
• Como UUCP (Pontos de Casos de Uso sem ajustar) = UAW + UUCW
• UUCP= 6+120 =126

Ajustar os pontos de caso de uso (UCP)


UCP = UUCP x TCF x EF
Onde:
UCP: Pontos de Casos de Uso ajustados
TCF: Factor de complexidades técnicas
EF: Factor de ambiente

Cálculo do Factor de complexidade técnica


Este factor é avaliado de 0 a 5 por critério de relevância no desenvolvimento do projecto
TCF = 0.6 + 0.01 x (Peso i x Valor i)

48
Cálculo de justar os pontos de caso de uso (UCP)
Nº Factor Peso Valor Peso *Valor

1 Sistema distribuído 2 0 0

2 Tempo de resposta 1 3 3

3 Eficiência do usuário final 1 2 2

4 Processamento interno 1 1 1
complexa
5 Código deve ser reutilizável 1 3 3

6 Facilidade de instalação 0.5 2 1

7 Facilidade de uso 0.5 2 1

8 Portabilidade 2 3 6

9 Facilidade de Mudança 1 3 3

10 Concorrências 1 3 3

11 Objectivos especiais de 1 2 2
segurança
12 Acesso directo a terceiras 1 1 1
partes
13 Requer treinamento de 1 2 2
usuários
Tabela 13. Ajustar os pontos de caso de uso (UCP)
Fonte: Autor próprio

Total do somatório de [Peso * Valor] = 25


TCF (Factor de complexidades técnicas) = 0.6 + 0.01 x 25
TCF = 0.6 + 0.25 = 0.15

49
Cálculo do factor ambiente
Nº Factor Peso Valor Peso*Valor

1 Familiaridade com modelo utilizado 1.5 1 1.5

2 Experiencia na aplicação 0.5 1 0.5

3 Experiência em orientação a objecto 1 1 1

4 Capacidade do analista líder 0.5 0 0

5 Motivação 1 4 4

6 Estabilidade dos requisitos 2 3 6

7 Pessoal Part-time -1 0 0

8 Dificuldade na linguagem de -1 3 -3
programa
Tabela 14. Cálculo do factor ambiente
Fonte: Autor próprio

O factor ambiente é dado pela seguinte fórmula:


EF =1.4 - 0.03 x  (Peso i x Valor i)
Total de somatório de [peso i * Valor i]= 10
EF=1.4 - 0.03 * 10
EF= 1.4-0,3 = 1,1

Então calculando Pontos de Casos de Uso ajustados obtém-se:


UCP = UUCP x TCF x EF
UCP = 126*0.15* 1,1
UCP = 20,79

Levar de pontos de caso de uso a esforço


E = UCP x CF
E: Esforço em horas/pessoas

50
CF: Factor de Conversão
UCP: Pontos de CU ajustados
O factor de conversão (CF) segundo Kerner tem um valor de 20 horas por homem.
Logo:
E = 20,79* 20 h/homem
E = 415,8 h/homem

Durante o desenvolvimento do software 415,8 h/homem corresponde a 40% que é a


implementação, agora em seguida calcular-se-á a percentagem das outras fases de
desenvolvimento.

Cálculo de estimativa
Nº Etapa de % E(h/homem)
desenvolvimento

1 Analise 10 87,45

2 Desenho 20 147,9

3 Implementação 40 415,8

4 Prova 15 144,675

5 Subcarga e manutenção 15 144,675

6 Total 100 940,5

Tabela 15. Cálculo de estimativa


Fonte: Autor próprio

Cálculo do custo de desenvolvimento:


TDES (total) = E(total) / CH (total)
Onde:
TDES: Tempo de desenvolvimento
CH: Quantidade de homens
E= 940,5 CH = 1
TDES =940,5/ 1= 940,5horas/h

51
Meses = 5
Custo do Projecto

C(total) = E(total) x2Th (meia)


E - Esforço em horas/pessoas
Th – Tarifa Horaria
Salario mensal = 90.000
24dias * 8hrs=192 hrs
Numhorasmes = 192
Th = Salario Mensal / Numero horas mês
Th = 20.000/192
Th = 104,6 h/homem

C(total) = E(total) x2Th (meia)


C(total) = 940,5x 2 (104,6 h/ homem)
C(total) = 196752,6kz.

O custo total do projecto é de cento e noventa e seis mil setecentos e cinquenta e dois,
seis kz (196752,6kz).

4.3. Benefícios tangíveis e intangíveis

4.3.1. Benefícios intangíveis:

 Democratizar o Auto-Ensino: Deseja-se que os usuários do sistema façam


administração do seu próprio tempo para estudo individual.
 Humanização de trabalho: Espera-se que o programa reduza alguns trabalhos
realizados no processo de ensino no ISTM.

 Aumentar a cultura de pesquisa e acompanhamento tecnológico a nível de


usuários.

52
4.3.2. Benefícios tangíveis:

 Tornar mais eficiente o sistema de ensino


 Aumentar e dinamizar a informação e acompanhamento aos alunos
 Aumenta o aproveitamento da jornada laboral dos docentes.
 Entrega em tempo real as informações que se solicitam.
 Melhor organização documental a nível académico

53
4.4. Conclusão
Neste capitulo abordamos de como é feita a elaboração do custo total do projecto,
vimos que o mesmo passou por varias etapas entre as quais temos o factor de peso sem
ajustar, factor de caso de uso, o tempode desenvolvimento e por ultimo vimos tambem
os objectivos tangiveis e intangiveis visto que são os pontos ou fases importantes a
serem utilizados no desenvolvimento de projectos de software.

54
RECOMENDAÇÕES

Este sistema em ambiente web para o ensino, carece de continuidade no que concerne a
aplicação do sistema, com objectivo de elevar a qualidade de serviços e melhorar, assim
como implementar novas funcionalidades ao portal, como isso deixo as seguintes
recomendações:

 Antes da aplicação, ou configuração do sistema, que se faça uma análise do


funcionamento da infra-estrutura de redes na instituição para possíveis
resoluções de problemas caso existam.
 Continuidade a avaliação do sistema, fazendo configuração de outros
serviços anexos a plataforma.

55
BIBLIOGRAFIA

1- The Unified Software Development Process Ivar Jacobson, Grady Booch e


James Rumbaugh Addison-Wesley e Jacob D. BEKENSTEIN Agosto, 2003.
2- Martins, J. C. C. e ANDRADE, A. M. 2005 (2007) “Gerenciando projectos de
desenvolvimento de software com PMI, RUP e UML. 4 ed. Rio de Janeiro:
Brasport.
3- JEFFRIES, Ron; ANDERSON, Ann; HENDRICKSON, Chet. Extreme
Programming Installed. 1. ed. Boston: Addison-Wesley, 2001. 265 p.

4- [Kruchten, 2000] Introduction to the Rational Unified Process, de Philippe


Kruchten, Addison-Wesley e BALLONE G. J; MOURA E. C, 2008– Software

5- Eduardo Chaves. Ensino a Distância: Conceitos básicos Disponivelem:


6- Technology Series by Addison Wesley e SOMASUNDARAM SHRIVASTAVA, 2002.
7- [MATTHEW O. JACKSON, 2003] De Marco Tom.
ManagingInformationSystems.
8- Ensino e aprendizagem vía internet THIAGO M. R. DIAS, ELTON A.
RABELO, PATRICIA M. DIAS E GRAY F. MOITA, LISBOA 29 DE JUNHO
A 2 DE JULHO, 2015.

56
Conclusão

Este sistema apresenta uma solução aceitável e de perfeita relação custo-benefício, pode
gerenciar um sistema de ensino, cumprindo com requisitos funcionais do sistema acima
proposto, é fácil de gerir as actividades desde o ponto de usuário aluno, professor e
administrador, permitira realização de consultas de informações, material que lhe
possam ser uteis em seus estudos, acesso as aulas de forma virtual, suporte académico,
etc.

Este sistema para gerenciamento de ensino foi desenvolvido para funcionar no ISTM,
em uma intranet será uma mais-valia para a resolução dos problemas que existe dentro
da instituição no que concerne ao processo de ensino, será implementado dentro de uma
rede existente na instituição com o acompanhamento do administrados de redes para
que se estenda um processo de criação de redes virtuais e enquadramento do sistema a
rede correspondente ao curso.

57
Anexos

Menu

Sobre as tecnologias e tipo de segurança

Fonte: Autor próprio

58
Interface para fazer Login

Fonte: Autor próprio

Interface para Registrar usuário

Fonte: Autor próprio

59
Interface principal

Fonte: Autor próprio

60

Você também pode gostar