sexta-feira, 27 de fevereiro de 2009

Trabalho de Eng de Software

Trabalhos - textos sobre:

1- Diferentes formações do Profissional de Informática
2- Características do Software
3- Engenharia de Software
4- Engenharia de Sistemas
5- Engenharia de Requisitos
6- Internet e web 2.0

Fonte: BSI360 e ECP360 - 27/02/09

7 comentários:

Diogo disse...

Alunos: Allan Liebel, Caio Almeida, Diogo Maschio.

Turma: BSI-360

Engenharia de Requisitos

Um dos principais objetivos da engenharia de requisitos é melhorar capacidade de analisá-los e a modelagem de sistemas, possibilitando melhor entendimento de suas características antes de ser implementado.
Sua principal característica é realizar a interação entre clientes e desenvolvedores, levantando os requisitos necessários para a realização do que foi solicitado. Nesta etapa, é fundamental analisar conflitos, modificar e validar seus requisitos, os componentes arquiteturais e o código que os implementa, dentre outras.
O processo de engenharia de requisitos é composto por quatro atividades de alto nível
1. Identificação.
Nesta atividade de identificação temos que analisar alguns fatores necessários para que o projeto se torne viável, como: é muito importante para o analista compreender o domínio no qual a organização e o projeto se inserem, quanto maior for o conhecimento do domínio do projeto, melhor será a comunicação entre os analistas e os clientes. Identificação das partes interessadas com entrevistas e questionários, estudo etnográfico e outros.
2. Análise e negociação.
Após a identificação dos requisitos do sistema, devemos resaltar a importancia da etapa de analise e negociacao do que já foi identificado.
É importante o modularizar requisitos para facilitar a visão global do funcionamento do sistema.
Também se tonar necessario a definicao de prioridade a cada requisito (por exemplo alta/média/baixa), para que se tenha noção dos pontos criticos do projeto ou do sistema.
É fundamental o acordo e firmação dos requisitos entre as partes interessadas para que, conflitos que venhão a surgir posteriormente, estajam bem definidos nesta faze, para evitar atrazos e prejuisos.
3. Especificação e documentação.
Nesta fase que se confecçiona o documento de especificação de requisitos.
Em todos os tipos de especificação existem 2 tipos de requisitos:
Requisitos funcionais: expressão as funcionalidades que o sistema deve disponibilizar, de uma forma completa.
Requisitos não-funcionais: expressão dos aspectos não-funcionais do sistema, como restrições nas quais o sistema deve atender ou propriedades emergentes do sistema. Costumam classificar-se nas categorias: Utilidade, Confiança, Desempenho, Suporte e Escalabilidade.
A documentação confecçionada poderá ter diferentes destinos e como tal diferentes objetivos. Podem-se encontrar três tipos de documentação:
Especificação de requisitos do utilizador.
Especificação de requisitos do sistema.
Especificação do design da aplicação.


4. Validação.
Nesta etapa, se efetua testes de mesa que verificaram antes da imprementação se a solução desenvolvida, ira realmente suprir a necessidade do que foi solicitado, e se o mesmo é viavel.
Esta validacao confirma certas propriedades do sistema tais como: Validade, Consistência, Compreensibilidade / Ambiguidade, Completude, Realismo, Verificabilidade, Rastreabilidade e Conformidade com normas.

Unknown disse...

Alunos: Mauricio Gomes, Rafael Mendes, Marcos A. Souza, Dionisio Patrick
Turma: BSI360
Data: 27/02/2009


Engenharia de Software

A Engenharia de Software é uma área do conhecimento da informática voltada à especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de ciência da computação e gerência de projetos objetivando organização, produtividade e qualidade.
Surgiu em meados dos anos 70 numa tentativa de contornar a crise do software e dar um tratamento de engenharia (mais sistemático e controlado) ao desenvolvimento de sistemas de software complexos. Um sistema de software complexo se caracteriza por um conjunto de componentes abstratos de software (estruturas de dados e algoritmos) encapsulados na forma de procedimentos, funções, módulos, objetos ou agentes e interconectados entre si, compondo a arquitetura do software, que deverão ser executados em sistemas computacionais.
Aborda uma série de práticas e tecnologias, principalmente estudadas pela ciência da computação, enfocando seu impacto na produtividade e qualidade de software. Seu objetivo é a aplicação da teoria, modelos, formalismos e técnicas e ferramentas da ciência da computação e áreas afins para a produção de software.
Os fundamentos científicos para a engenharia de software envolvem o uso de modelos abstratos e precisos que permitem ao engenheiro especificar, projetar, implementar e manter sistemas de software, avaliando e garantindo suas qualidades. Além disso, a engenharia de software deve oferecer mecanismos para se planejar e gerenciar o processo de desenvolvimento de um sistema de informação, não esquecendo da produção de documentação formal de produto, processo, critérios e da qualidade e dos manuais de usuários finais.
Segundo o SWEBOK (Corpo de Conhecimento da Engenharia de Software), as áreas de conhecimento da Engenharia de Software são divididas em:
•Requisitos de Software
•Projeto (Design) de Software
•Implementação de Software
•Teste de Software
•Manutenção de software
•Gerência de Configuração de Software
•Gerência de Engenharia de Software
•Processos de Engenharia de Software
•Ferramentas e Métodos de Engenharia de Software
•Qualidade de Software

Unknown disse...

Web 2.0

Este tema, esta cada vez mais popularizado, porém poucos conseguem
explicar o que ela é realmente.
Antigamente, possuiamos um conceito diferente sobres as informações
geradas na rede mundial de computadores (Internet). As informações circuladas eram
"impostas" pelas corporações que adquiriam o direito de disseminar o conhecimento
para a grande massa ( população). Atualmente nos encontramos num estágio avançado
das informações geradas na rede mundial (Internet). "É algo revolucionário, pois
deixamos de gerar informação para poucos e geramos para muitos, além
disto, a forma de consumir esta informação é totalmente diferente. Ai
vem algo que acho de muita valia, que é "Gestão do Conhecimento". " (Autor: Adré Luis Cardoso,
encontrado no grupo de discuções de técnologia da computação - Sociesc
http://groups.google.com.br/group/tecnologia_ecp/browse_thread/thread/61456510a1291978?hl=pt-BR)


Conceituando o tema

A web 2.0 é uma nova tendência que visa uma maior interação do usuário final
com os serviços disponibilizados na grande rede (Internet), agregando dinamismo ao
ambiente em questão, onde os internautas se tornam colaboradores das informações
circuladas.
Com a chegada da segunda geração da web, surgiu a oferta de diversos serviços
online, que por sua vez agrega uma enorme gama de facilidades para o internauta. Temos
como exemplo, Wikipedia, Facebock, Windows Live, Google Docs, grande protagonista desta evolução
é a Google com sua poderosa ferramenta de busca, entre outros.
Contudo, muitas ferramentas surgiram neste periodo, como por exemplo:
*Ajax : Possui um pacote de tecnologias que cria aplicativos interativos para web;
*Blogs : Atualmente qualquer internauta pode criar sua página pessoal em poucos cliques,
possuindo um baixo custo;
*RSS : Abreviação de "really simple syndication" possibilita que um site possa distribuir e solicitar
informações de qualquer gênero;
*Wikis : Páginas comunitárias que podem ser alteradas por qualquer internauta gerando fenômenos como
o Wikipedia;

Para melhor ilustrar este avanço nas tecnologias web, segue este vídeo muito interessante:
http://videolog.uol.com.br/video.php?id=400119

Inovação ou Marketing:

Algumas pessoas apoiam a idéia de que a web 2.0 é apenas um mero golpe de marketing,
colocando em cheque o título de "Segunda geração da web". É usado como argumento para defender
esta tese, o fato de que sempre houve interação digital na web, portanto seria um movimento
natural.
Contudo, torna-se possível extrair algumas conclusões a respeito deste dilema. É notavél
a grande interatividade e liberdade de expressão por parte de todos os usuários da rede. Este
compartilhamento de conhecimentos gera grandes benefícios intelectuais para os internautas. A informação
deixa de ser estática para ser dinâmica.
Porém, como toda inovação tecnológica, o capitalismo acaba ditando as regras. É indiscutível
os benefícios gerados para os internautas, mas as empresas envolvidas neste meio, possuem um ganho
inimaginável. Podemos citar o exemplo da Google, onde contém a grande parcela das informações mundiais, tanto
corporativas, pessoais e comercias. Estas informações, geram conhecimentos diversos, na qual consegue-se
projetar a empresa de forma mais eficiente, de acordo com o que realmente os clientes necessitam e gostam.


Este artigo foi escrito baseado em informações retiradas dos sites:

Grupo de discussão de tecnologias da Computação - SOCIESC (http://groups.google.com.br/group/tecnologia_ecp/browse_thread/thread/61456510a1291978?hl=pt-BR)

Folha Online - Entenda o que é web 2.0 (http://www1.folha.uol.com.br/folha/informatica/ult124u20173.shtml)

Autores:
Alcir Mario Trainotti FIlho
Geraldo Ucker Junior
Giovani Bonet Zomer


Bacharelandos em Engenharia da Computação - ECP360

Anônimo disse...

A formação de um profissional de informatica, começa com a formação básica do indivíduo, passando pela instrumentalização do mesmo e finalmente a especialização.
Uma outra coisa que deve ser bem observada é a propriedade da certificação. Sendo um modismo, logo deve ser feita sempre com o maior critério e dentro de uma necessidade real.
Dentre os diferentes componentes que contribuem para o desenvolvimento de atividades na área da informática, a formação do profissional capaz de mediar a interação aluno computador tem sido um componente chave. Essa formação tem recebido muita atenção por parte dos pesquisadores da área.

Está ficando cada vez mais claro que sem esse profissional devidamente capacitado o potencial, tanto do aluno quanto do computador,certamente, será sub-utilizado.Em geral, a capacitação de profissionais na área de informática tem sido realizada através de cursos.
Dentre as formações podemos citar os cursos: Engenharia de Computação, Sistemas de Informações, Ciência da Computação, entre outros. Ambos, visando a formação de um bom profissional, buscando novas tecnologias e soluções para a sociedade em que vivemos.

Grupo: Jéssica Conte, Rene Rau Filho, Marcus Moreira Lima

Rodrigo Zen@culo disse...

Engenharia de Sistemas

Engenharia de sistemas dedica-se a tratar desenvolvimento de software de grandes riscos que possuem confiabilidade na execução. Entende-se de software de riscos aquele que não deve haver erro em nenhum processo em execução, sistema de confiabilidade.
Como todo software, dentro da engenharia de software existem métricas e metodologias de desenvolvimento. Softwares de riscos contemplam o conceito de metodologias de desenvolvimento aperfeiçoadas, onde sofrem alterações do padrão do ciclo de software para garantir a funcionalidade do sistema. Deve-se garantir de toda funcionalidade pois poderão colocar em riscos vidas humanas.
Engenharia de sistemas criam sistemas personalizados para cada cliente, não criando um produto padrão de prateleira, cada cliente é um caso de funcionalidades a gerenciar.
As atividades para construção dos softwares de riscos seguem conceitos encontrados na Engenharia de Software:
• Especificar qual o objetivo de software, definir qual finalidade e a quem atingir.
• Prever o perigo de uma falha e como contornar as falhas.
• Desenhar a solução entre a funcionalidade e as possíveis ocorrências que poderão acarretar problemas ao software.
• Implementar as funcionalidades e validar em simuladores antes do usuário final.
• Simular falhas.
• Verificar e controlar modificações de trabalho no ambiente (Processo).
• Instalar o sistema para o cliente/usuário final.
• Manter o sistema, sempre seguindo o fluxo de riscos de desenvolvimento.
Tipos de sistemas encontrados na Engenharia de sistemas: São especificados como Hardware, Software ou conjunto dos dois.
Exemplos de Softwares construídos pela engenharia de sistema: Softwares Hospitalares, Softwares Bancários, Softwares de Controle de Aviões, Softwares Militares para armamentos, etc..
Engenharia de sistemas contempla a metodologia da Responsabilidade Social, isto diz respeito a desenvolver competências científica e tecnológica com gestão ética, procurando harmonizá-las. Mais do que isso se preocupar com a responsabilidade social dos projetos e desenvolvimentos onde estão incluindo vidas no processo.

Membros da Equipe: Juliano, Murilo, Rodrigo Neto, Tiago Jacobi, Wilson
ECP 360

Anônimo disse...

Anulas: Bianca Brasil Rudolfo e Rafaela Schaldach. BSI 360

Características do Software

Para que se possa obter a compreensão do que é software, é importante examinar as características do software que o tornam diferente das outras coisas que os seres humanos constroem. Por ser um elemento de sistema lógico, o software nao pode ser visualizado, nem contruido fisicamente, proporcionando à grosso modo um conceito muito abstrato. O conceito de software consiste em um conjunto de instruções de um programa de computador que, quando executadas, produzem a função e desempenho desejados.

Características desejáveis no software:

1 - O usuário procura SW:
- Fiável, eficiente e fácil de usar

2 - O produtor quer SW:
- Fácil de verificar, manter, portável e extensível

3 - O gestor do projeto quer um processo de produção:
- Eficiente e fácil de controlar

Atributos de qualidade de um Sistema de Software:

1 Desempenho
* Capacidade de processamento
* Capacidade de armazenamento
* Capacidade de resposta

2 Disponibilidade
* Fiabilidade
* Manutibilidade
* Integridade

3 Adaptabilidade
* Extensibilidade
* Portatibilidade

4 Usabilidade
* Facilidade de Aprendizagem
* Eficiência na Utilização
* Resistência

Desempenho
No atributo de desempenho, espera-se que o software características como Capacidade de Processamento, proporcionando uma execução medida em Trabalho X Tempo, Capacidade de Resposta, respondendo as solicitações em tempo esperado e aceitável, como também a Capacidade de Armazenamento, possibilitando o storage de dados.

Disponibilidade
No quesito Disponibilidade do produto, a Fiabilidade analisa a probabilidade de um sistema operar conforme esperado durante um intervalo de tempo; bem como é necessário haver uma expectativa de tempo para que as primeiras reparações sejam feitas no sistema, e por ultimo, não menos importante, trata-se da Segurança dos dados, com ela garantindo a consistência e integridade dos dados guardados pela aplicação.

Adaptabilidade
Nesta característica, é importante que seja atribuída a extensibilidade com o intuito de avaliar e planejar novas funcionalidades do sistema, visando seus custos e efeitos colaterais na aplicação como um todo; já na portabilidade atribui-se a possibilidade de multiplataformas lógicas e físicas.


Usabilidade
Neste item, pode-se destacar a Facilidade de Aprendizagem para o usuário, visando um sistema ergonômico e intuitivo; por sequência, tem-se a Eficiência de Utilização, consiste em avaliar se o sistema esta sendo utilizado da forma mais correta podendo retornar os resultados esperados pelo usuário; um importante tópico é a Resistência a Erros, em que o sistema evita que o usuário cometa erros de utilização, podendo gerenciar grande parte dos próprios erros; e por fim, de considerável importância, temos a Satisfação do cliente a qual se sente bem atendido pelo sistema.

Anônimo disse...

[ TIAGO HARDT ]

qual a importância desta disciplina para o curso
- Objetivar a organizaçao os projetos de Software durante o curso.


qual a importância do conteúdo da disciplina para sua prática profissional
- aplicar as práticas de gerência de projetos, organizaçao e produtividade em projetos de Software.


qual o assunto mais útil e menos útil para sua prática profissional
- O assunto mais útil é a parte de engenharia de requisitos, abstrair as necessidades e vontades do cliente e inseri-las no Sfotware.
O menos útil, alguns diagramas.



qual o assunto mais difícil e mais fácil dos abordados na disciplina
- Difícil é a parte de Negociaçao, dificil entrar em um concensso com o cliente em determinados assuntos.
- Fácil Matriz de rastreabilidade e cálculo de riscos.


qual sua opinião sobre a didática adotada pelo professor para esta disciplina
- Ótima, teoria e prática sempre foi e sempre será uma boa didática.


qual sua opinião sobre o método de avaliação utilizado nesta disciplina
- boa.


o que poderia ser feito para tornar a disciplina mais atrativa
- Trazer exemplos prontos de projetos que foram desenvolvidos com base na Engenharia de Software.


Resumo:
As 7 fases da engenharia de requisitos
CONCEPÇÃO – define o escopo e a natureza do problema
LEVANTAMENTO – ajuda o cliente a definir o que é necessário
ELABORAÇÃO – refinamento dos requisitos básicos
NEGOCIAÇÃO – quais as prioridades, o que é essencial e o que é necessário
ESPECIFICAÇÃO – é o produto final da engenharia de requisitos. Documento
escrito, modelo gráfico, matemático, cenários, protótipo ou a combinação deles.
VALIDAÇÃO – procura garantir que os requisitos não estejam ambiguos, que não
existam inconsistências, omissões ou erros e que o produto seja aquele desejado
pelo cliente e pelo engenheiro. O principal mecanismo é a revisão formal
GESTÃO – atividades para identificar, controlar e rastrear os requisitos e suas
modificações.


arquitetura de software
nao lembro.

metodologias de desenvolvimento
- são os métodos que serao utilizados para o desenvolvimento do projeto, por exemplo: Cascata, paralelo, protótipos..

reuso de software

visa utilizar sistemas já existentes ou componentes já testados

gestão de projetos
organizaçao e gerencia do projeto.