A IMPORTÂNCIA DA ENGENHARIA DE REQUISITOS PARA O CICLO DE DESENVOLVIMENTO DE SOFTWARE DE TEMPO REAL. Fabíola Gonçalves Ribeiro Docente Tecnólogo Sistemas Para Internet – FATECA/CESUC [email protected] Leandro Rodrigues da Silva Souza Docente Tecnólogo Sistemas Para Internet – FATECA/CESUC [email protected] A análise e a especificação de requisitos são atividades fundamentais no processo de desenvolvimento de software, influindo diretamente no desenvolvimento satisfatório de sistemas. Por se tratarem de atividades de grande importância no ciclo de vida do software, e que se relacionam diretamente com a qualidade do produto a ser desenvolvido, a Engenharia de Requisitos precisa ser devidamente planejada. Sendo assim, deve ser aplicada de forma abrangente para assegurar que um conjunto completo das necessidades e requisitos dos usuários sejam capturados e posteriormente transformados em um conjunto validado de requisitos em todo o ciclo de vida. A Engenharia de Requisitos (RE) é uma abordagem disciplinada e sistemática para elicitar, especificar, analisar, confirmar, validar e gerenciar requisitos enquanto considera usuários, objetivos e necessidades técnicas, econômicas e de negócio. Ela abrange todo o processo de desenvolvimento do software e é caracterizada, em diferentes bibliografias, como o processo mais crítico e complexo do ciclo de desenvolvimento de software. A principal razão é que o processo de engenharia de requisitos tem impacto dominante sobre as capacidades do produto resultante. A crescente complexidade dos sistemas de software tornam as atividades de Engenharia de Requisitos tanto mais importantes quanto difíceis. Para minimizar a complexidade dos sistemas de tempo-real (STR) (Real-Time Systems), que são encontrados em muitos setores, como plantas industriais, telecomunicações, transporte, militar e de saúde, são utilizados modelos que de forma gráfica ou textual auxiliam na compreensão e representação desses sistemas. Por sua própria natureza, projetar softwares de tempo-real traz exigências específicas de análise, projeto e teste, exigindo assim habilidades/metodologias especiais para seu projeto e desenvolvimento. Com isso, a análise de STR requer modelos de software que possibilitem avaliar questões de tempo, sincronização e dimensionamento destes softwares. A modelagem de aplicações de tempo-real não é um processo trivial, pois o projeto das mesmas deverá conter, na maioria dos casos, uma análise distribuída em rede do comportamento e disposição dos diversos componentes do sistema, como por exemplo, os sensores e atuadores, que estão aptos, respectivamente, a captar estímulos gerados externamente e a responder a tais estímulos dentro de um intervalo de tempo finito e especificável. Dada a grande quantidade de problemas já relatados na literatura em relação ao desenvolvimento de software, torna-se necessário aplicar metodologias que possibilitem tratar e manipular coerentemente as características inerentes aos softwares em geral, como por exemplo, a intangibilidade e o alto grau de abstração. A complexidade de softwares de tempo-real demonstra-se crescente quando de sua especificação e análise. Os sistemas de tempo-real possuem requisitos específicos, e dada a grande importância deste tipo de sistema, devem ser claramente expressados. Por esta razão, e para minimizar as dificuldades para a modelagem de requisitos de sistemas de tempo-real, propõem-se, neste trabalho, utilizar o profile SysML, que estende a UML, em conjunto com estereótipos do profile MARTE para representar requisitos não-funcionais de sistemas de tempo-real. Resumo aprovado e apresentado no dia 28 de Novembro de 2012, conforme normas da X Mostra Científica do Centro de Ensino Superior de Catalão - CESUC