segunda-feira, 25 de maio de 2009

Engenharia de Software

Desenvolvam, individualmente, um resumo sobre o temas abordados na disciplina de Engenharia de Software, destacando, com suas palavras, as partes mais e menos importantes, as partes mais e menos difíceis, as partes mais e menos interessantes, e postem como comentário deste enunciado.

19 comentários:

Unknown disse...

Aluno: Giovani Bonet Zomer
ECP360
Acredito que todo o conteudo tem sua importancia, cada aluno achará um determinado assuntoa abordado mais interessante de acordo com seus interesses pessoais, na minha opnião gestão de projetos é muito importante, aprender as formar de se iniciar um projeto, desenvolver a metodologia correta para não cometer erros é de exrtema importancia para nossa carreira profissional. Foi de importancia relevante tambem as formas de reuso, isto nos auxiliara no desenvolvimento de projetos de software. Acredito que menos importante pra mim foi a parte de formas de desenvolvimento, já que nao tenho por objetivo desenvolver e neste momento não apliquei em meu trabalho, mas sei da importancia de conhecer tais aspectos de desenvolvimento. O assunto Interface com o usuário é importante, porem é de conhecimento geral, digo, todos conhecem um pouco a melhor forma de se efetuar um sistema facilitando a vida do usuario, mas complemento que é muito importante conhecer a fundo os melhores metodos de desenvolver uma interface "otima" para o usuário.

Unknown disse...

ENGENHARIA DE SOFTWARECom relação aos conceitos aprendidos até o momento podemos salientar o levantamento de requisitos, onde se encontra a principal etapa de desenvolvimento do projeto de software, e pudemos exercitar de uma forma bem interessante estes conceitos criando um SRS, documento de projeto de software.
Outro conceito interessante foi a estruturação de software onde projeta-se todos os aspectos relacionados preparação do projeto para a fase de desenvolvimento, deixando o projeto mais legivel ao programador, com relação a linguagem de programação, ferramentas de desenvolvimento e tambem softwares de prateleira.
A gestao de equipes de TI, é outro fator que se mostra muito importante, intendendo as diferenças de personalidades da equipe, as gestões que podem ser executadas, etc. Outro ponto são as interfaces de usuário que também são interessantes levantando os aspectos naturais que envolvem o desenvolvimento de interfaces graficas, interfaces amigaveis e que sejam intuitivas para o usuario.
Os trabalhos sobre testes foram importantes para ver as diferenças dos testes principais que existem na metodologia da engenharia de software, e descobrir quais podemos usar com algumas situações de projetos diferentes que encontramos no dia-a-dia.
E um outro assunto que achei de extrema importancia são os sistemas de tempo real, a segurança que os mesmos devem possuir, e toda a questao de respostas confiaveis e tempos de resposta que os envolvem, e os sistemas que usam este tipo de software tambem foram muito bem fundamentados.
E por ultimo as tecnicas de desenvolvimento e desenvolvimento rapido, as suas diferenças e as formas como elas são executadas relatando seus pontos fortes e fracos, isso nos dá uma noção de alguns metodos dos quais podem-se aplicar nos projetos que desenvolvemos atualmente em nossas empresas.

Alcir Mario Trainotti FilhoEngenharia da Computação - ECP360Data : 29/05/2009

Darkrrf disse...

Achei interessante a matéria de Engenharia de Software, pois, sempre buscou uma melhor compreensão e aplicação de conceitos e práticas. Porém, tive certa dificuldade quanto aos conteúdos tratados nos artigos, não compreendendo muito bem suas aplicações.

Rene Rau Filho - ECP360

Unknown disse...

A atual didática da disciplina de engenharia de software foi de suma importância para levantar requisitos na estruturação em projeto de software, um dois principais tópicos abortados foi o porque do uso da engenharia de software que nos mostrou a abrangência de um conjunto de três elementos fundamentais : métodos, ferramentas e procedimentos. Onde os métodos detalham "como fazer" para se construir o software, as ferramentas proporcionam apoio automatizado ou semi-automatizado aos métodos, e os procedimentos constituem o elo de ligação que mantém juntos os métodos e as suas ferramentas, e possibilita um processo de desenvolvimento claro, eficiente, visando garantir ao desenvolvedor e seus clientes, a produção de um software de qualidade.
Outro ponto importante também foi a O domínio da arquitetura de software tem como foco a identificação de importantes propriedades e relacionamentos, isto é, restrições nos tipos de componentes que se apresentam como necessários para a arquitetura, projeto e implementação de um sistema.
A presença de uma descrição de alto nível do sistema traz vantagens em todas as etapas de seu ciclo de vida, sobretudo, por meio da experimentação de um maior reuso em componentes quando menores forem as restrições aplicadas a ele. Por outro lado, tem-se um nível de abstração maior quando se descreve o comportamento e relacionamento abstrato de componentes do que quando se define seu código em uma linguagem de programação.

Um ponto que não teve uma grande importância foi quando abordamos os tópicos de cots e aplicações gordas e magras.

A disciplina foi de grande importância para o grande desenvolvimento profissional de cada aluno.

Diogo disse...

- Documentos de Requisitos SRS.
- Requisitos funcionais.
- Requistos nao funcionais.
- Requisitos de interface.
- Requisitos de dominio.
- Projeto de Intefarce com Usuario.
- Testes caixa branca e caixa preta.
- Gestao de equipes.
-Modelos de desenvolvimento XP e Scrum.
-Reuso de software.
-COTS.
-Sistemas Legados
-Sistemas Distribuidos.
-Client/Server
-Diagrama Fluxo de dados.
-Diagramas de caso de uso.
-Softwares de Tempo Real.

Unknown disse...

Aluno: Tiago Antonio Jacobi
ECP306
Todo o conteúdo abordado foi muito interessante e importante, porém posso citar algumas que considero mais importantes:
- Evolução do Software, todas as fases desde a idéia até a “morte” do software, achei necessário para sabermos quando devemos investir mais tempo ou quando não adianta mais.
- Gestão de equipes e projetos quando se fala do planejamento, como montar uma equipe corretamente, desde a seleção de novos funcionários até a formação da equipe com funcionários internos, da elaboração da proposta e calcular custos.
- As partes de metodologias de desenvolvimento muito boas, pois percebi uma grande aplicabilidade no meu dia a dia.

As que considero de menos interessantes para mim:
- Quando se falado de modelos de processo e a parte de levantamento de requisitos, pois gosto mais de mexer com o código e fazer o software surgir e começar a funcionar.

Unknown disse...

-Documentos de Requisitos

- Requisitos funcionais e não funcionais

-Evolução de SW

-Interface do Usuario

-Reuso de SW

-Teste de caixa branca/preta

-CMMI vantagens, desvantagens e aplicabilidade.

-COTS

-Desenvolvimento rapido

Unknown disse...

Jéssica Conte
ECP 360
Na disciplina de Engenharia de Software foi discutido sobre muitos temas, por exemplo: evoluçaõ do software onde foi falado sobre como foi a evolução do mesmo. Sobre engenharia de sistemas onde foi aprendemos todos os passos para desenvolver um sistema. Em processos aprendemos sobre modelos de software, já em requisitos foi falado sobre os requisitos que um software necessita. Aprendemos que tempo real é um sistema que monitora o software. No decorrer do semestre aprendemos varios outro assuntos que não me recordo agora.
Na minha opinião tudo o que foi ensinado foi importante e será utilizado em algum momento. As partes mais difíceis foram fazer as provas e as mais faceis foram os trabalhinhos feitos em sala de aula. Todas as aulas foram interessantes, mas algumas vezes existia muita matéria teórica onde deixava a aula cansativa, mas mesmo assim foram muito interessantes as aulas.

Juliano Tiago Rinaldi disse...

Conceitos aprendidos durante o Semestre
Modelo de Processos
Classificação: Alta Importância
Aproveitamento: 50%
Equipes de Desenvolvimento (Scrum, XP, CMMI)
Classificação: Média Importância
Aproveitamento: 70%
Diagramas de Estados (Usado Sistema de Tempo Real)
Classificação: Baixa Importância
Aproveitamento: 30%
Interface com Sistemas e Subsistemas
Classificação: Alta Importância
Aproveitamento: 40%
Sistemas de Tempo Reais
Classificação: Média Importância
Aproveitamento: 80%
Conceitos de Sistemas Distribuídos
Classificação: Alta Importância
Aproveitamento: 80%
Integração, Middleware, uso de objetos na rede (Compartilhado)
Classificação: Média Importância
Aproveitamento: 60%
Testes (Caixa Branca, Testes Requisitos, Partições)
Classificação: Alta Importância
Aproveitamento: 90%
Gestão de Equipes
Classificação: Alta Importância
Aproveitamento: 20%
Engenharia de Requisitos (Requisitos do Cliente)
Classificação: Alta Importância
Aproveitamento: 50%
Requisitos Funcionais/Não Funcionais/ Usuário/Interface/Sistema
Classificação: Alta Importância
Aproveitamento: 50%
Projeto de Software
Classificação: Alta Importância
Aproveitamento: 40%
Juliano Tiago Rinaldi – ECP 360

Allan Alemão disse...

A introdução a materia foi muito interessante, incluindo a evolução de Sorftware, que pudemos saber que desde 1950, pessoas vem tentando desenvolver softwares para o auxilio humano.
No meu ponto de vista, que não gosto muito desta área de desenvolvimento, mas mesmo assim, podemos ver como funciona realmente a engenharia de software, desde analizar todos os requisitos utilizados para uma projeto, organizando as equipes, fazendo toda a seleção do pessoal, escolhendo qual seria o modelo mais adequado a ser utilizado.
Uma dos assuntos abordados na disciplina que mais em chamou atenção, foi o reuso de software, pois para atender nossas necessidades, podemos utilizar softwares ja existentes, podendo até juntar varios destes softwares.
Garanto que esta materia cursada, mesmo não tendo interesse na area, contribuiu muito para minhas duvidas e ainda vai contribuir para o termino do curso.

Allan Liebel
BSI-360

Rodrigo Zen@culo disse...

A parte inicial do histórico da computação e da engenharia da computação digamos que sejam as menos interessantes pois são as que apresentam pouca ou nenhuma aplicabilidade.Foi útil aprender sobre as partes constituintes do processo de software.
Foi bom ver também como elaborar diagramas para a representação dos sistemas de um modo mais macro.
Acredito que o grande proveito que tiro desta disciplina com certeza é a parte de engenharia de requisitos onde foram vistos os principais tipos de requisitos e como levanta-los algo que você vê pouco ou simplesmente não vê no meio corporativo.
Os diferentes tipos de interfaces e as ideais para cada sistema, a aplicabilidade e quando deve-se utilizar sistemas de tempo real, assim como conhecer a sua arquitetura.
Testes o que difere um teste estrutural de um teste de requisitos.
Quando e porque aplicar desenvolvimento rápido, quais as vantagens de várias pessoas alterando o código ao mesmo tempo.
Em todo caso para uma disciplina que se diz introdutória ela está sendo muito boa além de ajudar a recapitular o uso de diagramas UML

Rodrigo Neto ECP 360

Unknown disse...

Aluno: Geraldo Ucker Jr.
ECP 360
Alguns pontos referentes a matéria que considero importantes são,
os conceitos gerais que envolvem Engenharia de Software. A crise do Software que propôs a contextualização de um processo de engenharia para a confecção de Softwares. Conceitos como Eng. De Software que determina a área do conhecimento da informática que trata a especificação, desenvolvimento e manutenção de sistemas. Sendo abordadas todas as fases de confecção de um Software.
Análise e reconhecimento dos requisitos para confecção do SRS, bem como a estrutura de um SRS.
Conceitos referentes a formação de equipes, que sugere uma equipe com profissionais de 3 perfis: - orientados a tarefas, auto-orientados e orientado a atitudes sociais.
Outro conceito importante é a questão de reuso de software, que consiste na utilização ou reuso de sistemas já existentes.
Sistema de tempo real é aquele cujo funcionamento ideal do sistema depende dos resultados produzidos e do tempo dos resultados.
Por fim, outro assunto importante são os teste de Software. Existem testes funcionais e estruturais que são testes de caixa preta e caixa branca respectivamente.

Pimpão disse...

Na primeira parcial:
Vi o porque do motivo da Criação da Engenharia de Software.
Nos anos 70 a crise do Software, foi então que um comitê (não me lembra sigal)definiu um padrão de gerenciamento para contornar essa crise, mais mesmo assim ainda continuaram algumas falas.
Na primeira parcial não me empenhei então outros assuntos não ficaram claros,
Os primeiros diagramas, tive dificuldade em representar um sistema no diagrama de blocos.
Processos de software eu até consegui aprender algo, mais na hora de respoder viajei legal... entao classifico tbm que não aprendi.
Gestão de projeto aprendi que existe ferramentas que auxiliam o GP, mais os processo tbm não absorvi.
Gestão de equipes eu achei interessante a parte de cada um tem um perfil diferente,
Que o ambiente de trabalho é importante, volorizar o individo e tal. Mas tbm ficou cosia a aprender
Requisitos eu viajei legal, alguns requisitos so que intedi mais ou menos.
SRS entendi que é a documentação de requisitos, que diz como deve ser implementado o Software.

Na segunda parcial:
Em sistemas distribuído eu entendi o funcionamento midleware .
Tempo real entendi algum coisa sobre uma reação desencadeada para uma ação.
Desenvolvimento rápido, aprendi alguma cosia de XP, tds programa no código de todos, trabalha em dois programadores, mais é importante que a equipe tenha o mesmo nível de conhecimento.

Unknown disse...

-Tipos de software: Web, em tempo real, cliente...
-Grandes Falhas de software: Falha que aconteceu com equipamento de tratamento de câncer. Falha no sistema de localização das ambulâncias de Londres.
-Manutenção do software: Custo / objetivos / Problemas;
-Diferença de engenharia de software e da computação;
-História da evolução do software;
-Sistemas legados: Sistemas antigos e que não se adéquam mais ao ambiente;
-Funcionamento da hierarquia de sistema;
-Utilidade do reuso de software;
-Vantagens do reuso de software, não passar por todos os processo de partir do zero;
-Modelos de desenvolvimento ágil;
-Modelo ágil focado em produzir software em poucas semanas;
-Sistemas em tempo real: Sistemas crítica e que não podem parar. Geralmente utilizados em bancos e hospitais;
-Importância das equipes de TI nas organizações. As pessoas X tarefas.

Unknown disse...

Focando a segunda parcial, os pontos mais relavantes que aprendemos em meu ponto de vista, entra em questão a parte de reuso de software, que uma otima aplicação dentro de fabricas de software. Outro ponto que se destacou para mim dentro da discipla foi a parte de desenvolvimento ageis, onde foi o foco de nossa apresentação e pude ter um aprofundamento bem maior sobre o tema e sua aplicação em varios segmentos. Ja parte de sistemas distribuidos nao teve tanta percepção por mim, assim não tenho o que acrestar nesse topico. Mais um fator imporante é a questão de gestão de equipes, saber planejar a montagem de uma equipe bem estruturada e com niveis de percepção que se complementam tornando uma otima equipe de trabalho. Assim concluo esse breve resumo, com os pontos que mais foram absorvidos por mim.

Rafaela Schaldach - BSI 360

Unknown disse...

A Engenharia de software é a área da computação voltada para o planejamento, especificação, desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas de gerência de projetos e outras disciplinas, tendo como objetivo a organização, produtividade e qualidade. Ela trata entre outras questões, a Interface do usuário, a qual deve ser de fáciul compreenção e hágil para que até o usuário mais inexperiente possa utiliza-lo. A engenharia de software estuda também os casos de uso, os diagramas de blocos, diagramas de classes entre outros, os quais tem por objetivo trazer uma visão prévia doque exatamente o software deverá fazer, como suas funções e janelas, o que é de grande importância para um maior entendimento de seu funcionamento. Na Engenharia de software também pode-se melhor compreender os modelos de processos, os requisitos de software, de usuário de sistema, entre outros, os quais tem como finalidade trazer um melhor planejamento e uma breve descrição das funcionalidades do software.

Aluno: Marcus Moreira Lima Turma:Ecp360

Unknown disse...

Do conteúdo que foi abordado durante o semestre tiveram momentos em que fiquei perdido sem compreender como aplicar e que tipo de uso pode ser efetuado, dentre os temas que me deram um pouco de noção eu destacaria os requisitos de software, que é um assunto que muitas vezes não é levado a serio por muitos desenvolvedores de software, o outro tema que eu destacaria seria os teste de software que muitas vezes é mal feito quando é feito, como não estou diretamente ligado a desenvolvimento posso dizer que muito do que foi abordado para mim ficou ainda sem compreensão.

Unknown disse...

BSI 360
Dionisio
Na minha opinião o início do semestre dia 05/02 tivemos uma aula muito produtiva talves a mais interessante pois estavamos ali aprendendo os conceitos de Engenharia de Software, pois tratava de uma abordagem sobre todo o assunto que veriamos durante o semestre.
No decorrer do semestre e na maioria das vezes as aulas foram bastante teóricas, mas tivemos assuntos interessantes como Evolução do software que destacava a manutenção e evolução do mesmo, processos de software que tratava dos modelos como cascata, evolucionário, incremental e outros.
Mas tivemos alguns assuntos que na minha opinião não forão tão interessante como gestão de projeto que falava sobre as caracteristicas do planejamento e gerenciamento de software e ESW-Equipes que tratava de gerenciamento de pessoas.

Consultoria Natura disse...

Bianca Brasil: Engenharia de software surgiu para estabelecer diretrizes no processo de desenvolvimento de software, estipulando algumas boas praticas aliado a algumas normas, bem como metodologias de acordo com cada necessidade de desenvolvimento.
Dentre as boas praticas, podemos encontrar alguns modelos de processo, como documentação, chamada de SRS que traz todas as informações do sistema que será desenvolvido, como os tipos de requisitos do sistema verificados pelo engenheiro, informações técnicas, como plataformas e metas técnicas do sistema.
Dentre algumas praticas de analise que colaboram para o inicio do projeto de desenvolvimento, podemos citar os diagramas de blocos e a implementação esmiuçada das informações relacionadas ao processo de analise prévio ao inicio do projeto de desenvolvimento.
Nos tipos de sistemas podemos destacar o sistema de tempo real, é sistema crítico, pois deve retornar a informação no tempo necessário, focado ao monitoramento e a informação de dados em tempo real ao que o evento ocorre, é mais indicado a ser programado em assembly. É também usado para sensores e sistemas de alarmes.
Em sistemas distribuídos a informação é multiprocessada, ou seja, mais de um processador atua no evento, indicado para sistemas mais robustos devido ao fato positivo em desempenho.
Visando a redução de custos, é muito utilizado o sistema de Reuso, que propõe a utilização de softwares já existente para uma outra finalidade, pode ser aplicado desde que atenda parcial ou inteiramente a necessidade. Esta idéia serve também para componentes e funções já existentes.
Para alguns cenários se aplica o desenvolvimento rápido de sistema, este consiste numa grande iteratividade com o cliente para feedbacks de requisitos e o projeto sofre bastante alterações para se adequar aos poucos a necessidade, a entrega de versões é bastante freqüente, e a equipe tem uma grande iteração através das mini reuniões diárias. Embora esta forma de desenvolvimento não possa garantir a qualidade e a consistência dos requisitos implementados. Nesta metodologia existem sub métodos que pregam outras idéias e formas de implementar o desenvolvimento rápido, como o uso de cartões com historias que expressam o objetivo da atividade a ser feita.