Path: csiph.com!usenet.pasdenom.info!aioe.org!news.stack.nl!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.018 X-Spam-Evidence: '*H*': 0.96; '*S*': 0.00; '(at': 0.04; 'say,': 0.05; 'amounts': 0.07; 'needed,': 0.07; 'salary,': 0.07; 'forms,': 0.09; 'logic': 0.09; 'matched': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'statements': 0.09; 'width': 0.09; 'jan': 0.12; 'changes': 0.15; '(use': 0.16; '(when': 0.16; 'cases)': 0.16; 'entry.': 0.16; 'fancy': 0.16; 'formatted': 0.16; 'ignoring': 0.16; 'message-id:@4ax.com': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'record,': 0.16; 'reports)': 0.16; 'simple.': 0.16; 'subject:python': 0.16; 'sat,': 0.16; 'users.': 0.18; 'app': 0.19; 'basically': 0.19; 'producing': 0.19; 'subject:project': 0.19; 'not,': 0.20; '(the': 0.22; 'input': 0.22; 'manual': 0.22; 'separate': 0.22; "aren't": 0.24; 'entries': 0.24; 'replace': 0.24; 'url:home': 0.24; 'guys': 0.24; '(or': 0.24; 'equivalent': 0.26; 'possibly': 0.26; 'second': 0.26; 'certain': 0.27; 'gets': 0.27; 'header:X-Complaints-To:1': 0.27; 'record': 0.27; 'fixed': 0.29; 'easier': 0.31; 'url:wiki': 0.31; 'concern': 0.31; 'crash': 0.31; 'penalties': 0.31; 'relational': 0.31; 'relies': 0.31; 'restricted': 0.31; 'url:wikipedia': 0.31; 'probably': 0.32; 'summary': 0.32; 'another': 0.32; 'quite': 0.32; 'open': 0.33; 'ceo': 0.33; 'third': 0.33; 'screen': 0.34; 'table': 0.34; 'maybe': 0.34; 'transaction': 0.35; 'something': 0.35; 'etc': 0.35; 'but': 0.35; 'add': 0.35; 'there': 0.35; 'really': 0.36; 'interact': 0.36; 'done': 0.36; 'doing': 0.36; 'charset:us-ascii': 0.36; 'possible': 0.36; 'url:org': 0.36; 'should': 0.36; 'effort': 0.37; 'employee': 0.37; 'reports': 0.37; 'application': 0.37; 'operating': 0.37; 'step': 0.37; 'being': 0.38; 'system,': 0.38; 'stable': 0.38; 'to:addr:python-list': 0.38; 'track': 0.38; 'rather': 0.38; 'does': 0.39; 'to:addr:python.org': 0.39; 'system.': 0.39; 'received:org': 0.40; 'ensure': 0.60; 'even': 0.60; 'skip:u 10': 0.60; 'company': 0.60; 'office': 0.60; 'simple,': 0.60; 'tracking': 0.61; 'matter': 0.61; 'first': 0.61; "you'll": 0.62; 'information': 0.63; 'confirm': 0.64; 'design,': 0.64; 'more': 0.64; 'accounts': 0.64; 'purchase': 0.65; 'account': 0.65; 'linked': 0.65; 'talking': 0.65; 'records,': 0.69; 'finance': 0.70; 'business': 0.70; 'records': 0.73; 'foreign': 0.74; 'billing': 0.74; 'address,': 0.75; 'analysis': 0.75; 'paper': 0.75; 'day': 0.76; 'bank': 0.76; 'account.': 0.80; 'customer,': 0.81; 'improved.': 0.84; 'overdue': 0.84; 'persistent': 0.84; 'replicate': 0.84; 'debit': 0.91; 'safety,': 0.91; 'transactions': 0.91; 'received:108': 0.93; 'sector,': 0.93; 'accounts,': 0.95 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Dennis Lee Bieber Subject: Re: python first project Date: Sat, 11 Jan 2014 17:10:20 -0500 Organization: IISS Elusive Unicorn References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Gmane-NNTP-Posting-Host: adsl-108-79-222-86.dsl.klmzmi.sbcglobal.net X-Newsreader: Forte Agent 6.00/32.1186 X-No-Archive: YES X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 74 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1389478218 news.xs4all.nl 2900 [2001:888:2000:d::a6]:48509 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:63727 On Sat, 11 Jan 2014 09:55:57 -0800 (PST), ngangsia akumbo declaimed the following: > >I have a paper with the instructions that was given to me, these guys just want something very simple. The CEO in concern want that every day he get in to the office , it does not matter the time. He should be able to see a record of all the transaction for that day from his desktop > Very vague level... It's defining basically one report (or set of reports) but overlooks all the effort to enter that data. Even ignoring the warehouse and personnel records you may be looking at a rather large system. Even a single user/single account check register will require: 1 Some persistent data storage (at one end is a fixed width formatted record [fixed width makes it easier to jump around by record number], at the other end is a table in a relational database) 2 Forms for entering transactions (checks/deposits), possibly forms allowing for updates/corrections (with logic to confirm changes to cleared transactions) 3 Forms/processes for reconciling the register with bank statements 4 Reports of cleared/uncleared transactions All that is, as I say, for a single user with a single account. If you are tracking customer billing, you are talking multiple accounts, and quite likely double-entry bookkeeping. In double-entry bookkeeping, every credit in one account has to be matched with a debit in another account (when a customer pays, you reduce the amount owed on his account while adding the amount to company operating account). For safety, you have to ensure that a computer crash can't, say, reduce the customer amount but fail to add the amount to the company account -- this is where a database with transaction support comes into play). http://en.wikipedia.org/wiki/Double-entry_bookkeeping_system >yeah just a client billing app > Even if not using a full-up double-entry system, you are still looking at multiple accounts (one account per customer) showing purchases/payments (and other possible transactions)... A database table just for customer fixed information (name, address, account #, limits on purchases), a second database table for transactions (shared by all customer accounts -- the account # is a foreign key linking to the customer) -- this table will probably have entries just for payments and purchase summaries (the items in a purchase will be a third table linked to the summary record, and maybe linked to the inventory system by part # and quantity). It gets more complex if you need to track overdue amounts for penalties as you'll need a way to flag which purchase summaries have been paid and which have open amounts. >Just salary, employee record, etc > Still a separate application that should be restricted to certain users. >What i need to do is simple, design an app for employees, finance sector, purchase, billing, bookkeeping etc. Ok there is not IT infrastructure in this firm, they have a group of workers just doing the manual input of data. so the ceo wants this data to interact with a program that can keep track of what is going in the company. > Is any part of the system already computerized? If not, and everything is being done on paper forms, the first step might be to replicate the manual procedures using the computer -- replace each paper form with an equivalent screen form and backing data store (files/database) {A purchase order would likely access many tables: customer, summary record, line item records, inventory...}. A better path would be to do systems analysis (use cases) to find out if there may be steps that aren't really needed, or others that can be improved. Producing fancy reports for the CEO may be the last thing you implement, as it relies upon having a stable database design, business logic, and data entry. -- Wulfraed Dennis Lee Bieber AF6VN wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.com/