Etiqueta: visualeditor |
Sem resumo de edição |
||
| Linha 2: | Linha 2: | ||
=== '''Engenharia''' === | === '''Engenharia''' === | ||
Engenharia em seu contesto geral, é a arte das construções, tendo como base o conhecimento científico e empírico. Onde temos o conhecimento cientifico, como o estudo, | Engenharia em seu contesto geral, é a arte das construções, tendo como base o conhecimento científico e empírico. Onde temos o conhecimento cientifico, como o estudo, | ||
onde determina-se constante e métodos de trabalho, e o conhecimento empírico que está relacionado à prática. | |||
=== '''Software''' === | === '''Software''' === | ||
| Linha 10: | Linha 11: | ||
Engenharia de ''software'' é uma abordagem sistemática e disciplinada para o desenvolvimento de ''software'' (PRESSMAN, 2006). | Engenharia de ''software'' é uma abordagem sistemática e disciplinada para o desenvolvimento de ''software'' (PRESSMAN, 2006). | ||
Como a engenharia é a arte das construções, a engenharia de software é a arte da construção de um software. Mais do que isso, | Como a engenharia é a arte das construções, a engenharia de software é a arte da construção de um software. Mais do que isso, ela é uma tecnologia que | ||
visa construir um software de maneira coerente e precisa. | |||
Engenharia de software é uma tecnologia de camadas, onde cada camada, representa uma etapa que deve ser executado da melhor forma possível, | Engenharia de software é uma tecnologia de camadas, onde cada camada, representa uma etapa que deve ser executado da melhor forma possível, ela tem | ||
como base a camada de processos. Ilustrado na imagem 1. | |||
O processo de engenharia de software, é quem mantém as camadas de tecnologia consistente, | O processo de engenharia de software, é quem mantém as camadas de tecnologia consistente, e possibilita o desenvolvimento racional de um software que | ||
esteja dentro do prazo. Nessa camada há a definição de uma metodologia que deve ser estabelecida para que haja a entrega efetiva do software. O processo | |||
constitui a base para se ter o controle e o gerenciamento de projetos, nisso há o estabelecimento do ambiente que são aplicados os métodos técnicos, é feita | |||
a documentação, para definir marcos, para que a qualidade seja garantida, e as mudanças futuras ocorram de forma correta. | |||
Os Métodos, fornecem informações técnicas para o desenvolvimento do software. Está envolvido nesses métodos, uma grande variedade de tarefas, como: | Os Métodos, fornecem informações técnicas para o desenvolvimento do software. Está envolvido nesses métodos, uma grande variedade de tarefas, como: a | ||
analise de requisitos, a comunicação, a modelagem de projeto, construção de programa, teste e suporte. Essa camada se baseia em um conjunto de princípios | |||
básicos que governam cada área da tecnologia, que inclui atividades de modelagem e algumas outras técnicas descritivas. | |||
As ferramentas, proporcionam um apoio automatizado (ou semi-automatizado), para as camadas de métodos e de processos. Quando há a integração das ferramentas, de tal forma que, as informações geradas por uma seja capaz de ser utilizada por outra, é formado um sistema para o suporte ao desenvolvimento de software, | As ferramentas, proporcionam um apoio automatizado (ou semi-automatizado), para as camadas de métodos e de processos. Quando há a integração das ferramentas, | ||
de tal forma que, as informações geradas por uma seja capaz de ser utilizada por outra, é formado um sistema para o suporte ao desenvolvimento de software, isso | |||
se denomina Engenharia de software com o auxilio do computador (CASE - ''Comput er-Aided Software Engineering''). | |||
=== '''Aplicações praticas''' === | === '''Aplicações praticas''' === | ||
De modo geral, essas três bases da engenharia de software visam construir um software de maneira coerente e precisa, por isso é crucial que cada camada, | De modo geral, essas três bases da engenharia de software visam construir um software de maneira coerente e precisa, por isso é crucial que cada camada, seja | ||
realizada da melhor forma possível, para que se obtenha o resultado esperado. | |||
Na pratica, existem várias metodologias, que visam uma boa pratica da engenharia de software. Como por exemplo: | Na pratica, existem várias metodologias, que visam uma boa pratica da engenharia de software. Como por exemplo: | ||
| Linha 27: | Linha 38: | ||
Modelo cascata (Ou ''Waterfall'') | Modelo cascata (Ou ''Waterfall'') | ||
No modelo cascata, as fases de desenvolvimento são definidas claramente, quando todas as fases são definidas, inicia | No modelo cascata, as fases de desenvolvimento são definidas claramente, quando todas as fases são definidas, inicia se o desenvolvimento, quando há o termino | ||
da primeira fase, inicia se a segunda, e assim sucessivamente, porém há um detalhe, como em uma cascata, quando a água passa por ela, é impossível fazer com | |||
que ela volte, correto!? | |||
[[Arquivo:Waterfall(1).jpg|thumb|270x270px]] | [[Arquivo:Waterfall(1).jpg|thumb|270x270px]] | ||
Por isso, nesse modelo, a declaração das fases devem ser perfeitas, para que não haja erros no futuro.Por exemplo, ao desenvolver um produto web, | Por isso, nesse modelo, a declaração das fases devem ser perfeitas, para que não haja erros no futuro.Por exemplo, ao desenvolver um produto web, você precisa | ||
especificar absolutamente todas as funcionalidades, pelo fato de que o desenvolvimento de software nesse modelo é visto com começo, meio e fim que acontece em | |||
uma sequencia: definição de requisitos, detalhamento e especificação do software, codificação, teste e produção. | |||
Desenvolvimento iterativo de software | Desenvolvimento iterativo de software | ||
[[Arquivo:Iterativo.jpg|thumb]] | [[Arquivo:Iterativo.jpg|thumb]] | ||
Tal desenvolvimento se opõe ao modelo de cascata, pois o ciclo de desenvolvimento é menor e ele se repete varias vezes, | Tal desenvolvimento se opõe ao modelo de cascata, pois o ciclo de desenvolvimento é menor e ele se repete varias vezes, usando um relatório da fase anterior para | ||
melhorar a próxima. Como mostra a imagem a seguir. | |||
Nesse modelo as fases são definidas com menos detalhes do que no modelo cascata, porém o mesmo permite alterações no projeto, por exemplo, | Nesse modelo as fases são definidas com menos detalhes do que no modelo cascata, porém o mesmo permite alterações no projeto, por exemplo, ao desenvolver | ||
um produto web, você especifica tudo o que quer, se o desenvolvedor fizer o visual, e você querer muda-lo,por um motivo ou outro, essa mudança pode ocorrer. | |||
=== '''Considerações finais''' === | === '''Considerações finais''' === | ||
A base da engenharia de software são os processos, as pessoas e a tecnologia. Por isso, | A base da engenharia de software são os processos, as pessoas e a tecnologia. Por isso, de nada adianta termos os melhores profissionais do mundo se não | ||
possuímos boas tecnologias para uso, ou se não possuímos um processo que guie o desenvolvimento de software. | |||
Da mesma maneira, de nada adianta possuir as tecnologias mais avançadas se as pessoas não conseguem manusea-las. | Da mesma maneira, de nada adianta possuir as tecnologias mais avançadas se as pessoas não conseguem manusea-las. | ||
Além disso, mesmo que pareça inacreditável, | Além disso, mesmo que pareça inacreditável, de nada adianta termos a melhor tecnologia e as melhores pessoas se não existe um processo que guie as atividades | ||
dessas pessoas utilizando tais tecnologias. | |||
=== '''Referencias''' === | === '''Referencias''' === | ||
| Linha 49: | Linha 68: | ||
https://books.google.com.br/books?hl=pt-BR&lr=&id=rtBvl_L-1mcC&oi=fnd&pg=PT23&dq=Tecnologia+de+Engenharia+de+Software&ots=9zhl-O4w_v&sig=aQiqF_lBhoPFawTQ_0n9UxQzM28#v=onepage&q&f=false | https://books.google.com.br/books?hl=pt-BR&lr=&id=rtBvl_L-1mcC&oi=fnd&pg=PT23&dq=Tecnologia+de+Engenharia+de+Software&ots=9zhl-O4w_v&sig=aQiqF_lBhoPFawTQ_0n9UxQzM28#v=onepage&q&f=false | ||
https://books.google.com.br/books?hl=pt-BR&lr=&id=wexzCwAAQBAJ&oi=fnd&pg=PR1&dq=Tecnologia+de+Engenharia+de+Software&ots=0M0HlLQA20&sig=CuSs4qknbXCebsmH0NGIkslxads#v=onepage&q=Tecnologia%20de%20Engenharia%20de%20Software&f=false<br> | https://books.google.com.br/books?hl=pt-BR&lr=&id=wexzCwAAQBAJ&oi=fnd&pg=PR1&dq=Tecnologia+de+Engenharia+de+Software&ots=0M0HlLQA20&sig=CuSs4qknbXCebsmH0NGIkslxads# | ||
v=onepage&q=Tecnologia%20de%20Engenharia%20de%20Software&f=false<br> | |||
Edição das 13h37min de 8 de setembro de 2016
Conceito
Engenharia
Engenharia em seu contesto geral, é a arte das construções, tendo como base o conhecimento científico e empírico. Onde temos o conhecimento cientifico, como o estudo, onde determina-se constante e métodos de trabalho, e o conhecimento empírico que está relacionado à prática.
Software
Software é uma sequência de comandos/instruções a serem interpretadas, com o objetivo de executar determinadas tarefas. São os programas de computadores.
Engenharia de Software
Engenharia de software é uma abordagem sistemática e disciplinada para o desenvolvimento de software (PRESSMAN, 2006).
Como a engenharia é a arte das construções, a engenharia de software é a arte da construção de um software. Mais do que isso, ela é uma tecnologia que visa construir um software de maneira coerente e precisa.
Engenharia de software é uma tecnologia de camadas, onde cada camada, representa uma etapa que deve ser executado da melhor forma possível, ela tem como base a camada de processos. Ilustrado na imagem 1.
O processo de engenharia de software, é quem mantém as camadas de tecnologia consistente, e possibilita o desenvolvimento racional de um software que esteja dentro do prazo. Nessa camada há a definição de uma metodologia que deve ser estabelecida para que haja a entrega efetiva do software. O processo constitui a base para se ter o controle e o gerenciamento de projetos, nisso há o estabelecimento do ambiente que são aplicados os métodos técnicos, é feita a documentação, para definir marcos, para que a qualidade seja garantida, e as mudanças futuras ocorram de forma correta.
Os Métodos, fornecem informações técnicas para o desenvolvimento do software. Está envolvido nesses métodos, uma grande variedade de tarefas, como: a analise de requisitos, a comunicação, a modelagem de projeto, construção de programa, teste e suporte. Essa camada se baseia em um conjunto de princípios básicos que governam cada área da tecnologia, que inclui atividades de modelagem e algumas outras técnicas descritivas.
As ferramentas, proporcionam um apoio automatizado (ou semi-automatizado), para as camadas de métodos e de processos. Quando há a integração das ferramentas, de tal forma que, as informações geradas por uma seja capaz de ser utilizada por outra, é formado um sistema para o suporte ao desenvolvimento de software, isso se denomina Engenharia de software com o auxilio do computador (CASE - Comput er-Aided Software Engineering).
Aplicações praticas
De modo geral, essas três bases da engenharia de software visam construir um software de maneira coerente e precisa, por isso é crucial que cada camada, seja realizada da melhor forma possível, para que se obtenha o resultado esperado.
Na pratica, existem várias metodologias, que visam uma boa pratica da engenharia de software. Como por exemplo:
Modelo cascata (Ou Waterfall)
No modelo cascata, as fases de desenvolvimento são definidas claramente, quando todas as fases são definidas, inicia se o desenvolvimento, quando há o termino da primeira fase, inicia se a segunda, e assim sucessivamente, porém há um detalhe, como em uma cascata, quando a água passa por ela, é impossível fazer com que ela volte, correto!?

Por isso, nesse modelo, a declaração das fases devem ser perfeitas, para que não haja erros no futuro.Por exemplo, ao desenvolver um produto web, você precisa especificar absolutamente todas as funcionalidades, pelo fato de que o desenvolvimento de software nesse modelo é visto com começo, meio e fim que acontece em uma sequencia: definição de requisitos, detalhamento e especificação do software, codificação, teste e produção.
Desenvolvimento iterativo de software
Tal desenvolvimento se opõe ao modelo de cascata, pois o ciclo de desenvolvimento é menor e ele se repete varias vezes, usando um relatório da fase anterior para melhorar a próxima. Como mostra a imagem a seguir.
Nesse modelo as fases são definidas com menos detalhes do que no modelo cascata, porém o mesmo permite alterações no projeto, por exemplo, ao desenvolver um produto web, você especifica tudo o que quer, se o desenvolvedor fizer o visual, e você querer muda-lo,por um motivo ou outro, essa mudança pode ocorrer.
Considerações finais
A base da engenharia de software são os processos, as pessoas e a tecnologia. Por isso, de nada adianta termos os melhores profissionais do mundo se não possuímos boas tecnologias para uso, ou se não possuímos um processo que guie o desenvolvimento de software.
Da mesma maneira, de nada adianta possuir as tecnologias mais avançadas se as pessoas não conseguem manusea-las.
Além disso, mesmo que pareça inacreditável, de nada adianta termos a melhor tecnologia e as melhores pessoas se não existe um processo que guie as atividades dessas pessoas utilizando tais tecnologias.
Referencias
http://www.guiadastartup.com.br/boas-praticas-de-engenharia-de-software/
https://books.google.com.br/books?hl=pt-BR&lr=&id=wexzCwAAQBAJ&oi=fnd&pg=PR1&dq=Tecnologia+de+Engenharia+de+Software&ots=0M0HlLQA20&sig=CuSs4qknbXCebsmH0NGIkslxads#
v=onepage&q=Tecnologia%20de%20Engenharia%20de%20Software&f=false