smartsql alfatech software solutions application requirements document radi bekker vladimir...

24
SmartSQL SmartSQL AlfaTech Software Solutions Application Requirements Application Requirements Document Document Radi Bekker Vladimir Goldman Marina Shaevich Alexander Shapiro Team Members: Team Members: Academic Advisor Academic Advisor : : Prof. Ehud Gudes Technical Advisor: Technical Advisor: Eliezer Kaplanski

Post on 21-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

SmartSQLSmartSQLAlfaTech Software Solutions

Application Requirements Application Requirements DocumentDocument

Radi Bekker

Vladimir Goldman

Marina Shaevich

Alexander Shapiro

Team Members:Team Members:

Academic AdvisorAcademic Advisor:: Prof. Ehud Gudes

Technical Advisor:Technical Advisor: Eliezer Kaplanski

BackgroundBackground The NLP problem:The NLP problem:

This area has been around in the computing world This area has been around in the computing world for a for a relatively long time. relatively long time.

Natural language processing (NLP) is a subfield of Natural language processing (NLP) is a subfield of artificial artificial intelligence and linguistics. intelligence and linguistics.

The main goal of NLP is to be interpreted by the The main goal of NLP is to be interpreted by the computer and computer and act according to its primary purpose. act according to its primary purpose.

The definition of "understanding" is one of the The definition of "understanding" is one of the major problems major problems in natural language processing. in natural language processing.

Natural language understanding is sometimes Natural language understanding is sometimes referred to as referred to as an AI-complete problem an AI-complete problem (making computers as (making computers as intelligent as people ) .intelligent as people ) .

Background- Background- Alfa MagicAlfa Magic

The AlfaTech tool.The AlfaTech tool. Alfa Magic can be used to create computer Alfa Magic can be used to create computer

software without using any computer languages.software without using any computer languages.

Alfa Magic is a development platform that has Alfa Magic is a development platform that has been optimized for developers of administrative been optimized for developers of administrative applications. applications.

Alfa Magic Designer lets you design your Alfa Magic Designer lets you design your applications graphically. applications graphically.

Alfa Magic allows a developer to focus on Alfa Magic allows a developer to focus on translating the business logic of a customer to translating the business logic of a customer to application logic. application logic.

Background- Background- Alfa MagicAlfa Magic

Problem DomainProblem DomainMost of the software in the world deals with data Most of the software in the world deals with data extraction extraction from databases. from databases. Query execution requires knowledge in SQL.Query execution requires knowledge in SQL.

Requires many specialists and resources in order Requires many specialists and resources in order to maintain to maintain databases. databases.

Simple users, without programming or SQL Simple users, without programming or SQL knowledge knowledge cannot change or update databases. cannot change or update databases.

Asking the databases questions in a natural Asking the databases questions in a natural language is a language is a very convenient and easy method of data very convenient and easy method of data access, especially access, especially for casual users who do not understand for casual users who do not understand complicated complicated database query languages such as SQL. database query languages such as SQL.

Current SolutionsCurrent Solutions

The first attempts at NLP database interfaces are The first attempts at NLP database interfaces are just as old as just as old as any other NLP research. any other NLP research.

There are several known NLP-query builders: There are several known NLP-query builders:

ELF – works only with Access databases.ELF – works only with Access databases.

NALIX – works only with XML.NALIX – works only with XML.

Such systems integrates some Such systems integrates some glossaries/grammars in order to glossaries/grammars in order to handle more NL queries. handle more NL queries.

They differ in a power of such glossaries and their They differ in a power of such glossaries and their structures.structures.

Current SolutionsCurrent SolutionsThree Levels Of Three Levels Of Information:Information:

Proposed SolutionProposed Solution

SmartSQLSmartSQL

SmartSQL will accept an arbitrary English SmartSQL will accept an arbitrary English language sentence language sentence and translate it into exact DB query in SQL. and translate it into exact DB query in SQL.

The performance of the software should be able The performance of the software should be able to handle to handle queries in a variety of application domains. queries in a variety of application domains.

SmartSQL will be integrated in the AlfaTech tool SmartSQL will be integrated in the AlfaTech tool (AlfaMagic) (AlfaMagic) in order to enhance its given database access in order to enhance its given database access services.services.

SmartSQLSmartSQL

When a new database is needed to be integrated When a new database is needed to be integrated into the into the system, the system will first scan the database system, the system will first scan the database to extract all to extract all the needed information. the needed information.

Third level of information will be based on Third level of information will be based on glossaries relevant glossaries relevant to the current applied database. to the current applied database.

This glossaries will advance our system not only This glossaries will advance our system not only in the NLP in the NLP point of view but also in AI. point of view but also in AI.

SmartSQL – Cont.SmartSQL – Cont.

System ArchitectureSystem Architecture

Company

Manager

User

DBMS (SQL server,

access)

System Administrato

r

Query Data Set

AlfaTech

SmartSQL

Functional RequirementsFunctional Requirements General Requirements:General Requirements:

The system will be able to extract and The system will be able to extract and present information from SQL Server or present information from SQL Server or Access database.Access database.

The system will allow to users different The system will allow to users different actions according to their status actions according to their status ( admin\ordinary user)( admin\ordinary user)

Administrator will be able to Administrator will be able to add/remove database and its glossary.add/remove database and its glossary.

The system will allow addition/removal The system will allow addition/removal of users.of users.

Functional RequirementsFunctional Requirements NLP Analyzer:NLP Analyzer:

Will receive a natural language sentence and Will receive a natural language sentence and will transform it into SQL query. will transform it into SQL query.

In case of misunderstanding, clarification In case of misunderstanding, clarification questions will be asked. questions will be asked.

Extensive use of glossaries in order to Extensive use of glossaries in order to understand the given NLP query. understand the given NLP query.

Will support all SQL main commands: Select,Will support all SQL main commands: Select,

Join, Join, Group by, Order by, Insert into, Update, Group by, Order by, Insert into, Update, Delete, Drop .Delete, Drop .

Will not support: join on more then 2 tables, Will not support: join on more then 2 tables, having, Reports. having, Reports.

Functional RequirementsFunctional Requirements

Graphical Query Builder: Graphical Query Builder:

Creation of queries using graphical interface.Creation of queries using graphical interface.

Queries can be saved.Queries can be saved.

Ability to open saved queries.Ability to open saved queries.

Functional RequirementsFunctional Requirements

Graphical presentation of data:Graphical presentation of data:

Presentation of the query in different modes Presentation of the query in different modes (Pie, data grid, columns, etc.) by choosing the (Pie, data grid, columns, etc.) by choosing the desired parameters: height, width, location, desired parameters: height, width, location, color, angle, etc.color, angle, etc.

Functional RequirementsFunctional Requirements

User interaction with the system through User interaction with the system through several graphical interfaces: several graphical interfaces:

Login window.Login window.

Administrator window.Administrator window.

Natural language window.Natural language window.

SQL builder window.SQL builder window.

Presentation window. Presentation window.

Non-Functional Non-Functional RequirementsRequirements

Speed:Speed:

System response within 2 seconds.System response within 2 seconds.

In case of interaction with DBMS, system will In case of interaction with DBMS, system will timeout timeout within 20 seconds. within 20 seconds.

Capacity:Capacity:

One – threaded system.One – threaded system.

Safety & Security:Safety & Security:

AuthorizationAuthorization

Access Control. Access Control.

Non-Functional Non-Functional RequirementsRequirements

Usability:Usability:

User-friendly interface.User-friendly interface.

No previous knowledge required. No previous knowledge required.

Availability:Availability:

Available 24 hours a day.Available 24 hours a day.

Technologies:Technologies:

Visual Studio 2005, C#.Visual Studio 2005, C#.

MS Access.MS Access.

SQL Server 2000 or later.SQL Server 2000 or later.

RisksRisks

NATURAL LANGUAGE PROCESSING

Use Case Use Case DiagramDiagram

Creating SQL with SQL Creating SQL with SQL builderbuilder

Generation SQL from Generation SQL from Natural LanguageNatural Language

Interaction with result Interaction with result presentationpresentation

QuestionsQuestions