Dušan Savić

Dr. Dušan Savić

orcid

Research Focus & Metrics

Academic Career Length

17Years (2010-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
30 April 2021 in Applied Sciences
Verified
Journal Article
Open access
PDF file
ASAlberto Rodrigues da Silva
Alberto Rodrigues da Silva
DSDušan Savić
Dušan Savić
Requirements specification includes technical concerns of an information system and is used throughout its life cycle. It allows for sharing the vision of the system among stakeholders and facilitates its development and operation processes. Natural languages are the most common form of requirements representation, however, they also exhibit characteristics that often introduce quality problems, such as inconsistency, incompleteness, and ambiguousness. This paper adopts the notions of linguistic pattern and linguistic style and discusses their relevance to produce better technical documentation. It focuses on the textual specification of data entities, which are elements commonly referred to throughout different types of requirements, like use cases, user stories, or functional requirements. This paper discusses how to textually represent the following elements: data entity, attribute, data type, data entity constraint, attribute constraint, and even cluster of data entities. This paper shows concrete examples and supports the discussion with three linguistic styles, represented by a rigorous requirements specification language and two informal controlled natural languages, one with a more compact and another with a more verbose, expressive, and complete representation. We analyzed how other languages cope with the representation of these data entity elements and complemented that analysis and comparison based on the PENS classification scheme. We conducted a pilot evaluation session with nineteen professional subjects who participated and provided encouraging feedback, with positive scores in all the analyzed dimensions. From this feedback, we preliminarily conclude that the adoption of these linguistic patterns would help to produce better requirements specifications written more systematically and consistently.

28 November 2024 in Sustainable Computing: Informatics and Systems
Verified
Journal Article
Closed access
ABAnkica Barišić
Ankica Barišić
JCJácome Cunha
Jácome Cunha
IRIvan Ruchkin
Ivan Ruchkin
AMAna Moreira
Ana Moreira
JAJoão Araújo
João Araújo
VAVasco Amaral
Vasco Amaral

1 June 2011
Verified
Conference Paper
Closed access
DSDušan Savić
Dušan Savić
IAIlija D. Antović
Ilija D. Antović
SVSinisa Vlajic
Sinisa Vlajic
VSVojislav Stanojevic
Vojislav Stanojevic
MMMilos Milic
Milos Milic
The software requirements engineering (RE) process is one of the key processes in software development. The aim of requirements engineering process is capturing, understanding and analyzing customer requirements. Today, use cases are widely used as a technique for specification of the functional requirements of the system. Even through use cases are widely used for specification of the functional requirements, their semantics are unclear that it is difficult to apply them to complex problems. In this paper we have proposed SilabReq language for use cases specification for a standard information system. It is developed under XText framework. The benefits of using SilabReq for use cases specification are reflected in the fact that software requirements are considered as a model. Thereafter, the use cases can be used for automatic processing and analyzing.

8 July 2015
Verified
Conference Paper
Open access
ASAlberto Rodrigues da Silva
Alberto Rodrigues da Silva
DSDušan Savić
Dušan Savić
SVSiniša Vlajić
Siniša Vlajić
IAIlija D. Antović
Ilija D. Antović
SLSaša Lazarević
Saša Lazarević
MMMiloš Milić
Miloš Milić
Use cases describe a set of interactions between actors/users and the system under study. These interactions should be described textually according to some style and template to be simultaneously readable, consistent and verifiable. The main reason for these qualities is that use cases specification should be used both by business analysts and requirements engineers, when specifying functional requirements, as well as by software developers, when designing and implementing the involved system functionality. In spite of the popularity of use cases, there are not many patterns and guidance to help produce use cases specifications in a systematic and high-quality way. Furthermore, in the context of Model Driven Development (MDD) approaches, use cases specifications can be also considered models with precise syntax and semantics to be automatically validated or used in model-to-model or model-to-text transformations. In this paper we propose a pattern language to improve the quality of use cases specifications. These patterns are concrete guidelines that have emerged from the research and industrial experience of the authors throughout the years, particularly in the designing of MDD languages and approaches and in applying them in concrete applications. These patterns are interconnected among themselves and are the following: (P1) Define Use Case Types, (P2) Keep Use Case Consistent with the Domain Model, (P3) Define Use Case with Different Scenario and Interaction Block Types, and (P4) Define Use Case with Different Action Types.

1 September 2012
Verified
Conference Paper
Closed access
DSDušan Savić
Dušan Savić
ASAlberto Rodrigues da Silva
Alberto Rodrigues da Silva
SVSinia Vlajic
Sinia Vlajic
SLSaa Lazarevic
Saa Lazarevic
VSVojislav Stanojevic
Vojislav Stanojevic
MMMilo Milic
Milo Milic
Use cases are narrative description of interactions between users and a software system. They are primary used to specify functional system requirements. Despite the fact that use cases are narrative, there is no standard that specifies what textual specification of use case should like. However, the integration of use cases in a Model Driven Engineering process requires more rigorous specifications. The specification of use cases at different levels of abstraction is needed because of the large number of stakeholders involved in the software development process. We propose use cases specification at different levels of abstraction to promote better integration, communication and understanding among the involved stakeholders. We still discuss that base on this approach different software development artifacts such as domain model, system operations, user interface design can be automatically generated or validated.

1 January 2010 in Informatica
Verified
Journal Article
Closed access
PDF file
DSDušan Savić
Dušan Savić
DSDejan Simić
Dejan Simić
SVSiniša Vlajić
Siniša Vlajić
One of the major activities in software design is defining software architecture. Before designing software structure and software behavior we have to define its architecture. In this paper we have proposed three-tiered software architecture. This software architecture extends application logic tier with security. We have implemented two important security issues: authentication and authorization processes. These processes are implemented through software patterns. The software patterns have the particular place in the Proposed Software Architecture (PSA). In this paper, we have presented these software patterns and explained why they are important in PSA.