Neste primeiro módulo, você verá que a UML é um padrão de linguagem internacional para a criação da estrutura dos projetos de software. Ela pode ser utilizada para visualizar, especificar, construir e documentar os artefatos que fazem parte de sistemas com qualquer tipo de complexidade. Trata-se, de uma linguagem extremamente expressiva, compreendendo todas as visões fundamentais, desde o desenvolvimento até a implantação de um projeto de sistemas de software.
Mesmo sendo muito empregada em processos centrados em casos de usos com foco na arquitetura, incremental e iterativa, a UML é totalmente independente de processo. Vamos seus iniciar seus estudos com um breve histórico!
Para melhor compreender o que é uma UML, precisamos resgatar sua história e como ela ganhou forma, não é mesmo?
Pensando nisso, ouça ao podcast que preparamos a seguir!
Confira aqui o que foi abordado no podcast.
A primeira versão da UML foi lançada em 1996. Posteriormente, ela obteve várias sugestões de melhorias e expansão da linguagem por parte de empresas atuantes em modelagem e desenvolvimento de software.
Na imagem abaixo, você pode observar as principais contribuições da UML.
leganda
Em 1997, a Object Management Group (OMG), organização internacional que determina e aprova padrões para orientação a objetos, reconheceu a UML como uma linguagem padrão para modelagem. Desde então, foram criadas diversas versões, conforme você pode conferir na imagem.
Geralmente, a UML é utilizada para sistemas de maior complexidade, em domínios como sistemas de informações corporativos, distribuídos e baseados na web, financeiros e bancários, científicos, de telecomunicações, de eletrônica médica, de transportes, de vendas de varejo, de defesa ou de espaço aéreo. Portanto, a UML pode ser empregada para detalhar qualquer tipo de sistema, conforme você verá no recurso a seguir!
Contudo, as técnicas da UML não são exclusivas da Tecnologia da Informação (TI), pois elas podem ser empregadas em diferentes contextos, para descrever qualquer ação e processo que necessite de análise. Nesse sentido, seguidamente a UML é revista e tem sua versão atualizada.
A UML faz parte da documentação oficial de projetos, bem como de outras metodologias, a exemplo do Project Management Body of Knowledge (PMBOK). Pensando nisso, caso queira obter mais informações sobre a UML, incluindo suas versões e a documentação oficial, sugerimos que acesse o site da OMG e o site da própria linguagem, que trazem informações bem interessantes!
Outro ponto interessante é que existem três tipos de conjuntos de diagramas executados pela UML. Você sabe quais são eles? Vamos conhecê-los!
Destacam o que irá ocorrer no processo de negócio ou sistema. São utilizados para detalhar as funções de um sistema. Como exemplos, temos os diagramas de atividades, máquinas e estado.
Detalham os fluxos para controlar os distintos elementos de um sistema, sendo um subconjunto dos diagramas comportamentais. Como exemplos, podemos mencionar os diagramas de tempo, comunicação, visão geral de interação e sequência.
Definem o que deverá ser desenvolvido em relação aos componentes do sistema. São benéficos para definir a arquitetura de um sistema que não depende do tempo. Como exemplos, temos os diagramas de perfil, objetos, pacotes, classes, implantação, componentes e estrutura composta.
É importante ressaltar, ainda, que não são utilizados, necessariamente, todos os diagramas existentes, uma vez que devemos aplicar aqueles que fazem mais sentido e que são úteis para o projeto que está sendo criado.
Depois de você ter estudado sobre a história da UML, as suas particularidades, a relação com a Programação Orientada a Objetos (POO) e os três tipos de conjuntos de diagramas executados, podemos seguir adiante e conhecer o processo de desenvolvimento de um software com UML. Acompanhe!
A modelagem de um sistema resulta na concepção de modelos de softwares em que um modelo captura a ideia de um sistema físico de modo abstrato, com algum objetivo. Podemos citar como exemplo quando queremos detalhar questões pertinentes à estrutura ou ao comportamento do sistema. Assim, a modelagem auxilia a definir o que pode ser incluído e o que é desnecessário dentro do modelo. Detalhando os dados do sistema físico que são importantes para o projeto.
Existem várias metodologias de desenvolvimento de software as quais são divididas em dois grupos principais: tradicionais (como as metodologias incrementais, espiral e cascata) e ágeis (que englobam as metodologias scrum, XP, cleanroom etc.). Para conhecer um pouco mais de cada uma, assim como o ciclo de vida e suas características principais, sugerimos a leitura do artigo Evolução da Metodologia do Desenvolvimento de Sistemas, escrito por Juliana Prado Uchôa. Também vale assistir ao vídeo APS Modelos Cascata, Iterativo Incremental, Prototipação, Espiral e Métodos Ágeis, que traz complementos interessantes!
Ter uma metodologia de desenvolvimento nos permite categorizar as atividades em tarefas executadas durante a concepção de um sistema. Atualmente, inclusive, há muitas metodologias de desenvolvimento, mas, segundo os profissionais da área de desenvolvimento, não há uma abordagem melhor que a outra, uma vez que cada uma possui sua metodologia própria e terá especificidades para obter e coordenar os procedimentos no desenvolvimento de software.
De qualquer modo, é possível diferenciar esses procedimentos, os quais, com algumas alterações, tornam-se comuns à maior parte dos processos existentes. As abas abaixo exibem o ciclo de vida padrão para o desenvolvimento de sistemas.
Aqui você pôde conhecer, de modo objetivo, o ciclo de vida padrão para o desenvolvimento de sistemas. Inclusive, com esse contexto em mente, no próximo tópico, estudará cada etapa do desenvolvimento de software. Vamos lá!
O levantamento de requisitos é uma das etapas iniciais no desenvolvimento de software, enquanto as demais (análise de requisitos, projetos que estão na principal etapa da modelagem, programação, teste e implantação) sugeridas por autores, de acordo com a metodologia escolhida, recebem nomes diferentes. Algumas são unidas em uma única fase ou divididas em mais fases.
Esse levantamento tem por objetivo entender o problema a ser resolvido e definir “o que” é esperado do software, identificando se há possibilidade de desenvolvê-lo. Isso é feito por meio de entrevistas com o analista de sistemas, engenheiro de software, desenvolvedores etc. (representando a TI), que procuram compreender a necessidade do cliente (usuário) e quais funcionalidades e qual desempenho são esperados do software.
O resultado é a documentação do software, a qual conterá o detalhamento de todos os requisitos do sistema, classificados conforme você pode observar nos cards:
Determinam as funcionalidades do sistema.
Definem características de qualidade que o sistema deverá contemplar.
É a definição das restrições existentes.
Dessa forma, você compreendeu a primeira fase do ciclo de vida padrão para o desenvolvimento de sistemas: o levantamento de requisitos. Essa etapa envolve o objetivo da criação do software, o que ele irá resolver, sendo que os requisitos que deverão ser identificados são os funcionais, os não funcionais e os normativos.
Depois de realizarmos esse levantamento, precisamos, logicamente, analisar os requisitos encontrados. Descubra como fazer isso adiante.
A análise de requisitos diz respeito às etapas de levantamento e análise de requisitos. Com o levantamento concluído, a fase da análise, também conhecida como análise ou especificação de requisitos, permitirá que os profissionais envolvidos — como o analista de sistemas — realizem o estudo com base na documentação do escopo, a fim de criar modelos com UML para representar o sistema. Dessa maneira, pode-se validar se todos estão em conformidade com o que está na documentação e se o sistema em questão realmente é viável.
Outro ponto importante nessa fase de análise é a validação, ou seja, a verificação se os requisitos do cliente estão sendo cumpridos.
Após você ter visto a segunda etapa do ciclo de vida padrão para o desenvolvimento de sistemas, ou seja, a análise de requisitos, é possível definir o escopo do projeto e quais modelos com UML serão criados a partir dele, bem como validar a verificação junto a quem solicitou os tais requisitos.
Se você compreendeu todos os conceitos até aqui, podemos seguir para o próximo passo, que é a fase de projeto, ou desenho. Vamos lá?
Ao passo que a fase de análise foca no domínio do problema (aspectos independentes e lógicos da implementação), a fase de projeto ou desenho é voltada para a solução, buscando determinar o meio como o software realizará o que foi especificado na etapa de análise.
A maior parte da arquitetura do sistema é concebida nessa fase, quando é levado em conta se os recursos de tecnologia estão disponíveis para sanar o problema reportado pelo cliente, qual linguagem de programação será empregada, como será a interface, qual será o sistema de gerenciamento de banco de dados, como o sistema será compartilhado, entre outros detalhes pertinentes à arquitetura.
Observe no recurso abaixo, quais são os dois procedimentos primordiais que o projeto pode contar:
A etapa de projeto, ou ainda conhecida como desenho, é o momento de maior atenção por parte do programador que usa os modelos de criação de software com UML, visto que é nela em que será definida a maneira pela qual as necessidades da etapa da análise serão solucionadas. Para isso, existem dois procedimentos primordiais: o projeto detalhado e o projeto de arquitetura.
Assim, com o projeto realizado, passa-se para a etapa de implementação, também conhecida como programação, quando temos a codificação do sistema.
Após a etapa do projeto, em que foram estabelecidas as soluções voltadas às necessidades mapeadas na etapa de análise, chegamos à implementação, isto é, almeja-se a realização do que foi projetado.
Por conta disso, tenha sempre em mente o seguinte:
Na etapa de implementação, a equipe de desenvolvimento realiza a codificação (programação) do sistema, em que o detalhamento provido pela etapa de projeto é traduzido para uma ou mais linguagens de programação.
Em virtude disso, na programação orientada a objetos — com linguagens como Java, C#, entre outras — ocorre a concepção do código relacionado às classes de objetos do sistema.
Além disso, é nessa fase que é possível realizar o reuso de componentes para acelerar as atividades da implementação.
Porém, ainda que exista a etapa de implementação, ela sozinha não garante o suficiente para que o software criado com os modelos de UML esteja funcionando adequadamente. É preciso que ele seja testado, com o intuito de que eventuais erros e imprevistos possam ser averiguados e corrigidos antes de sua disponibilização ao cliente.
Desta forma, após a implementação, temos a fase de testes, isto é, quando vários procedimentos são executados para nos certificarmos de que o software desenvolvido está rodando sem erros, de acordo com o detalhamento realizado na etapa do projeto.
O relatório de todos os testes, assim como os erros encontrados, são o resultado primordial dessa etapa, uma vez que são necessários para que o time de programadores faça as correções precisas. Dessa forma, todos os módulos do sistema são incorporados para que este seja finalizado para a implantação.
Depois de finalizada a etapa de teste, em que todos os possíveis erros e imprevistos foram mapeados, temos a implantação.
É nela que o sistema é compartilhado e implementado no ambiente especificado pelo cliente. Os manuais do software também são desenvolvidos nessa etapa, bem como os arquivos são carregados, as informações cruciais são importadas e os usuários recebem um treinamento para usar o sistema de maneira adequada.
Lembre-se que, nessa fase, pode haver a migração de sistemas de software para casos em que os dados já existiam.
Com a implantação, finalizamos o processo de desenvolvimento de software com a UML. Contudo, antes de encerrarmos, convidamos você, a analisar a imagem e interagir com o recurso a seguir, com o intuito de consolidar o que aprendeu em relação às etapas do ciclo de vida padrão para o desenvolvimento de sistemas. Confira!
A partir do que você viu, é possível notar que, embora existam poucas etapas e fases, elas são fundamentais para que você otimize tempo e recursos, além de que o software criado possa funcionar adequadamente.
Aqui você pôde entender a história da UML, as suas particularidades, a relação com a Programação Orientada a Objetos (POO) e os três tipos de conjuntos de diagramas executados.
Além disso, você viu o ciclo de vida padrão para o desenvolvimento de sistemas, sobretudo em relação às suas etapas, as quais são o levantamento de requisitos, a análise de requisitos, o projeto e a implantação.
Agora que já passamos por essas etapas, no próximo módulo vamos nos aprofundar sobre um assunto relevante para o seu futuro profissional: o desenvolvimento de um software orientado a objetos. Vamos lá?
Selecione o botão “Avançar” e confira!