Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
Ingénierie des systèmes d information
The Use Case Diagram (UCD) is a visual form of system design that helps software developers comprehend the system behavior. Maintaining and updating the system can be a difficult task when it has no visualization of a system behavior or software requirement specification document. Reverse engineering is an approach used to extract software requirement specifications from the existing systems. Research in reverse engineering has shown various techniques in which the processes are not fully understood. This study analyzes the University Community Services Information System (UCSIS) as the existing system in three processes: identifying the system domain process, elaborating system features by implementing the event table, and constructing the use case realization. The results showed that a UCD could be generated through the reverse engineering process on the existing system. Furthermore, a new feature for system improvement can also be detected using this method. It is expected that t...
Journal of Software: Evolution and Process, 2018
SummaryIn this article, a strategy that seeks to assist the arduous cognitive process that involves understanding a GUI‐based system is presented. In order to reach this goal, a UML use case model with the most relevant features is obtained. To derive this model, the strategy performs the following steps: Extraction and filtering of specific system static information and implementation of a clustering process that inspects this information including GUI widgets, which are components closely related to the system problem domain. Although these steps are commonly known and used in the context of reverse engineering, the strategy introduces unusual approaches regarding the proposals found in the available literature. More specifically, the strategy presents (a) a set of metrics that infers the relative importance of a method or a function within the analysed system, (b) a summarization process driven by different features of software systems, and (c) a technique to cluster software art...
in 14th International Conference on Computational Science and Its Applications (ICCSA), pp 237-240, 2014
"Requirements elicitation is a complex and usually longstanding but crucial activity to the software development. UML use case models are one of the most popular techniques to describe the functional requirements of a system. Use cases can be written with a high-abstraction level or with a lowabstraction level. In fact, when one needs to see the system as a whole, the high-abstraction level use cases are useful. But when the system’s details need to be known, low-abstraction level use cases are a lot more useful. This paper describes an iterative and incremental approach to support the construction of UML use case diagrams as a first documentation effort of the requirements elicitation activities. The approach adopts a refinement mechanism to detail use cases, in a controlled way, as a mean to obtain a functional requirements model of the system. This allows relating an abstract use case with the corresponding more concrete use cases."
The transition from object-oriented software requirements to design is a crucial activity in the software process. Being the most important diagram of the design phase, class diagram combines the presentation of the components that will provide the solution and their relationships. Class diagram requires much focus and effort to be developed. In order to read the use cases specifications written in natural languages and design the class diagram will provide the intended solution, several software researches made great effort in this matter. This paper suggests the use of natural language processing techniques in order to extract information from the use case specifications and translate these information into a class diagram. The approach will identify the classes, how they are related and will provide information about the internal structure of each class.
Lecture Notes in Computer Science, 2003
Errors in a requirements model have prolonged detrimental effects on reliability, cost, and safety of a software system. It is very costly to fix these errors in later phases of software development if they cannot be corrected during requirements analysis and design. A Use Case diagram, as a requirements model, plays an important role in giving requirements for a software system. It provides a communication tool between software requirements developers and prospective users to understand what requirements of a software system are. However most descriptions of a use case diagram are written in some informal language, leading to possible misunderstanding between developers and users. In this paper, we propose a new rigorous review technique which can be applied to software requirements models. Using this new technique before a software system is fully designed will help us find some potential errors in a requirements model, resulting in reduced time, labor and expenditure in software development.
2003
Understanding software-based systems is a task essential not only for engineering new applications but also for evolving existing ones. For complex systems, the graphical representation of various attributes and projections contributes to such understanding. Also, scenarios have proven to greatly accelerate software understanding by capturing abstract system behavior. For existing software, abstraction based on architectural concepts is required to address the overflow of information generated by static code and dynamic executions. This paper explores a tool-supported technique for the extraction of abstract Use Case Map (UCMs) scenarios from code, and reports on work in progress through an example. UCMs, as part of the upcoming User Requirements Notation, help visualizing behavior combined with structure at the architecture level, above the level of message exchanges and component behavior. The unusual application of UCMs proposed here promises interesting visualization and abstraction benefits over conventional approaches to the reverse engineering of scenarios while maintaining traceability to the code.
International Journal of Innovative Research in Computer and Communication Engineering, 2014
During software evolution, programmers spend time and effort in the comprehension of programs and that is due to the fact that the documentation is often incomplete, inconsistent and outdated. In order to avoid these problems, software could be re-documented. Software re-documentation enables the understanding of software that aids the support, maintenance and evolution of software. Re-documentation is implemented by different approaches. Reverse Engineering is one of these approaches that provide a better understanding of an existing system by maintainers and developers, especially when faced by a large and evolving legacy system. This study proposes a framework for systems re-documentation based on reverse engineering approach. The re-documentation is done using a reverse engineering tool that generates graphical representations of a system which are then used to produce documentation in a form of a standard document UML notation. Since the quality of the generated documentation i...
Journal of Software Engineering & Intelligent Systems, 2018
During software evolution, programmers spend time and effort in the comprehension of programs and that is due to the fact that the documentation is often incomplete, inconsistent and outdated. In order to avoid these problems, software could be re-documented. Software re-documentation enables the understanding of software that aids the support, maintenance and evolution of software. Re-documentation is implemented by different approaches. Reverse engineering is one of these approaches that provide a better understanding of an existing system by maintainers and developers, especially when faced by a large and evolving legacy system. This study proposes a framework for systems re-documentation based on reverse engineering approach. The redocumentation is done using a reverse engineering tool that generates graphical representations of a system which are then used to produce documentation in the form of a standard document UML notation. Since, the quality of the generated documentation is important for program understanding and software evolution, the study also proposes a model for evaluating the quality of the generated documentation. The Documentation Quality Model (DQM) was validated and result of the evaluation showed that the documentation generated using reverse engineering was usable, up-to-date and complete.
2014 14th International Conference on Computational Science and Its Applications, 2014
Requirements elicitation is a complex and usually longstanding but crucial activity to the software development. UML use case models are one of the most popular techniques to describe the functional requirements of a system. Use cases can be written with a high-abstraction level or with a lowabstraction level. In fact, when one needs to see the system as a whole, the high-abstraction level use cases are useful. But when the system's details need to be known, low-abstraction level use cases are a lot more useful. This paper describes an iterative and incremental approach to support the construction of UML use case diagrams as a first documentation effort of the requirements elicitation activities. The approach adopts a refinement mechanism to detail use cases, in a controlled way, as a mean to obtain a functional requirements model of the system. This allows relating an abstract use case with the corresponding more concrete use cases.
1994
Software engineering research has focuse d mainly on software construction and has neglected software maintenance and evolution . Proposed is a shift in research from synthesi s to analysis . Reverse engineering is introduce d as a possible solution to program understanding and software analysis . Presented is reverse engineering technology developed as part of th e Rigi project . The Rigi approach involves th e identification of software artifacts in the subject system and the aggregation of these artifacts t o form more abstract architectural models . Reported are some analyses on the source code of SQL/DS, performed by the authors while visiting the Program Understanding project at the IBM Centre for Advanced Studies in Toronto .
Working Conference on Reverse Engineering, 1995
This paper proposes a general architecture for Information systems (or data-centered applications) reverse engineering CASE environments. Recovering the specifications of such applications requires recovering first those of their data, i.e. database reverse engineering (DBRE). First, the paper describes a generic DMS-independent DBRE methodology, then it analyses the main characteristics of DBRE activities in order to collect a set of minimum
Reverse Engineering (RE) is a method to extract requirement information application from XML at higher level of abstraction. At present, reverse engineering of XML focus on transformation XML to conceptual model, which is UML. The transformation result is presented in variety of diagrams. The transformation result is beneficial for developer and designer tracking changes in analysis phase. However, it does not show changes from the requirements view. Therefore, this paper shows the framework of reverse engineering from XML to UML for generating software requirement specification. In this work, the related work of reverse engineering XML is clear but none are extending to requirements level. This paper also proposes research method to extend transformation XML to SRS.
Parallel and Distributed Computing and Systems / 790: Software Engineering and Applications, 2012
Software reuse on a large scale has been a goal of the software industry since the late sixties. Based on this idea, we did a survey with 38 companies to investigate the reuse practices in the Brazilian industry. The key finding of the survey was that requirement reuse is important, but it is not done very often in practice; the main reason for that is the lack of tool support. On the other hand, use case modeling is a popular and widely used technique for capturing and describing the functional requirements of a software system. The reuse of use case specifications within a specific area of knowledge, rather than building them from scratch, is a strategy that not only can increase the quality of the new specifications but also can help their construction. In this paper, a web-based tool that provides support for the reuse of use cases specification is presented to address this problem. The tool, called 4REuse, is evaluated through a social networking service case study.
Due to the difficulty of recalling the semi-structure form of use case diagram, applying reusing approach to the requirement analysis process has been being concerned as a complex task. Despite of this fact, there are relatively little attentions found in the research community. Therefore, this paper proposes how Case-Based Reasoning (CBR)-an approach solves new problem from recalling experiences, can be effectively applied to support the use case diagram reuse. In this research, the diagram retrieval method is designed to match the use case diagram by considering two dimensions: use case and actor dimension and relationship dimension. However, in order to present the significant accuracy and practicality of the proposed method, a tool and five comparative sets-including four various dimensional weights and one commercial tool were carefully set up to test in an experiment.
2009
Building the use-case diagram is a very important task since it represents a transition between the requirements and design phases. However, building such diagram is a time consuming process and needs a complete understanding of the requirements. In this paper, we introduce an approach to derive use case diagrams from an event table. This new approach will facilitate and speed the generation process of the use case diagrams. However, this approach will completely depends on the availability of a comprehensive event table which to be built from the available requirements.
2006 Canadian Conference on Electrical and Computer Engineering, 2006
International Journal of Software Engineering and Its Applications, 2017
As the stages of software development reveal, the method of analysis comprises of all the stages starting from specifications to the final product release. Although prevalent, this method has resulted in neglecting the final stages of development such as maintenance and evolution. One other approach to software development known as reverse engineering, is the synthesis process of software development and integration. Initially, it was introduced and used just for the modernization of old legacy systems. With time, the usage of software reverse engineering has become more extensive. It can be used with virtually every kind of software system that exists, making it one of the most powerful tools of development. Understanding the already existing system to improve the capabilities and performance is the in-thing today.
2010
Problem statement: Building UML diagrams is a very important and time consuming task for both requirements and design phases. However, some of these diagrams, such as use-case and class diagrams can be considered as a transition between the two phases. Approach: Through this study, the event table will be used to derive the use-case and class diagrams. Results: A new CASE tool to automate the proposed approach will be introduced, that is, the UML diagrams generator (UMLdg). Conclusion: It is clearly noted that the proposed CASE tool (UMLdg) gives an ideal and reasonable methodology to construct the intended use-case and class diagrams from any comprehensive event table. Furthermore, this tool will save the time for the building process of such diagrams.
Use case modeling is a forefront technique to specify functional requirements of a system. Many research works related to use case modeling have been devoted to improving various aspects of use case modeling and its utilization in software development processes. One key aspect of use case models that has thus far been overlooked by the research community is the visual perception of use case diagrams by its readers. Any model is used transfer a mental idea by a modeler to a model reader. Even if a use case diagram is constructed flawlessly, if it is misread or misinterpreted by its reader then the intrinsic purpose of modeling has failed. This paper provides a two-fold contribution. Firstly, this paper presents an evaluation of the cognitive effectiveness of use case diagrams notation. The evaluation is based on theory principles and empirical evidence mainly from the cognitive science field. Secondly, it provides empirically validated improvements to the use case diagram notation that enhances its cognitive effectiveness. Empirical validation of the improvements is drawn by conducting an industrial survey using business analyst professionals. Empirical validation is also drawn by conducting an experiment using software engineering professionals as subjects.
The Open Software Engineering Journal, 2012
This paper proposes an approach that formalizes specific elements and activities of the use case modeling process in order to overcome problematic issues common to the conventional use case methods, namely the lack of systematic elicitation support in the identification of use case elements, the vagueness introduced by the use of informal natural language to define use case specifications, and the limited support of dedicated software tools that makes UCDA a time-consuming and error-prone activity. In particular, with the use of our approach, formalization of the stage for identifying the use case elements is achieved with the use of predefined types of use cases and actors, specific guidelines to define associations, relationships and business rules, and formalized sentential patterns. Formalization and clarity of the use case specification is achieved with the use of specific types of actions and guidelines, on one hand, and natural language-based authoring rules, on the other. A dedicated software tool supports the automation of the proposed approach including the automated generation of use case diagrams and specifications. Preliminary empirical evaluation of the proposed approach indicated its effectiveness and efficiency.
Lontar Komputer : Jurnal Ilmiah Teknologi Informasi, 2018
Requirements are the initial step in the software development process. It is very important to ensure the association (relationship) of requirements and high quality of specification as more than three-quarters failure of software derives from the software requirement process. Therefore, the analysis process is required to ensure the association between requirements and the requirements of other users. As a result, interdependency requirements association is essential. This research proposes an approach of software requirements association. These are based on the reference of interdependency in the user case, namely the result of collaboration of the association of the dependency of requirements based on Unified Modeling Language (UML) design in the Use cases diagram. In this research, the mapping between requirements and use cases and interdependencies between use cases are used to determine the interdependency between requirements. The analysis presented is the association of simi...
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.