Jump to content

AnyLang Programming Language Comparison/Appendix:FeatureCompleteSoftware

From Wikibooks, open books for an open world

Feature Complete Software

[edit | edit source]

The following outlines the essential elements for feature-complete software. A software package of any kind that does not have *all* of these features, is incomplete for purposes of this discussion.

In addition, all of these software features should be amenable to:

  • automated processing (not require human intervention except where an essential function cannot be completed without a human)
  • accessibility (capable of capturing through a screen reader or other assistance technology)
  • batch processing (automated processing on multiple items in series, instead of just one at a time)

Data Access Factors

[edit | edit source]
  • authentication ;; you are who you say you are
  • access control ;; the cabinets and drawers are lockable
  • authorization  ;; the rules and conditions for access to the cabinets and drawers

Data Persistence Factors

[edit | edit source]
  • view
  • add
  • edit
  • delete

Interaction Factors

[edit | edit source]
  • search
  • sort
  • filter
  • collate
  • validate
  • scrub

Architecture

[edit | edit source]
  • model
  • view
  • controller

Anylang Simple Data System

[edit | edit source]

The anylang Simple Data System explains how to represent any kind of data for typical software applications, where the primary goal is to make all data structures within your architecture as easy as possible to understand for the average user. This approach is effective for applications where storage and performance are not significant constraints.

SimpleRecord SimpleTable and SimpleTree

[edit | edit source]

The basic elements of the anylang Simple Data System can be composed and translated to fit the needs of virtually any software application or system.

The anylang Simple Data System consists of the following basic elements:

  • SimpleRecord ;; a standard record as modeled in a typical RDBMS
  • SimpleTable ;; a standard table as modeled in a typical RDBMS
  • SimpleTree ;; a nested data element where every SimpleRecord is allowed to have zero or more SimpleTable child items

The SimpleTree data element is typically not capable of being represented in the RDBMS without using JOIN queries.

Sample data

[edit | edit source]

This is a snapshot of sample data represented as a SimpleTree using YAML syntax.

 person: 
   - first_name: Rosanna
     last_name: Terry
     age: 33
     record_id: "13187137554402717"
     fave_color: red
     sponsor: simpletable_xref_sponsor
   - first_name: Kelsie
     last_name: Brakus
     age: 30
     record_id: "13187137555571156"
     fave_color: yellow
     sponsor: simpletable_xref_sponsor
   - first_name: Opal
     last_name: Rath
     age: 31
     record_id: "13187137550072959"
     fave_color: orange
     sponsor: simpletable_xref_sponsor
   - first_name: Gregorio
     last_name: Hilpert
     age: 32
     record_id: "13187137559241486"
     fave_color: yellow
     sponsor: simpletable_xref_sponsor
   - first_name: Braden
     last_name: Schuppe
     age: 28
     record_id: "13187137553207531"
     fave_color: red
     sponsor: simpletable_xref_sponsor
     
 sponsor: 
   - sponsor: Mayer, Runte and Jacobi
     industry: Law
     record_id: "13187137555292949"
     parent_record_id: "13187137554402717"
   - sponsor: Fritsch-King
     industry: Medicine
     record_id: "13187137556371805"
     parent_record_id: "13187137559241486"
   - sponsor: Rosenbaum, Klocko and Larson
     industry: Construction
     record_id: "13187137555638918"
     parent_record_id: "13187137559241486"
   - sponsor: Ruecker-Hyatt
     industry: Medicine
     record_id: "13187137552893153"
     parent_record_id: "13187137553207531"
   - sponsor: Gerlach, Emmerich and Bernhard
     industry: Construction
     record_id: "13187137554311067"
     parent_record_id: "13187137553207531"