The document discusses an approach for automatically generating software artifacts and models from natural language requirements documents during the analysis phase of software development.
It proposes a technique that first converts the natural language into a formal Semantic Business Vocabulary and Rules (SBVR) format. It then performs semantic and syntactic analysis on the SBVR to identify software artifacts like actors, use cases, classes, attributes, methods, and relationships. These artifacts are used to generate analysis models like use case diagrams and class diagrams. Finally, it produces XML Metadata Interchange (XMI) files to visualize the generated models in a UML modeling tool. The goal is to increase accuracy over existing tools by using the SBVR intermediate representation and generating multiple analysis models rather
This document outlines an object-oriented design approach called responsibility-driven design. It discusses key object-oriented design concepts like components, classes, instances, behavior and state. It also uses a sample interactive kitchen helper application to demonstrate design techniques like identifying components, creating CRC cards to define responsibilities and collaborators, and designing for change. The document is intended to guide readers through an object-oriented design process.
This document is a lecture introduction to object oriented analysis and design (OOA/D). It discusses key topics that will be covered in the course, including the Unified Modeling Language (UML) for visualizing software design, assigning responsibilities to objects, requirements analysis, use cases, the Unified Process (UP) methodology, and the differences between object oriented analysis, design and implementation. The goal is for students to learn skills in analyzing requirements, modeling domains with objects, and designing software systems using an object oriented approach.
Imran Sarwar Bajwa, M. Abbas Choudhary [2006], "Natural Language Processing based Automated System for UML Diagrams Generation", in Saudi 18th National Conference on Computer Application, 2006, (18th NCCA) Riyadh, Kingdom of Saudi Arabia pp:171-176
This document summarizes Chapter 14 of Ian Sommerville's 1995 book "Software Engineering". The chapter covers object-oriented design, including identifying objects from requirements, defining object classes and inheritance, designing object interfaces, and implementing objects concurrently. Key aspects of object-oriented design are encapsulation, information hiding, and representing systems as interacting objects. Object identification is an important but challenging part of the design process.
1) UCD-Generator is an application that uses natural language processing to automatically generate use case diagrams from plain English requirements.
2) It analyzes the text using LESSA, which performs tokenization, part-of-speech tagging, and meaning understanding to extract actors, actions, and objects.
3) It then generates use case diagrams in two phases - first extracting information, then drawing the diagrams based on that information. Experiments showed it could accurately generate diagrams for 85% of scenarios.
JAVA - A Quick Reference
A quick guide to learn more about JAVA Programming. This covers the core concepts of JAVA with OOP concepts. This also covers swing programming.
Object-oriented analysis and design (OOAD) is a popular approach for analyzing, designing, and developing applications using the object-oriented paradigm. It involves modeling a system as a group of interacting objects at various levels of abstraction. Key concepts in OOAD include objects, classes, attributes, methods, encapsulation, inheritance, polymorphism, and relationships like association, aggregation, and composition. Common OOAD techniques include use case diagrams, which show interactions between actors and the system, and class diagrams, which describe the structure and behavior of system objects and their relationships.
This document is a lecture introduction to object oriented analysis and design (OOA/D) at the University of Education Okara. It discusses key topics that will be covered in the course, including applying the Unified Modeling Language (UML), assigning responsibilities to objects, requirements analysis, use cases, the Unified Process (UP) methodology, and the differences between object oriented analysis, design and implementation. The goal is for students to learn skills in analyzing requirements and designing object-oriented systems using standard best practices.
This document outlines an object-oriented design approach called responsibility-driven design. It discusses key object-oriented design concepts like components, classes, instances, behavior and state. It also uses a sample interactive kitchen helper application to demonstrate design techniques like identifying components, creating CRC cards to define responsibilities and collaborators, and designing for change. The document is intended to guide readers through an object-oriented design process.
This document is a lecture introduction to object oriented analysis and design (OOA/D). It discusses key topics that will be covered in the course, including the Unified Modeling Language (UML) for visualizing software design, assigning responsibilities to objects, requirements analysis, use cases, the Unified Process (UP) methodology, and the differences between object oriented analysis, design and implementation. The goal is for students to learn skills in analyzing requirements, modeling domains with objects, and designing software systems using an object oriented approach.
Imran Sarwar Bajwa, M. Abbas Choudhary [2006], "Natural Language Processing based Automated System for UML Diagrams Generation", in Saudi 18th National Conference on Computer Application, 2006, (18th NCCA) Riyadh, Kingdom of Saudi Arabia pp:171-176
This document summarizes Chapter 14 of Ian Sommerville's 1995 book "Software Engineering". The chapter covers object-oriented design, including identifying objects from requirements, defining object classes and inheritance, designing object interfaces, and implementing objects concurrently. Key aspects of object-oriented design are encapsulation, information hiding, and representing systems as interacting objects. Object identification is an important but challenging part of the design process.
1) UCD-Generator is an application that uses natural language processing to automatically generate use case diagrams from plain English requirements.
2) It analyzes the text using LESSA, which performs tokenization, part-of-speech tagging, and meaning understanding to extract actors, actions, and objects.
3) It then generates use case diagrams in two phases - first extracting information, then drawing the diagrams based on that information. Experiments showed it could accurately generate diagrams for 85% of scenarios.
JAVA - A Quick Reference
A quick guide to learn more about JAVA Programming. This covers the core concepts of JAVA with OOP concepts. This also covers swing programming.
Object-oriented analysis and design (OOAD) is a popular approach for analyzing, designing, and developing applications using the object-oriented paradigm. It involves modeling a system as a group of interacting objects at various levels of abstraction. Key concepts in OOAD include objects, classes, attributes, methods, encapsulation, inheritance, polymorphism, and relationships like association, aggregation, and composition. Common OOAD techniques include use case diagrams, which show interactions between actors and the system, and class diagrams, which describe the structure and behavior of system objects and their relationships.
This document is a lecture introduction to object oriented analysis and design (OOA/D) at the University of Education Okara. It discusses key topics that will be covered in the course, including applying the Unified Modeling Language (UML), assigning responsibilities to objects, requirements analysis, use cases, the Unified Process (UP) methodology, and the differences between object oriented analysis, design and implementation. The goal is for students to learn skills in analyzing requirements and designing object-oriented systems using standard best practices.
IRJET - Development of Chatbot Automation Application – DGCT CSE ALEXAIRJET Journal
This document describes the development of a chatbot application called DGCT CSE ALEXA.
- The chatbot was created using Artificial Intelligence Markup Language (AIML) and can answer queries on information related to a university or college, like fees, schedules, and student information.
- It analyzes user questions and provides accurate answers using pattern matching. The chatbot was built with a Python platform and Flask web framework.
The document provides an introduction to object-oriented analysis and design (OOAD). It defines OOAD as a development method that uses consistent object-oriented concepts throughout the phases of analysis, design, and implementation. This makes the process less error-prone and facilitates code reuse. It describes the key aspects of object-oriented analysis as examining requirements from the perspective of conceptual objects, while object-oriented design defines the solution as collaborating software objects. The document uses examples of a library information system and flight information system to illustrate modeling real-world domains as objects and representing them using object-oriented programming languages. It outlines the typical documents used in OOAD, including use cases to define business processes, conceptual models to represent domains,
This document discusses modest formalization of software design patterns. It begins by defining key concepts like formalization and formal specification. It then discusses how design patterns can be represented using formal logic, with predicates to describe classes, methods, inheritance relationships etc. An example formal specification is provided for the Composite and Iterator patterns using first-order logic. The paper argues that formally specifying patterns is important before implementation. It presents some assertions and uses predicate calculus to describe how patterns relate to problems and are understood by software developers. The goal is to develop formulas to directly apply patterns to software problems.
The objective is to explain how a software design may be represented as a set of interacting objects that manage their own state and operations and to introduce various models that describe an object-oriented design.
This document discusses object-oriented programming (OOP) and compares it to procedural programming. It covers:
1. OOP was developed to overcome limitations of procedural programming like difficulties modeling real-world problems and reusing code.
2. Key aspects of OOP include treating data as critical elements, decomposing problems into objects that encapsulate data and functions, and hiding data to prevent accidental modification.
3. OOP models real-world entities as objects that have attributes (data) and behaviors (functions), while procedural programming focuses more on functions than data.
Introduction of object oriented analysis & design by sarmad balochSarmad Baloch
Introduction of Object oriented Analysis & Design by SARMAD BALOCH
I AM SARMAD KHOSA
BSIT (5TH A)
(ISP)
FACEBOOK PAGLE::
https://www.facebook.com/LAUGHINGHLAUGHTER/
YOUTUBE CHANNEL:::
https://www.youtube.com/channel/UCUjaIeS-DHI9xv-ZnBpx2hQ
The document provides an overview of Object Oriented Software Engineering (OOSE). It discusses key OOSE concepts like classes, objects, messages, inheritance, polymorphism, and data abstraction. Examples of real-world applications that use OOSE principles are provided, such as mobile apps, websites, and common software used in various industries. Advantages of OOSE include simplicity, modularity, reusability, and a clear modular structure. Potential weaknesses are larger program size, slower performance, and a steep learning curve for some problems.
This document provides an introduction to object-oriented analysis and design (OOAD). It discusses why the OO approach was developed, including to address issues with communication and managing complexity. It then defines key OO concepts like objects, classes, encapsulation, inheritance, polymorphism, and the use of UML. It also briefly outlines the object modeling technique (OMT) methodology and some popular OO development processes.
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOPAmit Midha
The document discusses a workshop on understanding object-oriented analysis and design (OOAD) patterns using the Unified Modeling Language (UML) and Java. The workshop covers OOAD and UML basics, design patterns, case studies on modeling a banking domain using UML, and hands-on exercises applying design patterns to banking examples. The goal is to teach solving software problems using object-oriented principles and design patterns.
2015-User Modeling of Skills and Expertise from Resumes-KMISHua Li, PhD
The document describes a Resume Expertise Modeling Algorithm (REMA) that analyzes resumes to automatically generate expertise models. REMA extracts expertise topics from resumes using natural language processing. It then builds weighted expertise models by incrementally processing resume information over time using reinforcement to increase weights for recent expertise and forgetting to decrease weights for outdated skills. The authors developed a prototype system using REMA and are evaluating its performance at identifying people's skills and expertise from their resumes.
The document provides an overview of object-oriented analysis and design (OOAD). It discusses key OOAD concepts like iterative development, the Unified Process, UML notation, thinking in terms of objects and their services/responsibilities. It explains the differences between object-oriented analysis, which focuses on identifying domain objects, and object-oriented design, which defines software objects and how they collaborate. The document uses a dice game example to illustrate domain modeling with objects, interaction diagrams to show message flows, and a class diagram to define class attributes and methods.
Elaborate Lexicon Extended Language with a Lot of Conceptual InformationIJCSEA Journal
The use of model such as LEL (Lexicon Extended Language) in natural language is very interesting in Requirements Engineering. But LEL, even if it is derived from the Universe of Discourse (UofD) does not provide further details on the concepts it describes. However, we believe that the elements inherent in the conceptual level of a system are already defined in the Universe of Discourse. Therefore, in this work we propose a more elaborate natural language model called eLEL. It is a model that describes the concepts in a domain in more detail than the conventional LEL. We also propose a modeling process of a domain using an eLEL model.
ELABORATE LEXICON EXTENDED LANGUAGE WITH A LOT OF CONCEPTUAL INFORMATIONIJCSEA Journal
The use of model such as LEL (Lexicon Extended Language) in natural language is very interesting in Requirements Engineering. But LEL, even if it is derived from the Universe of Discourse (UofD) does not provide further details on the concepts it describes. However, we believe that the elements inherent in the conceptual level of a system are already defined in the Universe of Discourse. Therefore, in this work we propose a more elaborate natural language model called eLEL. It is a model that describes the concepts in a domain in more detail than the conventional LEL. We also propose a modeling process of a domain using an eLEL model.
1) The document discusses complexity in software systems and the object model approach to managing complexity. Complex software systems have many interrelated parts and long lifespans.
2) The object model approach uses principles like abstraction, encapsulation, modularity, hierarchy and typing to organize a software system. Classes define common structure and behavior for objects.
3) Objects have state, behavior and identity according to their class. Relationships like aggregation and inheritance define relationships among classes and objects.
Object Oriented Approach for Software DevelopmentRishabh Soni
This document provides an overview of object-oriented design methodologies. It discusses key object-oriented concepts like abstraction, encapsulation, and polymorphism. It also describes the three main models used in object-oriented analysis: the object model, dynamic model, and functional model. Finally, it outlines the typical stages of the object-oriented development life cycle, including system conception, analysis, system design, class design, and implementation.
CS8592 Object Oriented Analysis & Design - UNIT IV pkaviya
This document discusses object-oriented analysis and design patterns. It covers GRASP principles for assigning responsibilities to objects, such as information expert and controller. It also discusses design patterns including creational patterns like factory method and structural patterns like bridge and adapter. The document is focused on teaching object-oriented principles for designing reusable and well-structured code.
This document discusses object-oriented analysis and design. It describes how object modeling can be used to design computer systems and other complex systems by capturing objects, their attributes, and operations. The document outlines different design methods, relationships between objects like aggregation and delegation, and provides examples of objects like a juggler and their constituent parts. It also discusses starting the analysis process by identifying candidate objects and their relationships.
This document discusses Object-Oriented Analysis and Design (OOAD). It defines objects and classes, with objects being concepts or things and classes being groups of similar objects. OOAD models a system as interacting objects. Benefits include tackling complex problems, improved communication, reusability, and consistency across models. The analysis phase develops a model of the application, the design phase refines this, and the implementation phase codes the design. Examples of an activity diagram, communication diagram, class diagram, and sequence diagram are provided to illustrate OOAD modeling.
Intelligent query converter a domain independent interfacefor conversionIAEME Publication
This document describes an "Intelligent Query Converter" (IQC) system that converts natural language queries in English to SQL queries. IQC uses semantic matching techniques and WordNet to match queries to database schema without requiring domain-specific configuration. The system classifies queries based on presence of value keywords and conjunctive clauses. Experiments show IQC correctly answered 64.5-87.9% of queries for different databases, outperforming Microsoft's English Query system which answered correctly 29.0-51.8% of time. IQC provides a domain-independent natural language interface to databases using semantic analysis techniques.
This document summarizes a research paper that evaluates the performance of different routing protocols in vehicular ad hoc networks (VANETs). It first provides background on VANETs and discusses factors that affect communication. It then describes three routing protocols - Optimized Link State Routing (OLSR), Dynamic Source Routing (DSR), and Dynamic MANET On-demand (DYMO) routing. To evaluate these protocols, the researchers used the OMNeT++ network simulator along with the SUMO traffic simulator. Simulations were run using these protocols in different traffic environments like city, main road, and country settings. Key metrics like throughput and latency were evaluated.
IJERA (International journal of Engineering Research and Applications) is International online, ... peer reviewed journal. For more detail or submit your article, please visit www.ijera.com
This document discusses sensorless vector control of induction motors. It presents the dynamic modeling of induction motors using a reference frame transformation. It then describes the principles of vector control using an inverse transformation to control stator currents corresponding to the rotor flux and torque. A model reference adaptive system is proposed for sensorless speed estimation, where the speed estimate is adapted by comparing outputs of an adjustable model and reference model. Simulation results show the sensorless control approach can accurately estimate speed with good tracking performance.
IRJET - Development of Chatbot Automation Application – DGCT CSE ALEXAIRJET Journal
This document describes the development of a chatbot application called DGCT CSE ALEXA.
- The chatbot was created using Artificial Intelligence Markup Language (AIML) and can answer queries on information related to a university or college, like fees, schedules, and student information.
- It analyzes user questions and provides accurate answers using pattern matching. The chatbot was built with a Python platform and Flask web framework.
The document provides an introduction to object-oriented analysis and design (OOAD). It defines OOAD as a development method that uses consistent object-oriented concepts throughout the phases of analysis, design, and implementation. This makes the process less error-prone and facilitates code reuse. It describes the key aspects of object-oriented analysis as examining requirements from the perspective of conceptual objects, while object-oriented design defines the solution as collaborating software objects. The document uses examples of a library information system and flight information system to illustrate modeling real-world domains as objects and representing them using object-oriented programming languages. It outlines the typical documents used in OOAD, including use cases to define business processes, conceptual models to represent domains,
This document discusses modest formalization of software design patterns. It begins by defining key concepts like formalization and formal specification. It then discusses how design patterns can be represented using formal logic, with predicates to describe classes, methods, inheritance relationships etc. An example formal specification is provided for the Composite and Iterator patterns using first-order logic. The paper argues that formally specifying patterns is important before implementation. It presents some assertions and uses predicate calculus to describe how patterns relate to problems and are understood by software developers. The goal is to develop formulas to directly apply patterns to software problems.
The objective is to explain how a software design may be represented as a set of interacting objects that manage their own state and operations and to introduce various models that describe an object-oriented design.
This document discusses object-oriented programming (OOP) and compares it to procedural programming. It covers:
1. OOP was developed to overcome limitations of procedural programming like difficulties modeling real-world problems and reusing code.
2. Key aspects of OOP include treating data as critical elements, decomposing problems into objects that encapsulate data and functions, and hiding data to prevent accidental modification.
3. OOP models real-world entities as objects that have attributes (data) and behaviors (functions), while procedural programming focuses more on functions than data.
Introduction of object oriented analysis & design by sarmad balochSarmad Baloch
Introduction of Object oriented Analysis & Design by SARMAD BALOCH
I AM SARMAD KHOSA
BSIT (5TH A)
(ISP)
FACEBOOK PAGLE::
https://www.facebook.com/LAUGHINGHLAUGHTER/
YOUTUBE CHANNEL:::
https://www.youtube.com/channel/UCUjaIeS-DHI9xv-ZnBpx2hQ
The document provides an overview of Object Oriented Software Engineering (OOSE). It discusses key OOSE concepts like classes, objects, messages, inheritance, polymorphism, and data abstraction. Examples of real-world applications that use OOSE principles are provided, such as mobile apps, websites, and common software used in various industries. Advantages of OOSE include simplicity, modularity, reusability, and a clear modular structure. Potential weaknesses are larger program size, slower performance, and a steep learning curve for some problems.
This document provides an introduction to object-oriented analysis and design (OOAD). It discusses why the OO approach was developed, including to address issues with communication and managing complexity. It then defines key OO concepts like objects, classes, encapsulation, inheritance, polymorphism, and the use of UML. It also briefly outlines the object modeling technique (OMT) methodology and some popular OO development processes.
UNDERSTANDING OOAD AND DESIGN PATTERNS USING UML AND JAVA-TRAINING WORKSHOPAmit Midha
The document discusses a workshop on understanding object-oriented analysis and design (OOAD) patterns using the Unified Modeling Language (UML) and Java. The workshop covers OOAD and UML basics, design patterns, case studies on modeling a banking domain using UML, and hands-on exercises applying design patterns to banking examples. The goal is to teach solving software problems using object-oriented principles and design patterns.
2015-User Modeling of Skills and Expertise from Resumes-KMISHua Li, PhD
The document describes a Resume Expertise Modeling Algorithm (REMA) that analyzes resumes to automatically generate expertise models. REMA extracts expertise topics from resumes using natural language processing. It then builds weighted expertise models by incrementally processing resume information over time using reinforcement to increase weights for recent expertise and forgetting to decrease weights for outdated skills. The authors developed a prototype system using REMA and are evaluating its performance at identifying people's skills and expertise from their resumes.
The document provides an overview of object-oriented analysis and design (OOAD). It discusses key OOAD concepts like iterative development, the Unified Process, UML notation, thinking in terms of objects and their services/responsibilities. It explains the differences between object-oriented analysis, which focuses on identifying domain objects, and object-oriented design, which defines software objects and how they collaborate. The document uses a dice game example to illustrate domain modeling with objects, interaction diagrams to show message flows, and a class diagram to define class attributes and methods.
Elaborate Lexicon Extended Language with a Lot of Conceptual InformationIJCSEA Journal
The use of model such as LEL (Lexicon Extended Language) in natural language is very interesting in Requirements Engineering. But LEL, even if it is derived from the Universe of Discourse (UofD) does not provide further details on the concepts it describes. However, we believe that the elements inherent in the conceptual level of a system are already defined in the Universe of Discourse. Therefore, in this work we propose a more elaborate natural language model called eLEL. It is a model that describes the concepts in a domain in more detail than the conventional LEL. We also propose a modeling process of a domain using an eLEL model.
ELABORATE LEXICON EXTENDED LANGUAGE WITH A LOT OF CONCEPTUAL INFORMATIONIJCSEA Journal
The use of model such as LEL (Lexicon Extended Language) in natural language is very interesting in Requirements Engineering. But LEL, even if it is derived from the Universe of Discourse (UofD) does not provide further details on the concepts it describes. However, we believe that the elements inherent in the conceptual level of a system are already defined in the Universe of Discourse. Therefore, in this work we propose a more elaborate natural language model called eLEL. It is a model that describes the concepts in a domain in more detail than the conventional LEL. We also propose a modeling process of a domain using an eLEL model.
1) The document discusses complexity in software systems and the object model approach to managing complexity. Complex software systems have many interrelated parts and long lifespans.
2) The object model approach uses principles like abstraction, encapsulation, modularity, hierarchy and typing to organize a software system. Classes define common structure and behavior for objects.
3) Objects have state, behavior and identity according to their class. Relationships like aggregation and inheritance define relationships among classes and objects.
Object Oriented Approach for Software DevelopmentRishabh Soni
This document provides an overview of object-oriented design methodologies. It discusses key object-oriented concepts like abstraction, encapsulation, and polymorphism. It also describes the three main models used in object-oriented analysis: the object model, dynamic model, and functional model. Finally, it outlines the typical stages of the object-oriented development life cycle, including system conception, analysis, system design, class design, and implementation.
CS8592 Object Oriented Analysis & Design - UNIT IV pkaviya
This document discusses object-oriented analysis and design patterns. It covers GRASP principles for assigning responsibilities to objects, such as information expert and controller. It also discusses design patterns including creational patterns like factory method and structural patterns like bridge and adapter. The document is focused on teaching object-oriented principles for designing reusable and well-structured code.
This document discusses object-oriented analysis and design. It describes how object modeling can be used to design computer systems and other complex systems by capturing objects, their attributes, and operations. The document outlines different design methods, relationships between objects like aggregation and delegation, and provides examples of objects like a juggler and their constituent parts. It also discusses starting the analysis process by identifying candidate objects and their relationships.
This document discusses Object-Oriented Analysis and Design (OOAD). It defines objects and classes, with objects being concepts or things and classes being groups of similar objects. OOAD models a system as interacting objects. Benefits include tackling complex problems, improved communication, reusability, and consistency across models. The analysis phase develops a model of the application, the design phase refines this, and the implementation phase codes the design. Examples of an activity diagram, communication diagram, class diagram, and sequence diagram are provided to illustrate OOAD modeling.
Intelligent query converter a domain independent interfacefor conversionIAEME Publication
This document describes an "Intelligent Query Converter" (IQC) system that converts natural language queries in English to SQL queries. IQC uses semantic matching techniques and WordNet to match queries to database schema without requiring domain-specific configuration. The system classifies queries based on presence of value keywords and conjunctive clauses. Experiments show IQC correctly answered 64.5-87.9% of queries for different databases, outperforming Microsoft's English Query system which answered correctly 29.0-51.8% of time. IQC provides a domain-independent natural language interface to databases using semantic analysis techniques.
This document summarizes a research paper that evaluates the performance of different routing protocols in vehicular ad hoc networks (VANETs). It first provides background on VANETs and discusses factors that affect communication. It then describes three routing protocols - Optimized Link State Routing (OLSR), Dynamic Source Routing (DSR), and Dynamic MANET On-demand (DYMO) routing. To evaluate these protocols, the researchers used the OMNeT++ network simulator along with the SUMO traffic simulator. Simulations were run using these protocols in different traffic environments like city, main road, and country settings. Key metrics like throughput and latency were evaluated.
IJERA (International journal of Engineering Research and Applications) is International online, ... peer reviewed journal. For more detail or submit your article, please visit www.ijera.com
This document discusses sensorless vector control of induction motors. It presents the dynamic modeling of induction motors using a reference frame transformation. It then describes the principles of vector control using an inverse transformation to control stator currents corresponding to the rotor flux and torque. A model reference adaptive system is proposed for sensorless speed estimation, where the speed estimate is adapted by comparing outputs of an adjustable model and reference model. Simulation results show the sensorless control approach can accurately estimate speed with good tracking performance.
El documento presenta los conceptos clave de la perspectiva política en las organizaciones, incluyendo el poder, los conflictos, las coaliciones y las redes. Explica que el poder puede ser concentrado o difuso, y que los gerentes deben destacar en habilidades políticas como definir agendas, formar coaliciones y negociar. También analiza cómo las organizaciones pueden ser tanto escenarios como instrumentos del accionar político de individuos y grupos.
El documento presenta la materia NTICx sobre nuevas tecnologías de la información y comunicación. Explica que las TIC incluyen elementos como computadoras, redes e internet que han producido cambios sociales, políticos, económicos y culturales llevando a una sociedad de la información. También destaca que las tecnologías pueden mejorar vidas pero también aumentar la brecha digital entre países ricos y pobres y entre generaciones.
El documento habla sobre la historia y evolución del latín. Comenzó en el 1000 a.C. y se expandió por el Mediterráneo. Fue la lengua de cultura durante la Edad Media. Pasó por 4 etapas: latín arcaico, latín clásico, latín postclásico y latín tardío. Explica las declinaciones en latín y griego y los materiales usados para la escritura como el papiro, pergamino y tablas de cera.
Pivote ayuda a empresas a generar nuevos contactos con potenciales clientes mediante la creación de un nexo entre el marketing y las ventas. Ofrece servicios como la generación de primeros contactos de manera creativa y profesional para ayudar a definir segmentos de mercado y captar nuevos clientes. Entre sus clientes se encuentran empresas como BBVA, Barcelo Hoteles, Colt Telecom y Exact Software.
Imran Sarwar Bajwa, [2010], "Markov Logics Based Automated Business Requirements Analysis", in International Journal of Computer and Electrical Engineering (IJCEE) 2(3) pp:481-485, June 2010
CASE tools and their effects on software qualityUtkarsh Agarwal
CASE tools can significantly improve software quality by automating tasks, reducing errors, and standardizing development processes. They provide functionality for data modeling, code generation, refactoring, documentation and more. While some aspects like requirements gathering require human input, overall CASE tools improve design, catch issues early, and allow developers to focus on other important work. Proper use of modeling languages and automation can dramatically enhance software quality across all stages of development.
Class Diagram Extraction from Textual Requirements Using NLP Techniquesiosrjce
IOSR Journal of Computer Engineering (IOSR-JCE) is a double blind peer reviewed International Journal that provides rapid publication (within a month) of articles in all areas of computer engineering and its applications. The journal welcomes publications of high quality papers on theoretical developments and practical applications in computer technology. Original research papers, state-of-the-art reviews, and high quality technical notes are invited for publications.
This document presents a new method for extracting class diagrams from textual requirements using natural language processing (NLP) techniques. It proposes the Requirements Analysis and Class diagram Extraction (RACE) system, which uses tools like the OpenNLP parser, a stemming algorithm, and WordNet to extract concepts and identify classes, attributes and relationships. The RACE system applies heuristic rules and a domain ontology to the output of the NLP tools to refine and finalize the extracted class diagram. The paper concludes that the RACE system demonstrates the effective use of NLP techniques to automate the extraction of class diagrams from informal natural language requirements specifications.
Image Based Tool for Level 1 and Level 2 Autistic PeopleIRJET Journal
This document proposes an image-based assistive tool for people with level 1 and level 2 autism. It uses natural language processing to analyze input text and return relevant images from a database using cosine similarity. The tool has four main components: a graphical user interface, an NLP unit to analyze input and perform semantic processing, a query function to search the image database, and the image database itself. It is intended to help autistic individuals associate words and concepts by providing visual representations.
The document discusses Unified Modeling Language (UML) which provides a standardized modeling language for object-oriented software development. It aims to provide a visual modeling language to develop and exchange meaningful models, be independent of programming languages, and support best practices and higher-level concepts like components and patterns. The document also lists various UML diagrams used for modeling including class, object, component, deployment, package, use case, activity, state machine, and sequence diagrams. It discusses stakeholders in software development like analysts, designers, coders, and customers. Finally, it covers traditional requirements gathering methods like interviews and documents review as well as modern techniques like Joint Application Development, Rapid Application Development, and prototyping.
NL based Object Oriented modeling - EJSR 35(1)IT Industry
Imran Sarwar Bajwa, Shahzad Mumtaz, Ali Samad [2009], "Object Oriented Software Modeling using NLP Based Knowledge Extraction", European Journal of Scientific Research, Aug 2009, Vol. 35 No. 01, pp:22-33
The document discusses the Unified Modeling Language (UML) and its role in object-oriented analysis and design. It describes UML as a graphical language used to visualize, specify, construct, and document software systems. UML provides tools and features to support complex systems using object-oriented concepts and methodology. UML diagrams are used to model system designs, with the key UML diagrams being class, sequence, use case, state machine, and activity diagrams. The document also briefly mentions some criticisms of UML regarding when diagrams should be used and how frequently they need to be updated.
This document provides an overview of object oriented analysis and design using the Unified Modeling Language (UML). It discusses key concepts in object oriented programming like classes, objects, encapsulation, inheritance and polymorphism. It also outlines the software development lifecycle and phases like requirements analysis, design, coding, testing and maintenance. Finally, it introduces UML and explains how use case diagrams can be used to model the user view of a system by defining actors and use cases.
This document presents a framework for automatically generating entity-relationship (ER) diagrams from natural language text input. It involves five main modules: 1) text preprocessing and summary generation, 2) translating the summary to a Semantic Business Vocabulary and Rules (SBVR) format, 3) part-of-speech tagging, 4) extracting ER diagram requirements by identifying entities, relationships, and attributes, and 5) generating an XMI file that can be imported into a UML modeling tool to visualize the generated ER diagram. Keywords are extracted from the input text using term frequency, and sentences are scored and selected for the summary based on important keywords and nouns. The framework aims to reduce the complexity of manually creating ER diagrams by
Ontological approach to the specification of properties of software systems a...Patricia Tavares Boralli
This document discusses an ontological approach to specifying the properties of software systems and their components to facilitate reuse. It proposes using problem domain ontologies and software engineering process ontologies to share knowledge about reusable assets across all stages of software development. This approach aims to maximize reuse of assets to improve quality and efficiency. Key aspects include representing reusable development assets according to the application domain, lifecycle stage, and asset type to enable relevant search and integration.
SRS Content and full experiment for project documentation.it is fully Devloped for write the Documentaion of any IT project in software engineering field.basically it SRS is based on the"SMART HEALTH CARE SYSTEM FOR KIDS" which provide the better Faciliaty to growth the children and save him from Nutrations.
SRS for software engineering for b.tech Aktu syllabus for computer science.
TECHNIQUES FOR COMPONENT REUSABLE APPROACHcscpconf
This document discusses techniques for component reuse using a component retrieval approach. It proposes using UML models stored in MDL file format to retrieve relevant software components based on structural information like class names and relationships. A tool called a "smart environment" is described that can search a repository of MDL files and source code based on class diagrams or use case diagrams to find the best matching components for reuse. Weights are assigned to different model elements to return search results in order of closest match. The approach aims to improve on keyword-based searching by matching design specifications.
This paper presents a vision on how the software development process could be a fully unified mechanized
process by getting benefits from the advances of Natural Language Processing and Program Synthesis
fields. The process begins from requirements written in natural language that is translated to sentences in
logical form. A program synthesizer gets those sentences in logical form (the translator's outcome) and
generates a source code. Finally, a compiler produces ready-to-run software. To find out how the building
blocks of our proposed approach works, we conducted an exploratory research on the literature in the
fields of Requirements Engineering, Natural Language Processing, and Program Synthesis. Currently, this
approach is difficult to accomplish in a fully automatic way due to the ambiguities inherent in natural
language, the reasoning context of the software, and the program synthesizer limitations in generating a
source code from logic.
Domain-driven design (DDD) is an approach that involves using a shared domain model and ubiquitous language to support complex domains and ensure alignment between software design and business needs. It emphasizes basing the software design on an evolving model that shares common concepts with domain experts. DDD uses patterns like entities, value objects, aggregates and repositories to structure the software around domain concepts and separate domain logic from data access and external interfaces.
Systems variability modeling a textual model mixing class and feature conceptsijcsit
System’s reusability and cost are very important in software product line design area. Developers’ goal is
to increase system reusability and decreasing cost and efforts for building components from scratch for
each software configuration. This can be reached by developing software product line (SPL). To handle
SPL engineering process, several approaches with several techniques were developed. One of these
approaches is called separated approach. It requires separating the commonalities and variability for
system’s components to allow configuration selection based on user defined features. Textual notationbased
approaches have been used for their formal syntax and semantics to represent system features and
implementations. But these approaches are still weak in mixing features (conceptual level) and classes
(physical level) that guarantee smooth and automatic configuration generation for software releases. The
absence of methodology supporting the mixing process is a real weakness. In this paper, we enhanced
SPL’s reusability by introducing some meta-features, classified according to their functionalities. As a first
consequence, mixing class and feature concepts is supported in a simple way using class interfaces and
inherent features for smooth move from feature model to class model. And as a second consequence, the
mixing process is supported by a textual design and implementation methodology, mixing class and feature
models by combining their concepts in a single language. The supported configuration generation process
is simple, coherent, and complete.
A Strong Object Recognition Using Lbp, Ltp And RlbpRikki Wright
This document discusses the evolution of object-oriented technology and languages. It notes that many object-oriented languages have emerged but companies commonly use open source OO languages like Java, C++, C# and Visual Basic due to their low or no licensing costs. These languages also have readily available libraries and development resources. The history of object-oriented concepts is traced back to Simula 67 and Smalltalk in the 1960s-70s, which introduced key ideas like classes, objects, inheritance and polymorphism. Exponential growth has occurred as more systems adopt object-oriented technologies.
This document provides an overview of the contents of a textbook on object-oriented analysis and design (OOAD). It covers 6 units:
1. Object-oriented concepts, modeling, and the Unified Modeling Language (UML)
2. Iterative development and UML
3. Basic and advanced structural modeling
4. Interaction modeling
5. Architectural modeling
6. Object-oriented programming styles
The first unit introduces object-oriented paradigms and modeling techniques like the data flow diagram, entity relationship diagram, algorithms, and flowcharts. It also discusses object-oriented modeling and the process of object-oriented analysis and design.
Proposal of an Ontology Applied to Technical Debt on PL/SQL DevelopmentJorge Barreto
The document proposes an ontology for technical debt in PL/SQL development. It discusses relevant concepts like ontologies, technical debt, and PL/SQL. An initial model is developed in Protégé with five types of technical debt - documentation, requirements, tests, design, and code. The model could be expanded to include more debt types and relationships. The ontology provides a standardized vocabulary to describe technical debt for PL/SQL developers.
This document discusses software engineering documentation and its importance in software development. It covers the different phases of software engineering like analysis, design, implementation and testing. It also discusses the advantages and disadvantages of documentation. Proper documentation is important as it helps structure information, visualize designs without executing the system, and aids in maintenance. The document provides examples of good documentation practices and emphasizes quality throughout the software development life cycle.
1. Prof. D.M.Thakore, Ravi P.Patki / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 2, Issue 5, September- October 2012, pp.1624-1630
Generation of Software Artifacts and Models at Analysis Phase
Prof. D.M.Thakore *, Ravi P.Patki**
*(Department of Computer Engineering, Bharti Vidyapeeth College of Engineering, Pune)
** (Department of Computer Engineering, Bharti Vidyapeeth College of Engineering, Pune)
ABSTRACT
The main objective of Object Oriented relationships, multiplicity and many more to
Analysis (OOA) is to capture a Complete, generate analysis phase models such as use case
Unambiguous and Consistent picture of the and class diagram. Finally this technique
requirement of system and what system must do generates XML Metadata Interchange (XMI)
to satisfy the user requirement and needs. This is Files to visualize generated models in UML
accomplished by constructing several models of modeling tool having XMI import feature.
system such as use case model, class model. To
take out the basic building blocks such as actor, Keywords- Class Diagram, POS Tagging, OOA,
use cases, candidate classes, their attributes and UML, Use case, XMI.
relationships to construct OOA models from the
unstructured textual requirement specification I. INTRODUCTION
document expressed in English like natural Software development process invariably
language is not an easy task. There are plenty begins with some human being needs, wants and
Nouns (Real Time Entities or Classes), Nouns desire to explore or solve any business problem. In
which represent the values (Class Attributes), such early phases of software development natural
verbs or verbs phrases (Events), in the system language are used to describe the exact business
requirement document. Also the size of problem need to be solved. But the natural language
unstructured source requirement document, are often complex, vague and ambiguous, sentences
writing style, vocabulary and ambiguity present are vague when they contain generalization. Some
in Natural Language (NL) works as barriers to time they are missing important information such as
find out the analysis model artifacts. subject or object needed by the verb for
Thus analyzing requirements and completeness or contains pronouns. All these
generating the software artifacts to build analysis difficulty arise when any one discuss the business
model are huge and complex task which need problem in using natural language. On other hand
automated support. In the last two decades, software requires more precision, correctness and
major tools that can automatically analyze the cleanness that are not found in natural language.
Natural Language requirement specification and Analysis is process of transforming a problem
generate the analysis models are developed. defining from fuzzy set of facts and myths in to
However, none of the tool generates more than coherent statement of system‟s requirements. The
one model at analysis phase. Most of the attempts main objective of Object Oriented Analysis (OOA)
are concentrating on generation of incomplete is to capture a entire, definite and consistent picture
class model. Also none of these tools cannot be of the requirement of system and what system must
used in real time software development as they do to satisfy the user requirement and needs. This is
provide with quite less coverage and accuracy accomplished by constructing several models of
(60% to 75%) in generating software artifacts. system. In this process user‟s needs and wants are
The key reason of lesser accuracy that has been transformed in to set off problem statement and
identified by various researchers is ambiguous requirements specification document called as
and informal nature of natural languages. Software Requirement Specification (SRS) in
To conquer some of these issues in natural language (NL). After that this natural
automating the analysis phase this paper language (Such as English) SRS are translated to the
proposes a techniques that aims at to automatic formal specifications such as UML models. This
generation of software artifacts at analysis phase. translation consists of generation of structural model
Initially this technique converts the NL of the system such as identifying the actors and
requirements in to some formal, controlled related use cases, identify classes, their attributes,
middle representation of software requirement methods, and relationships among them [1].
such as Semantic Business Vocabulary and Rules However requirement (SRS) explained in
(SBVR) Language (Standard introduced by NL can often uncertain, imperfect, and incoherent.
OMG) to increase in accuracy of generated In addition the explanation and understanding of
artifacts and models. Then it focuses on anything described in natural language has potential
identifying the software artifacts such as actors, of being influenced by geological, mental and
use cases, classes, attributes, methods, sociological factors. It is usually job of requirement
1624 | P a g e
2. Prof. D.M.Thakore, Ravi P.Patki / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 2, Issue 5, September- October 2012, pp.1624-1630
business analyst to detect and fix potential such technique should convert the NL business
ambiguities, inconsistencies and incompleteness in requirements in to some formal intermediate
such natural language SRS. But due to business representation to increase in accuracy of generated
analyst can overlook defects in SRS document in artifacts and models. Then it focuses on identifying
Natural language which can lead to multiple the various software artifacts to generate analysis
interpretations and difficulties in recovering implicit phase models. Finally this technique provide output
requirements if analysts do not have enough domain in the format understood by model visualizing tool
knowledge. Also fault occurred in this stage of This paper proposes such approach to
software development process can be quite analyze, extract, transform and generate software
expensive to fix on in later stages of development. artifacts from natural language business model to
Thus evaluating requirements and generating the build the formal semantic models of the system.
software artifacts to build analysis model are Proposed approach first convert the natural language
massive and difficult task which need some requirement documents in to intermediate SBVR
automated support. format for better accuracy. Then by doing some
In automated software development process semantic and syntactic analysis on such SBVR
the software requirements described in natural intermediate result it focuses on identifying the
language are transformed in to some formal software artifacts such as actors, use cases, classes,
specification means that the business models or attributes, methods, relationships, multiplicity and
computation independent models are transformed in many more to generate analysis models such as use
to some platform independent module which are case and class diagram. Finally this technique
very near to the any of the platform specific models produces XML Metadata Interchange (XMI) Files to
or development environment. In last few years there envision generated models in UML modeling tool
are so many attempts has been made to transform having XMI importation characteristic.
the natural language business models in to platform
independent models. It includes CM Builder, II. BASIC CONCEPTS
LIDA, GOOAL, LOLITA (NL-OOPS), NL-OOML, In this section, a brief introduction about
Event Extractor, Li, SUGER, and many more. But the basic concepts of the OOA, UML Use Case and
these tools are not used in real time software Class Model, SBVR is provided
development process due there lesser accuracy and
coverage in generating the formal models of system. 2.1 Object Oriented Analysis (OOA):
Such tools produce 65 to 70 percentages of accuracy Analysis is concerned with devising a
and coverage. The main reason behind failure of precise, concise, understandable model of the real
these tools is ambiguous and casual nature of natural world business. Object oriented analysis consist of
languages. Also business model described in natural identifying, extracting the needs of business and
language are very complex to computational process what system must do to satisfy the business
due to inherent semantic inconsistencies in a natural requirements. The goal of object oriented analysis
language. Also majority natural language words first is to understand the system‟s responsibilities by
have multiple senses and single senses can be understanding how the user (Actor) use or will use
replicated by multiple words. A better solution to the system. Next, the artifacts or elements (classes)
this problem is to convert the natural language that make up the system must be identified and their
business model in to some formal representation responsibilities and relationships among them. OOA
which is very simple for computation or machine concentrate on the describing what system does?
process and also easy to understand by human being Rather than the how it does it? This is accomplished
as natural language. Semantic Business Vocabulary by constructing the several models of the system
and rule (SBVR) specification is the standard from fuzzy set of system description such as use
developed by Object Management Group fulfills this case model and class model. Use case model
need. This specification defines the vocabulary and represent the user‟s view of the system or user‟s
rules for documenting the semantics of business needs. Another activity in the OOA is to identify the
vocabularies, business information, and business classes and subparts such as attributes, methods and
rules. This specification is applicable to the domain relationships among them in the system.
of business vocabularies and business rules of all
kinds of business activities of all kinds of 2.2 UML Use Case Model:
organizations. “Use case model is nothing but a sequence
Thus to analyze, extract and transform the of transition in a system whose task is to yield to
hidden facts in natural language to some formal result of measureable value to an individual actor of
model has so many challenges and obstacles. To the system”
overcome some of these obstacles in software A use case model is graph or diagram of
analysis there should be some mean or a technique actors, a set of use cases and communication
which aims at to generate software artifacts to build relationships between actor and use cases. Use case
the formal models such as UML diagrams. Initially
1625 | P a g e
3. Prof. D.M.Thakore, Ravi P.Patki / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 2, Issue 5, September- October 2012, pp.1624-1630
model defines the outside (Actor) and inside (Use CM-Builder aims at supporting the analysis stage of
Case) of system‟s behavior. development in an Object-Oriented framework. CM-
A use case is a special flow of events Builder uses robust Natural Language Processing
through the system. An actor is a user playing a role techniques to analyze software requirements texts
with respect to the system. Actor is a key to findings written in English and build an integrated discourse
the correct use cases. Actor carries out the use model of the processed text, represented in a
cases. In use case model single actor can perform Semantic Network. This Semantic Network is then
many use cases or a use case may have many actors used to automatically construct an initial UML Class
performing it. A use case must help actor to perform Model. The initial model can be directly input to a
a task that has some identifiable value. graphical CASE tool for further refinements by a
human analyst.
2.3 UML Class Model: CM- Builder analyzes the requirements text
The UML class model is the main static and build initial class diagram only. This model can
analysis model. This model shows the static be visualized in graphical case tool by converting it
structure of the system to be analyzed. A class into standard data interchange format where human
model is nothing but the collection of the static analyst can make further refinements to generate
modeling artifacts such as classes and their final class model. Also CM-builder makes the
relationships, and multiplicity among them extensive use of NLP techniques.
connected as graph to each other and to their A Natural Language Object Oriented
contents. The key element of class model is he Production System (NL- OOPS) [3] generates object
classes and relationships among them. The class can oriented analysis model from SemNet obtained by
have sub artifacts as attributes, and methods. Such parsing NL SRS document. It considers noun as
model represents the mapping of objects in the real objects and identifies the relationships among
world to actual objects to be used in computer objects using links. This approach lacks in accuracy
program. in selecting the objects for large systems and cannot
differentiate between class nouns and attribute
2.4 SBVR nouns.
SBVR is a short form of “Semantic Linguistic assistant for Domain Analysis
Business Vocabulary and Rules” which has been (LIDA), provide linguistic assistance in the model
introduced by Object Management Group (OMG) to development process. It presents a methodology to
reduce the gap between Business analyst and IT conceptual modeling through linguistic analysis.
persons. This is an contemporary an better way of Then gives overview of LIDA's functionality and
capturing the business requirements in natural present its technical design and the functionality of
language like structure which is very easy to its components. Finally, it presents an example of
understand for human beings and also very simple to how LIDA is used in a conceptual modeling task.
machine process due to its higher order of logic This tool identifies model elements through
foundation. One can generate a business model of assisted text analysis and validates by refining the
the system using the SBVR with the same text descriptions of the developing model. LIDA
communicative influence of standard natural needs extensive user interaction while generating
language. In SBVR all specific expressions and models because it identifies only a list of candidate
definition of facts and concepts used by an nouns, verbs and adjectives, which need to be
organization in course of business are considered as categorized into classes, attributes or operations
vocabulary. Also in SBVR a formal presentation based on user‟s domain knowledge.
under the business influence are considered as rules "GOOAL" (Graphic Object Oriented
which are used to express the operation of particular Analysis Laboratory) [5] receives a natural language
business entity under certain conditions. (NL) description of problem and produces the object
models taking decisions sentence by sentence. The
III. BACKGROUND AND COMPARATIVE user realizes the consequences of the analysis of
ANALYSIS every sentence in real time. Unique features of this
Many approaches and techniques have been tool are the underlying methodology and the
proposed up till now to automate the process of production of dynamic object models. GOOAL
various model generations from natural language produces the class diagram by considering the
requirement specification. However theses validation threshold of 50% and its coverage
approaches are not used in real world system accuracy (Precision matrices) is very minimum that
development due to their limitations in coverage and is 78%
accuracy generation. Also majority of models NL-OOML [6] presents an approach to
concentrates on the class model only and require the extract the elements of the required system by
high order of human interaction to complete the subjecting its problem statement to object oriented
generated models analysis. This approach starts with assigning the
parts of speech tags to each word in the given input
1626 | P a g e
4. Prof. D.M.Thakore, Ravi P.Patki / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 2, Issue 5, September- October 2012, pp.1624-1630
document. The text thus tagged is restructured into a Moreover, the various functionalities supported by
normalized subject-verb -object form. Further, to existing tools are also compared as shown in
resolve the ambiguity posed by the pronouns, the TABLE II
pronoun resolutions are performed before
normalizing the text. Finally the elements of the Table II – Functionality Support Comparison of
object-oriented system namely the classes, the Existing Available System
attributes, methods and relationships between the Tool NL NL
classes, the use-cases and actors are identified by CM- GO
Function - LI - Ext
mapping the „parts of speech- tagged‟ words of the Build OA
ality OO DA OO ract
natural language text onto the Object Oriented er L
PS ML
Modeling Language elements using mapping rules. Use-Case
But approximately 12.4 % of additional classes and NO NO NO NO NO NO
Model
7.4 % of additional methods are identified in all the YE YE YE
samples taken each of around 500 words. These Classes YES YES YES
S S S
additionally identified candidates are those that will Attribute YE YE YE
usually be removed by human by intuition. Since the YES YES YES
s S S S
system lacks this knowledge, they were also listed as YE YE YE
classes. Coverage accuracy is 82% Methods YES YES YES
S S S
An evaluation methodology proposed by In
Hirschman and Thompson [9] is used for the Associati YE YE
YES Semi NO NO
performance evaluation of all above existing tools. ons S S
NL
According to this methodology the most enduring Multiplici YE
metrics of performance that have been applied to NO YES NO NO NO
ty S
information extraction are termed as recall Aggregati
(Coverage of tool) and precision (Coverage NO YES NO NO NO NO
on
Accuracy of tool).These metrics may be viewed as Generaliz YE
judging effectiveness from the application user's NO NO NO NO NO
ation S
perspective. In the case of in information extraction,
YE
a correct output is a relevant fact. Instances NO NO NO NO NO
S
Recall = no of Relevant-returned facts / actual
XMI
relevant facts NO YES NO NO NO NO
Support
Precision = no of relevant-returned facts / total no.
Normaliz
of returned facts
e
Following TABLE I show the comparison of results NO YES NO NO NO NO
Requirem
of available tools that can perform automated or
ent
semi-automated analysis of the Natural Language
requirement specifications. User
Hig Medi Hig Hig
Interactio High Low
Recall value was not available for some of the tools. h um h h
Table I - A Comparison of Performance n
Evaluation of Existing Available Tools Table II shows that there are very few tools
those can extract information such as multiplicity,
Recall Precisio
Tools aggregations, generalizations, instances from
Value n Value
Natural language requirement. None of the tool
CM-Builder (Harmain, 2003) 73.00% 66.00%
generates the OCL representation of output model
GOOAL (Perez-Gonzalez,
--- 78.00% and thus they are inadequate to capture the
2002)
nonfunctional requirements.
NL-OOML (Anandha, 2006) ---- 82.00% As every event itself is a single interaction
LIDA (Overmyer, 2001) 71.32% 63.17% i.e. atomic unit of interaction (Below Use-case) that
Extract (only Event captures functional requirements in terms of an
92.00% 85.00%
Extraction) (2009) interaction from a scenario. Proposed system
As the existing system uses natural supports the functionality to capture the events from
languages as direct input to tool so that their recall requirement statement and generates Event Meta
and precision values are very less. Such results are Model/Template to capture the event from natural
there due to problems associated with Natural language requirement
Languages such as Thus, the results of this initial performance
Ambiguous and informal nature evaluation show that there is still potential for
Inherent semantic inconsistencies automation and provide motivation for approach
Complex to machine process. proposed here.
Informal sentence structure
1627 | P a g e
5. Prof. D.M.Thakore, Ravi P.Patki / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 2, Issue 5, September- October 2012, pp.1624-1630
IV. SBVR The SBVR‟s interpretation of „rule‟ therefore
The Semantics of Business Vocabulary and encompasses the sense of „criteria‟ as given by
Business Rules (SBVR)[9] is an adopted standard of authoritative glossary. An additional in the SBVR‟s
the Object Management Group (OMG) proposed to treatment of „rule‟ is consistency with formal logics.
be the root for proper and detailed natural language The best treatment for the SBVR‟s understanding of
declarative explanation of a complex thing, such as a rules would involve obligation and necessity claims.
business. SBVR is planned to formalize complex Consequently, in SBVR, a Rule is “an element of
compliance rules, such as operational rules for an guidance that introduces an obligation or a
enterprise, security policy, standard compliance, or necessity.”
regulatory compliance rules. Such formal The two fundamental categories of Rule are:
vocabularies and rules can be interpreted and used • Structural Rule: These are rules about how the
by computer systems. SBVR is an integral part of business chooses to organize (i.e., „structure‟) the
the OMG‟s Model Driven Architecture (MDA). things it deals with. Structural Rules supplement
SBVR defines the vocabulary and rules for definitions
documenting the semantics of business vocabularies, • Operative Rule: These are rules that govern the
business facts, and business rules conduct of business activity.
SBVR include a vocabulary for conceptual In contrast to Structural Rules, Operative Rules are
modeling and captures expressions based on this ones that can be directly violated by people involved
vocabulary as formal logic structures. The SBVR in the dealings of the business
vocabulary allows one to formally specify In SBVR, rules are always constructed by
representations of concepts, definitions, instances, applying necessity or obligation to fact types. SBVR
and rules of any information domain in natural realizes a the basic principal of the Business Rules
language. These features make SBVR well suited for Approach at the business level, which is states that
describing business domains and requirements for “Business rules build on fact types, and fact types
business processes and information systems to build on concepts as expressed by terms.” This
employ business models. blueprint allows SBVR‟s support for concepts to be
optionally used on its own for building business
4.1 Elements of SBVR vocabularies.
Business vocabulary and business rules are
the major key component of OMG‟s SBVR V. PROPOSED SYSTEM METHODOLOGY
specification. This section describes the used
methodology to identify the artifacts which are used
4.1.1 Business Vocabulary to generate the models at analysis phase from natural
A business vocabulary include all the language. This methodology consist of automatic
specialized terms, names, and fact type forms of conversion of natural language software requirement
concepts that a given business domain or community specification conversion to controlled intermediate
uses in their talking and writing in the course of SBVR format and secondly to identification of
doing business. SBVR includes two specialized software artifacts and model generation, finally
vocabularies: visualization of generated models. Used
Vocabulary for Describing Business methodology works in different phases organized in
Vocabularies, this element of specification deals pipelined fashion as follows.
with all types of terms and meanings. Vocabulary 1. Preprocess Analysis
for Describing Business Rules, this element of This phase stars with the by reading the given
specification deals with the meaning of business English input and tokenizing the whole input
rules, and builds on the previous one. in to individual tokens. To do so java
These two have been separated so that the tokenizer class is used. After tokenizing each
Vocabulary for Describing Business Vocabularies token is stored in separate array list. While
could be used independently. tokenizing the English input sentence splitter
is used to identify the boundary of each
sentence.
2. Tagging
This processed text is further given as input to
Part Of Speech (POS) tagger to identify the
4.1.2 Business Rule basic POS tags. To do so Standard POS
Business Rules are rules that are under business tagger is used which identifies the 44 basic
jurisdiction. Means that a business can, fit, enact, POS tags.
revise, and discontinue the business rules that 3. Morphological Analysis
govern and guide it. Thus, „business rule‟ means To remove the suffixes attached to noun
sense of „guide for conduct or action‟ in business. phrases and verb phrases this type of analysis
Business rules serve as criteria for making decisions. is performed on the tagged output from
1628 | P a g e
6. Prof. D.M.Thakore, Ravi P.Patki / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 2, Issue 5, September- October 2012, pp.1624-1630
pervious phase. In this type of analysis model. All verb concepts associated to noun
WordNet is used to convert the plural into concepts are tend to be use cases of that actor
singular form also suffixes attached to verb for use case model and methods for the class
phrases such as “ed” are also removed. model. Association between actor and use
4. Pronoun Resolution cases are identified with the help of parse tree
In this phase JavaRAP is used to replace all generated as well as from the SBVR unary
possible pronouns with correct noun form up fact types in the form of template noun-verb
to third person. or binary fact types created in phase 7. All
5. Parse Tree Generation SBVR characteristics associated with the
Stanford Parser is used to generate parse tree noun concepts and object type are mapped to
from pos tagged output for each the data items in class model. SBVR
requirements. This phase is very useful to Quantifications identified with respective
find out artifacts such as actors, use cases to noun concepts are mapped to the multiplicity
model the use case diagram. between two classes.
6. Role Labeling and Element/Concept 10. XMI Generation and Model Visualization
Identification Finally in this phase the output of above
In this phase role labels are identified from phases are generated in the form of XML
preprocessed text such as performer, co meta data interchange (XMI) file format.
actors, events, objects and receiver in the Such file is further given as input to UML
sentences. Also in this phase SBVR concept modeling tool having XMI import feature to
identification is done according to some visualize the generated models.
identification constraints such as all proper
nouns are identified to individual concepts, Following fig1 shows the process architecture of the
all common nouns are identified as noun proposed methodology.
concepts or object type, all action verbs are
identified as verb concepts, all auxiliary verbs
are identified as fact types, possessed nouns
are identified as characteristics or attributes,
indistinct articles, plural nouns and cardinal
numbers are identified as quantification.
Output of this phase is stored in an array list.
7. Rule Generation
To generate the SBVR rule we have to first
produce fact types, in the form of sentences
which represents some relationships between
the concepts identified in the previous phase.
For that purpose use the template such as Figure 1 Process Architecture of System
noun-verb-noun to establish the relationship VI. SYSTEM WORKFLOW
between two concepts. Thus a fact type is Take the input from user, a document which is
created by combining the noun concepts and written in English like natural language. Then we do
verb concepts from pervious phase array list. the preprocessing of this natural language
Generated fact type is used to create the specification document using different natural
SBVR rule by applying various logical language processing tools and technologies to do
formulation such as use of logical expression tagging, morphological analysis, pronoun resolution
AND, OR and NOT etc, Quantification token and parse tree generation. After doing so this
conversion rules, possibility and obligation preprocessed text is converted into controlled
formulation rules are used. intermediate format such as SBVR Concepts and
8. Applying Notations Rules which are then mapped to software artifacts to
In this phase SBVR notations are applied to build the models at analysis level. These models are
generate rules such as noun concepts are finally visualized using the UML compliment tool
underlined, verb concepts are italicized, having XMI import features. Following fig2 shows
keywords are bolded, individual concepts or the sequenced steps to be followed to generate the
attributes are double underlined. analysis level models of software specification.
9. Artifacts Extraction
In this phase produced SBVR vocabulary and
rules are further processed to extract the basic
building blocks or artifacts of models such as
use case and class diagram etc. all SBVR
noun concepts and object type are tends to be
actor for use case model and classes for class
1629 | P a g e
7. Prof. D.M.Thakore, Ravi P.Patki / International Journal of Engineering Research and
Applications (IJERA) ISSN: 2248-9622 www.ijera.com
Vol. 2, Issue 5, September- October 2012, pp.1624-1630
Across all domain over unlimited
requirement size expressed in Natural
Language to generate analysis phase
software elements and models.
in understanding functional requirements
because it gives list of events that
represents the behavior of system
For summarization and for extraction of
important software elements in Objects
Oriented Analysis Process.
REFERENCES
[1] Ali Bahrami, Chapter 6, Object Oriented
Analysis Process, in Object Oriented
System Development.
[2] H. M. Harmain and R. Gaizauskas, CM-
Builder: An Automated NL Based CASE
tool, in IEEE International Conference on
automated software engineering (2000)
[3] Mich L., NL-OOPS: From natural language
to object oriented requirement using natural
language processing system (1996)
[4] Overmyer, S. P., Benoit, L. and Owen R.,
Figure 2 Workflow of System Conceptual modeling through linguistic
analysis using LIDA. International
VII. UTILITY Conference of Software Engineering
Proposed system may be used across all (ICSE), (2001)
domain over unlimited requirement size [5] Hector G perez-Gonzalez and Jugal K.
expressed in Natural Language to generate Kalita, GOOAL : A Graphical Object
analysis phase software elements and Oriented Analysis laboratory, ACM 1-
models. 58113-626-9/02/0011 (2002)
Proposed system would be very useful in [6] G.S. Anandha Mala, J. Jayaradika, and G.
understanding functional requirements V. Uma, Restructuring Natrual Language
because it gives list of events that Text to Elicit Software Requirements, in
represents the behavior of system proceeding of the International Conference
Non functional requirements are basically on Cognition and Recognition (2006)
constraints in Natural Language [7] Sanddep K. Singh, Reetesh Gupta,
Requirement Specification and proposed Sangeeta Sabharwal, and J.P. Gupta, E-
system will be useful to find out such non- xtract : A tool for extraction, Analysis and
functional requirement in the form of OCL Classification of Events from Textual
Specification. Requirements, in IEEE 2009 international
Proposed system may be used to for Conference on Advances in Recent
summarization and for extraction of technologies in communication and
important software elements in Objects Computing.
Oriented Analysis Process. [8] Hirschman L., and Thompson, H.S. 1995.
Chapter 13 Evaluation: Overview of
VIII. CONCLUSION evaluation in speech and natural language
This approach describes a computerized way to processing. In Survey of the State of the
take out the software element at analysis phase. It Art in Human Language Technology.
uses Natural Language Processing techniques to [9] OMG. 2008. Semantics of Business
consider business level software requirements and vocabulary and Rules. (SBVR) Standard
builds an incorporated analysis level model. v.1.0.
This approach can be used for the
identification of software elements such as event list,
use cases, classes, their attributes, and the static
relationships among them with increase in accuracy
due to use of intermediate format SBVR. The
outcome achieved have shown the utility of this
approach
1630 | P a g e