# US 10,120,652 B2 · System and method for representing software development requirements into standard diagrams

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,120,652 B2
- Document ID: US10120652B2
- Status: Granted
- Kind: B2
- Application number: 15/475,256
- Filed: 2017-03-31
- Published: 2018-08-16
- Granted: 2018-11-06
- Earliest claimed: 2017-02-16
- Assignees: Wipro Limited
- Applicants: Wipro Limited
- Inventors: Aman Chandra; Varun Anant
- Web page: https://patentgrep.com/patent/US10120652B2

## CPC

- G06F 8/10: Requirements analysis; Specification techniques
- G06F 8/20: Software design
- G06F 8/35: model driven
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

This disclosure relates generally to software development, and more particularly to a system and method for representing software development requirements into standard diagrams. In one embodiment, a method is provided for deriving use case diagrams for software development. The method comprises extracting one or more core components from each of a plurality of software development requirements, determining at least one activity from the one or more core components, extracting at least one of a class and an attribute from the one or more core components, and deriving at least one use case diagram based on the at least one activity and the at least one of the class and the attribute. The one or more core components comprise at least one of a core message and a condition.

## Claims

### Claim 1

A method for deriving use case diagrams for software development, the method comprising:
retrieving, by a modeling engine, one or more core components from each of a plurality of software development requirements, wherein the one or more core components comprise at least one of a core message and a condition, and
wherein the plurality of software development requirements are in unstructured textual format;
determining, by the modeling engine, at least one activity from the one or more core components;
determining, by the modeling engine, at least one of a class and an attribute from the one or more core components, wherein determining the class comprises determining the class from the core message based on a pre-defined set of rules and a statistical model via an iterative shortlisting process; and
deriving, by the modeling engine, at least one use case diagram based on the at least one activity and the at least one of the class and the attribute,
wherein deriving the at least one use case diagram comprises aggregating a set of similar activities from the at least one activity based on domain knowledge.

### Claim 2 (depends on 1)

The method of claim 1, wherein retrieving one or more core components comprises:
determining a plurality of tokens from each of the plurality of software development requirements, wherein each of the plurality of tokens comprises a word or a phrase;
determining a plurality of part of speech (PoS) tags corresponding to the plurality of tokens; and
determining a plurality of PoS patterns based the plurality of PoS tags.

### Claim 3 (depends on 2)

The method of claim 2, wherein determining the at least one activity comprises determining the at least one activity from the at least one of the core message and the condition by:
aggregating the plurality of PoS patterns to determine a language pattern;
parsing the language pattern to determine the at least one activity and a relationship.

### Claim 4 (depends on 3)

The method of claim 3, further comprising deriving at least one activity diagram based on the at least one activity and the relationship.

### Claim 5 (depends on 2)

The method of claim 2, wherein determining the attribute comprises determining the attribute from the core message by matching the plurality of PoS patterns against a plurality of pre-defined attributes.

### Claim 6 (depends on 1)

The method of claim 1, further comprising deriving at least one class diagram based on the at least one of the class and the attribute.

### Claim 7 (depends on 1)

The method of claim 1, wherein deriving the at least one use case diagram further comprises:
rendering the set of similar activities as the at least one use case diagram.

### Claim 8 (depends on 7)

The method of claim 7, wherein the domain knowledge comprises a plurality of historical activities with a corresponding similarity index.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
validating the at least one use case diagram based on a pre-defined set of rules to determine one or more deviations from best practices; and
generating one or more recommendations based on the one or more deviations.

### Claim 10

A system for deriving use case diagrams for software development, the system comprising:
at least one processor; and
a computer-readable medium storing instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:
retrieving one or more core components from each of a plurality of software development requirements,
wherein the one or more core components comprise at least one of a core message and a condition, and
wherein the plurality of software development requirements are in unstructured textual format;
determining at least one activity from the one or more core components;
determining at least one of a class and an attribute from the one or more core components, wherein determining the class comprises determining the class from the core message based on a pre-defined set of rules and a statistical model via an iterative shortlisting process; and
deriving at least one use case diagram based on the at least one activity and the at least one of the class and the attribute,
wherein deriving the at least one use case diagram comprises aggregating a set of similar activities from the at least one activity based on domain knowledge.

### Claim 11 (depends on 10)

The system of claim 10, wherein retrieving one or more core components comprises:
retrieving a plurality of tokens from each of the plurality of software development requirements, wherein each of the plurality of tokens comprises a word or a phrase;
determining a plurality of part of speech (PoS) tags corresponding to the plurality of tokens; and
determining a plurality of PoS patterns based the plurality of PoS tags.

### Claim 12 (depends on 11)

The system of claim 11, wherein determining the at least one activity comprises determining the at least one activity from the at least one of the core message and the condition by:
aggregating the plurality of PoS patterns to determine a language pattern;
parsing the language pattern to determine the at least one activity and a relationship.

### Claim 13 (depends on 11)

The system of claim 11, wherein determining the attribute comprises determining the attribute from the core message by matching the plurality of PoS patterns against a plurality of pre-defined attributes.

### Claim 14 (depends on 10)

The system of claim 10, wherein deriving the at least one use case diagram further comprises:
rendering the set of similar activities as the at least one use case diagram.

### Claim 15 (depends on 14)

The system of claim 14, wherein the domain knowledge comprises a plurality of historical activities with a corresponding similarity index.

### Claim 16 (depends on 10)

The system of claim 10, further comprising:
validating the at least one use case diagram based on a pre-defined set of rules to determine one or more deviations from best practices; and
generating one or more recommendations based on the one or more deviations.

### Claim 17

A non-transitory computer-readable medium storing computer-executable instructions for:
retrieving one or more core components from each of a plurality of software development requirements,
wherein the one or more core components comprise at least one of a core message and a condition, and wherein the plurality of software development requirements are in unstructured textual format;
determining at least one activity from the one or more core components;
determining at least one of a class and an attribute from the one or more core components,
wherein determining the class comprises determining the class from the core message based on a pre-defined set of rules and a statistical model via an iterative shortlisting process; and
deriving at least one use case diagram based on the at least one activity and the at least one of the class and the attribute,
wherein deriving the at least one use case diagram comprises aggregating a set of similar activities from the at least one activity based on domain knowledge.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein deriving the at least one use case diagram further comprises:
rendering the set of similar activities as the at least one use case diagram.

### Claim 19 (depends on 17)

The non-transitory computer-readable medium of claim 17, wherein the domain knowledge comprises a plurality of historical activities with a corresponding similarity index.
