scispace - formally typeset
Search or ask a question
Proceedings ArticleDOI

From requirements to software design: An automated solution for packaging software classes

TL;DR: In this work, automated generation of package diagrams in software design process is automated using a clustering algorithm, and a similarity measure is defined in a way to increase the cohesion and decrease the coupling between the packages.
Abstract: This paper presents a unique and practical study toward automating analysis and design of software. In this work, we have automated generation of package diagrams in software design process. We have employed a clustering algorithm, and have defined a similarity measure for packaging classes of the software. The similarity measure is defined in a way to increase the cohesion and decrease the coupling between the packages. The process of moving from requirement to design is traditionally done through an ad-hoc process. Although the criterion for a good design is well-defined in software engineering for different system architectures, the design of the system is only as good as the design choices of the engineers. Therefore having a systematic solution which recommends design choices based on system requirements is highly desirable and it leads to increasing the quality of software as well as saving in cost and time. The Applicability of our solution is demonstrated using a case study of an elevator control system.
Citations
More filters
Journal ArticleDOI
TL;DR: There is a need to do some important research in the area of requirements Natural Language processing (NLP) to obtain UML diagrams, and generalize process of using automatic or semi-automatic methodology to generate U ML diagrams from requirements.
Abstract: In the paper process of moving from software requirements to Unified Modeling Language (UML) diagrams has been studied. It shows the importance of this process and discusses many comparative studies in the field. A questionnaire related to the study was distributed worldwide to many research groups, academia, and industry to know the current status of using requirement management tools, knowledge of using UML in software development, frequently used UML diagrams, and the methodology used to generate UML diagrams from requirements. The paper emphasises that there is a need to do some important research in the area of requirements Natural Language processing (NLP) to obtain UML diagrams, and generalize process of using automatic or semi-automatic methodology to generate UML diagrams from requirements.

30 citations


Cites background or methods from "From requirements to software desig..."

  • ...The classes are grouped together in same packages if they have higher number of communications and similar communication pattern between them [9]....

    [...]

  • ...[9] Generate package diagram Static Ontology Generator + Dynamic Ontology Generator Using ontology and Good in grouping classes together One diagram is few, need to generate more...

    [...]

  • ...Yasaman and et al [9] automated the process of generating package diagram in software design to facilitate design process and because process of moving from requirements engineering to design done by ad-hoc way....

    [...]

Journal ArticleDOI
TL;DR: This article aims at addressing this limitation by applying a semiformal boilerplates (BPs) model of functional requirements originally presented in informal natural language to formulate smart grid requirements and demonstrating how functional requirements can be translated to IEC 61499 control codes using MDE to autogenerate an IEC61499 protection and control system with structure and control flow.
Abstract: Smart grid is a cyber-physical system with a high level of complexity due to its decentralized infrastructure. IEC 61850 and IEC 61499 are two industrial standards that can address the challenges introduced by the smart grid on the substation automation level. Development of smart grid automation software is a very time-consuming process due to the need to address many requirements and a high degree of customization in every new substation, which limits the adoption of such smart grid technologies in digital substations. This article aims at addressing this limitation by applying a semiformal boilerplates (BPs) model of functional requirements originally presented in informal natural language. The BPs are then modeled formally in an ontology for model-driven engineering (MDE) model transformation. The contribution of this article is the development of the semiformal and formal BP representation in the form of ontology to formulate smart grid requirements and demonstrating how functional requirements can be translated to IEC 61499 control codes using MDE to autogenerate an IEC 61499 protection and control system with structure and control flow. The MDE framework augmented with the requirement models is illustrated in a case study from the International Council on Large Electric Systems representing different stages of modeling in the proposed framework.

23 citations


Additional excerpts

  • ...[30] to autogenerate design package diagrams....

    [...]

Journal ArticleDOI
26 Apr 2021
TL;DR: A novel process to support consistency through bi-directional traceability between requirements and design phase in a semi-automatic way is developed and results indicate it can be used efficiently as a guide to generate the UML class diagram semi-automatically and manage traceability.
Abstract: phase in the Software Development Life Cycle (SDLC). The design phase follows it. Traceability is one of the core concepts in software engineering; it is used to follow updates to make consistent items. This paper aimed to cover consistency through bi-directional traceability between requirements and design phase in a semi-automatic way. The Natural Language Processing (NLP) was used to analyze the requirements text and generate a class diagram; then, the generated items can be traced back to requirements. We developed a novel process to support consistency and bi-directional traceability. To ensure our proposed process's practical applicability, we implemented a tool named as Requirements and Design Bi-directional Traceability (RDBT). RDTB receives textual format requirements, performs NLP tasks (Tokenization, Part-of-Speech Tagging, etc.), generates UML class diagram, and finally performs traceability management to ensure consistency of requirements and UML class diagram. The work evaluation reveals good results, which indicates it can be used efficiently as a guide to generate the UML class diagram semi-automatically and manage traceability.

5 citations


Cites methods from "From requirements to software desig..."

  • ...The study [8] proposed a method of automated the process of generating a package diagram from requirements to support the design process....

    [...]

  • ...[8] Package diagram To have a systematic solution that recommends design choices based on system requirements Do not cover traceability and consistency [9] Activity and Sequence Diagrams To minimize the errors that arise in a traditional system Do not cover traceability and consistency [10] Use Case Diagram Facilitate the requirements analysis process Do not cover traceability and consistency [11] Activity and Sequence Diagrams Manual transformation from requirements to UML Do not cover traceability and consistency....

    [...]

References
More filters
01 Jan 1999
TL;DR: The Unified Modeling Language Reference Manual as discussed by the authors provides an excellent real-world guide to working with UML, from structured design methods of the '60s and '70s to the competing object-oriented design standards that were unified to create UML.
Abstract: Written by the three pioneers behind the Unified Modeling Language (UML) standard, The Unified Modeling Language Reference Manual provides an excellent real-world guide to working with UML. This title provides expert knowledge on all facets of today's UML standard, helping developers who are encountering UML on the job for the first time to be more productive. The book begins with a history of UML, from structured design methods of the '60s and '70s to the competing object-oriented design standards that were unified in 1997 to create UML. For the novice, the authors illustrate key diagram types such as class, use case, state machine, activity, and implementation. (Of course, learning these basic diagram types is what UML is all about. The authors use an easy-to-understand ticket-booking system for many of their examples.) After a tour of basic document types, The Unified Modeling Language Reference Manual provides an alphabetical listing of more than 350 UML terms. Entries range from a sentence or two to several pages in length. (Class, operation, and use case are just a few of the important terms that are covered.) Though you will certainly need to be acquainted with software engineering principles, this reference will serve the working software developer well. As the authors note, this isn't UML for Dummies, but neither is it an arcane academic treatise. The authors succeed in delivering a readable reference that will answer any UML question, no matter how common or obscure. --Richard Dragan

4,531 citations

Book
01 Dec 1998
TL;DR: This title provides expert knowledge on all facets of today's UML standard, helping developers who are encountering UML on the job for the first time to be more productive.
Abstract: Written by the three pioneers behind the Unified Modeling Language (UML) standard, The Unified Modeling Language Reference Manual provides an excellent real-world guide to working with UML. This title provides expert knowledge on all facets of today's UML standard, helping developers who are encountering UML on the job for the first time to be more productive. The book begins with a history of UML, from structured design methods of the '60s and '70s to the competing object-oriented design standards that were unified in 1997 to create UML. For the novice, the authors illustrate key diagram types such as class, use case, state machine, activity, and implementation. (Of course, learning these basic diagram types is what UML is all about. The authors use an easy-to-understand ticket-booking system for many of their examples.) After a tour of basic document types, The Unified Modeling Language Reference Manual provides an alphabetical listing of more than 350 UML terms. Entries range from a sentence or two to several pages in length. (Class, operation, and use case are just a few of the important terms that are covered.) Though you will certainly need to be acquainted with software engineering principles, this reference will serve the working software developer well. As the authors note, this isn't UML for Dummies, but neither is it an arcane academic treatise. The authors succeed in delivering a readable reference that will answer any UML question, no matter how common or obscure. --Richard Dragan

3,456 citations

Book
01 Jan 1990
TL;DR: This chapter discusses the development of Object-Oriented Programming Languages and the Structure of Complex Systems, and the role of Classification in this development.
Abstract: I. CONCEPTS. 1. Complexity. The Inherent Complexity of Software. The Structure of Complex Systems. Bringing Order to Chaos. On Designing Complex Systems. Sidebar: Categories of Analysis and Design Methods. 2. The Object Model. The Evolution of the Object Model. Elements of the Object Model. Applying the Object Model. Sidebar: Foundations of the Object Model. 3. Classes and Objects. The Nature of an Object. Relationships Among Objects. The Nature of a Class. Relationships Among Classes. The Interplay of Classes and Objects. On Building Quality Classes and Objects. Sidebar: Invoking a Method. 4. Classification. The Importance of Proper Classification. Identifying Classes and Objects. Key Abstractions and Mechanisms. Sidebar: A Problem of Classification. II. THE METHOD. 5 .The Notation. Elements of the Notation. Class Diagrams. State Transition Diagrams. Object Diagrams. Interaction Diagrams. Module Diagrams. Process Diagrams. Applying the Notation. 6 .The Process. First Principles. The Micro Development Process. The Macro Development Process. 7. Pragmatics. Management and Planning. Staffing. Release Management. Reuse. Quality Assurance and Metrics. Documentation. Tools. Special Topics. The Benefits and Risks of Object-Oriented Development. III. APPLICATIONS. 8. Data Acquisition: Weather Monitoring Station. Analysis. Design. Evolution. Maintenance. Sidebar: Weather Monitorint Station Requirements. 9. Frameworks: Foundation Class Library. Analysis. Design. Evolution. Maintenance. Sidebar: Foundation Class Library Requirements. 10. Client/Server Computing: Inventory Tracking. Analysis. Design. Evolution. Maintenance. Sidebar: Inventory Tracking System Requirements. 11. Artificial Intelligence Cryptanalysis. Analysis. Design. Evolution. Maintenance. Sidebar: Cryptanalysis Requirements. 12. Command and Control Traffic Management. Analysis. Design. Evolution. Maintenance. Sidebar: Traffic Management System Requirements. Afterword. Appendix: Object-Oriented Programming Languages. A.1 Concepts. A.2 Smalltalk. A.3 Object Pascal. A.4 C++. A.5 Common Lisp Object System. A.6 Ada. A.7 Eiffel. A.8 Other Object-Oriented Programming Languages. Notes. Glossary. Classified Bibliography. A. Classification. B. Object-Oriented Analysis. C. Object-Oriented Applications. D. Object-Oriented Architectures. E. Object Oriented Databases. F. Object-Oriented Design. G. Object-Oriented Programming. H. Software Engineering. I. Special References. J. Theory. K. Tools and Environments. Index. 0805353402T04062001

3,216 citations

Journal ArticleDOI

1,153 citations


Additional excerpts

  • ...Reviewing the possible clustering methods, we selected Agglomerative clustering algorithm [28], as the best match for our case....

    [...]