Editing
Business requirements
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
<span id="business-requirements-document"></span> = Business Requirements Document = '''Project:''' pgcobol β Prime Numbers Application<br /> '''Version:''' 1.0 (reverse-engineered)<br /> '''Date:''' 2026-03-17<br /> '''Status:''' Baseline ----- <span id="purpose"></span> == 1. Purpose == The system generates prime numbers and stores them in a relational database, and provides a printed report of all stored primes. It demonstrates a three-tier COBOL application architecture running on Linux against a PostgreSQL database. ----- <span id="stakeholders"></span> == 2. Stakeholders == {| !width="50%"| Role !width="50%"| Concern |- | Developer / operator | Runs generation and reporting jobs from the command line |- | Database administrator | Manages schema, credentials, and data retention |- | End user | Receives the printed prime-number report |} ----- <span id="business-requirements"></span> == 3. Business Requirements == <span id="br-01-prime-number-generation"></span> === BR-01 β Prime Number Generation === The system shall compute all prime numbers from 3 up to 999,999,999 using a trial-division algorithm and store each confirmed prime in the database. '''Acceptance criteria:''' - Every integer stored in the primes table is a prime number. - No prime in the range 3β999,999,999 is omitted. - The sequence column records insertion order via an auto-incrementing identity. <span id="br-02-prime-number-reporting"></span> === BR-02 β Prime Number Reporting === The system shall produce a formatted printed report listing all primes currently stored in the database. '''Acceptance criteria:''' - Every row in the primes table appears in the report. - Rows are presented in database-cursor order (insertion order by ident). - The report is paginated with headings, column headers, and page numbers. <span id="br-03-operational-modes"></span> === BR-03 β Operational Modes === The system shall support two mutually exclusive operational modes selectable at invocation: {| ! Mode ! Argument ! Effect |- | Generate | <code>generate</code> | Compute primes and persist to DB |- | Report | <code>report</code> | Read DB and produce print file |} Any argument other than <code>generate</code> or <code>report</code> shall cause the program to log an error and terminate without processing. <span id="br-04-audit-trail-console-logging"></span> === BR-04 β Audit Trail / Console Logging === All significant processing events (session start/stop, database connection, cursor open, fetch errors, write confirmation) shall be written to the system console in real time. <span id="br-05-data-persistence"></span> === BR-05 β Data Persistence === Prime numbers shall be stored persistently in a PostgreSQL database so that the report can be produced independently of and after the generation run. <span id="br-06-report-format"></span> === BR-06 β Report Format === The printed report shall: - Carry a page heading (βprimes overviewβ) and a column header row on every page. - Present six prime entries per print line (sequence number + prime value). - Carry a page-number footing at the bottom of each page. - Be written to a line-sequential file (<code>primes.prt</code>) with 132-character records. ----- <span id="constraints"></span> == 4. Constraints == {| !width="50%"| ID !width="50%"| Constraint |- | C-01 | Target runtime is GnuCOBOL 4.0 on Linux. |- | C-02 | Database is PostgreSQL 11; connection is localhost only. |- | C-03 | Database credentials are currently hard-coded in the DAL program. |- | C-04 | The upper bound of generation is fixed at 999,999,999. |- | C-05 | The print file is fixed at 132 columns, 56 lines per page. |} ----- <span id="out-of-scope"></span> == 5. Out of Scope == * Interactive (screen) input or output. * Concurrent multi-user access. * Prime generation restart / checkpoint recovery. * Authentication or credential management. * Scheduling or job-control integration. <hr/> Terug naar: [[Primes_programs_specifications]] | [[Cobol and PostgreSQL]]
Summary:
Please note that all contributions to Webhuis wiki are considered to be released under the GNU Free Documentation License 1.3 or later (see
Project:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Voorpagina
Cobol and PostgreSQL
PostgreSQL
CFEngine
Proxmox
Webhuis Kennisbank
Basale infra
Webhuis bouwstenen
Webhuis configuratie
Webhuis Infra
Webhuis Support
Webhuis Raspberry
Opzet Applicaties
Business Applicaties
Community portal
Current events
Recent changes
Random page
Help
sitesupport
Tools
What links here
Related changes
Special pages
Page information