


        TTTTTTT
        T  T  T
           T
           T
           T
           T
           T
                EEEEEEE
                E
                E
                EEEEE
                E
                E
                EEEEEEE
                         M      M
                         MM    MM
                         M M  M M
                         M  MM  M
                         M      M
                         M      M
                         M      M
                                   EEEEEEE
                                   E
                                   E
                                   EEEEE
                                   E
                                   E
                                   EEEEEEE
                                            SSSSSSS
                                            S     S
                                            S
                                            SSSSSSS
                                                  S
                                            S     S
                                            SSSSSSS
                                                     CCCCCCC
                                                     C     C
                                                     C
                                                     C
                                                     C
                                                     C     C
                                                     CCCCCCC
                                                                AAA
                                                               AAAAA 
                                                              A     A
                                                              A     A
                                                              AAAAAAA
                                                              A     A
                                                              A     A     
                                                                      L
                                                                      L
                                                                      L
                                                                      L
                                                                      L
                                                                      L
                                                                      LLLLLLL


                     TEMESCAL Copyrighted 1988 by John Ellis   


                                TABLE OF CONTENTS


                                                               Page
       SECTION I - For Your Information
          COPYRIGHT NOTICE                                       3
          LIMITED LICENSE AGREEMENT                              3
          COPY PROTECTION                                        3
          LIMITED WARRANTY                                       3

       SECTION II - Introduction
          ABOUT THE SOFTWARE                                     4
          SINGLE STROKE vs MULTI STROKE ENTRY                    4
          UPDATES                                                4
          SUPPORT                                                4

       SECTION III - Getting started    
          MAIN MENU                                              5
          How to use TEMESCAL                                    5
          Counting Source Statements                             6
          Language Constant                                      6 
          Getting Started                                        6  
          Increasing A Programmers Efficiency                    7


       SECTION V APPENDIX
          SPECIFICATIONS                                        A-1
            FEATURES
            HARDWARE REQUIREMENTS                                
            REFERENCES
          OTHER SOFTWARE                                        A-2 




























       TEMESCAL - Software Development Tool                           Page - 2


       SECTION I - For Your Information

       COPYRIGHT NOTICE
                   COPYRIGHT 1988 John Ellis - All Rights Reserved
       The TEMESCAL software is Copyrighted by John Ellis. 
       This  software  is considered ShareWare.  Our definition  of  ShareWare 
       means that we will grant you,  a prospective user, a limited license to 
       use  this software.  If you like the software and wish to use  it,  you 
       must  purchase  a registered version just as you would  buy  any  other 
       software. If you know of others who may be interested in this software, 
       you  may  give them a copy for evaluations purposes.  No part  of  this 
       manual  may  be  reproduced,  transmitted,  transcribed,  stored  in  a 
       retrieval  system or translated into any language or computer language, 
       in any form or by any means, electronic, mechanical, magnetic, optical, 
       chemical,  manual or otherwise, without the prior written permission of 
       John Ellis.


                                       WARNING
       THE SOFTWARE AND THIS MANUAL ARE BOTH PROTECTED BY U.S.  COPYRIGHT  LAW 
       (TITLE  17 UNITED STATES CODE).  UNAUTHORIZED REPRODUCTION AND/OR SALES 
       MAY RESULT IN IMPRISONMENT OF UP TO ONE YEAR AND FINES OF UP TO $10,000 
       (17  USC 506).  COPYRIGHT OR LICENSE INFRINGERS MAY ALSO BE SUBJECT  TO 
       CIVIL LIABILITY.

       LIMITED LICENSE AGREEMENT
       The  Limited License Agreement that is granted to anyone who wishes  to 
       evaluate this software.  We think two months is a reasonable amount  of 
       time for an evaluation.  After the two month evaluation period, you are 
       expected  to  purchase a registered copy of TEMESCAL,  if you  find  it 
       useful.  If  you do NOT find it useful you are expected to  discontinue 
       its use. No other agreements are expressed or implied. 

       COPY PROTECTION
       This software is NOT copy protected, for your convenience. You may make 
       a  copy of this software for evaluation purposes.  The prospective user 
       is granted a limited license to evaluate this software. 
       We  are  experimenting  with  a number of  techniques  to  protect  our 
       software from thieves and those who would use this software  illegally. 
       Several  of  these techniques have been incorporated into the  software 
       package that you presently have.

       LIMITED WARRANTY
       THIS PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. THERE IS 
       NO WARRANTY, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO 
       THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A  PARTICULAR 
       PURPOSE.  THE  ENTIRE  RISK  AS TO THE QUALITY AND PERFORMANCE  OF  THE 
       PROGRAM IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE,  YOU (AND NOT 
       KONA  ENGINEERING  OR ANY AUTHORIZED DEALER) ASSUME THE ENTIRE COST  OF 
       ALL NECESSARY SERVICING, REPAIR OR CORRECTION

       FROM ALL OF THE ABOVE,  I hope that you have gotten the impression that 
       we are serious about protecting our software.  We,  of course, want you 
       to  use  and  enjoy  our software but we will NOT  tolerate  those  who 
       attempt to rip us off.




       TEMESCAL - Software Development Tool                           Page - 3


       SECTION II - Introduction

       ABOUT THE SOFTWARE
       In the beginning there was a computer.  Since that first day, there has 
       been the subject of programmer productivity.  Lines of source code  per 
       day was the means by which it was measured. 

       Analyzing  efficiency  factors,  technology constants and whether  they 
       deviate  from  the  mean by more than one  standard  deviation  is  all 
       academic,   unless   it   produces  a  tool  to  help  and/or   measure 
       productivity.  The  real  world bottom line is;  How can  I  produce  a 
       quality  program,  which meets the user's requirements in a  predefined 
       amount of time.
       Productivity   aids  are  generally  divided  into  three  very   broad 
       categories:  techniques  (like structured programming,  See SAP in  the 
       Reference  Section  of  the Appendix),  scheduling  packages  (to  help 
       control  development time),  and actual software packages (language and 
       debugging aids, etc).

       Our  program relates the following parameters in a Software Development 
       Project:				

          T)ime E)ffort M)anmonths E)fficiency S)ize C)ost A)nd L)anguage

       The  word TEMESCAL is not just an acronym it's also a real Indian  word 
       from the Creol tribe which describes a person who learns by watching.

       SINGLE STROKE vs MULTI STROKE ENTRY
       When a Single Stroke entry is requested, a single prompt character will 
       follow  the  prompt message.  See the "What's  your  Pleasure!"  prompt 
       message  on the MAIN MENU.  When a Multi Stroke entry is  requested,  a 
       string  of  asterisks  will  be  displayed.  The  number  of  asterisks 
       indicates the total number of characters allowed. An example of this is 
       found in the BUILD module when adding a new stock.


       UPDATES
       Updates  are  available  for  a nominal charge  of  about  25%  of  the 
       Registration Fee.  Do NOT call us for Updates,  If you are a Registered 
       Owner  we will notify you.  To receive an update,  you must send us the 
       Original  Disk (any other disk is unacceptable) that you received  from 
       us:  1) in a suitable diskette mailing envelope 2) with return  postage 
       included  and 3) a check,  cash or money order.  The most recent update 
       will  be  sent to you within 5 working days.  On  major  revisions,  an 
       additional charge maybe invoked! All registered owners will be notified 
       when updates are available.

       SUPPORT
       TEMESCAL  comes  with several support programs which  count  Executable 
       Source Statements in Assembly,  Basic and `C'.  We will be adding  add
       itional support programs for other languages in the vary near future.
       We support our software 100 percent.  If you are a registered owner  of 
       our software,  you can call or write us ANYTIME and we will really talk 
       to  you.  We will  answer your questions and assist you in any way that 
       we can.




       TEMESCAL - Software Development Tool                           Page - 4


       SECTION III  Getting Started

       Software  Development projects are notorious for getting bogged down in 
       unforeseen delays and costs.  The reason,  all too often,  is that they 
       are  planned  by  guesswork,  based  on  the  narrow  experience  of  a 
       particular  management  team.  TEMESCAL brings you  the  experience  of 
       thousands of development projects.  There is a more orderly approach to 
       planning  a software project and it's based on the so called  "software 
       equation".  The  "software  equation" was developed in the  70's  after 
       studying  over 800 "very large" development projects performed by  many 
       different  companies and Government Agencies.  The "software  equation" 
       has  been  improved  and  refined to include data  on  today's  popular 
       languages(such as ADA, C, Pascal, etc) and computers(8, 16 and 32 bit). 

       MAIN Menu:
       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
                                      TEMESCAL
                             A Software Development Tool
        -Operation -----------------------------------------------------
       | Language  | Select a Language and Set your Efficiency          |
       | ManHours  | How many people will be writing code               |
       | Source    | Number of Executable Source Statements             |
       | Time      | Total Project Hours, Beginning to End              |
       | Calculate | Recalculate                                        |
       | Help      | Many Help Screens                                  |
        ----------------------------------------------------------------

              What's Your Pleasure?  _  <RET> to Exit


                                     ManHours    Total Time  Source Statement
     Language/Constant/Efficiency   # of People     Hours      Lines of Code
     Aztec C - 7.50   - .34(34%)       1.0          60.7          600.0

                                                                             

       What to calculate  _  <RET>



       TEMESCAL Version 4.1 Copyrighted John Ellis 1988 - All Rights Reserved
       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
                                    Figure III-1
  

       How to use TEMESCAL 
       With TEMESCAL you can:
        (1) Compare a change in development time for a corresponding change 
            in the number of man-months needed for a development project.
        (2) Evaluate the development time required in  a  software  project
            when different languages or different efficiencies are used.
        (3) Calculate  the  efficiency  of  each and  every  programmer and 
            monitor their productivity as the project progresses.
        (4) If you have  a  deadline to meet, you can  calculate the number 
            and efficiency level of the programmers required to meet it.




       TEMESCAL - Software Development Tool                           Page - 5


       Counting Source Statements
       The  number  of  executable source statements comes very close  to  the 
       number of lines of source code when your considering assembly language. 
       Since a source statement in one language may produce more machine  code 
       than a source statement in another language,  its clear that a language 
       constant MUST be considered.
       The  alternative  to the language constant is using the amount of  code 
       produced as the measuring stick.
       Since  I feel obligated to define "Executable Source Statement" if  for 
       no other reason than to create controversy.
       AN "Executable Source Statement" is any source statement which  creates 
       machine code. That seems simple enough!!

      
       Examples of NON Executable Source Statements:
           In ADA, some are;
               procedure, begin, end, etc 
           In `C', some are;
               {, }, begin, end, etc
           In BASIC, some are;
               DEF FN, END DEF, etc
       Things  which create storage space are not considered to create machine 
       code)
           In ADA, some are;
               declarations:, etc    
           In `C', some are;
	       #define, comments, dim, char, int, float, etc.
           In BASIC, some are;
               DIM, REDIM, SHARED, REM, ', etc
       This  should probably be changed to LINES of SOURCE Code which can then 
       be plugged into a formula to get approximate Size in Kilobytes. 
       Example, 100 lines of code in Assembly Language would compile down to 
       more bytes than 100 lines of C code. Therefore Assembly is more 
       efficient than C as a language. Can you believe I said that! 

       LANGUAGE CONSTANT
       The Language Constant is developed from the number of Executable Source 
       Statements necessary to perform a given task. Some languages are more 
       efficient at certain tasks than others.

       STARTING TEMESCAL
       When you see the DOS prompt A>, Type in "TEM"  then hit <RET>
       The Main Menu will appear on the screen.
       In the box at the top of the screen (See Figure III-1),  you'll see the 
       7 Operations listed along with a brief description of what each does.
       Below  the  long  box  is  the prompt  line  which  says  "What's  Your 
       Pleasure?"  followed by the blinking cursor which is followed by <RET> 
       to Exit to DOS.
       1st   Enter L to Select the Language Operation
       2nd   Enter 1 to Select AZTEC C
       3rd   Enter 34 when asked "What is your Efficiency"
       4th   Enter C to select the Calculate Operation
       The  Calculate  Options  will appear on the Screen below  the  previous 
       prompt line!
             Enter T to select the Time calculation!




       TEMESCAL - Software Development Tool                           Page - 6


       This is what you should see on the screen!

       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
                                      TEMESCAL
                             A Software Development Tool
        -Operation -----------------------------------------------------
       | Language  | Select a Language and Set your Efficiency          |
       | ManHours  | How many people will be writing code               |
       | Source    | Number of Executable Source Statements             |
       | Time      | Total Project Hours, Beginning to End              |
       | Calculate | Recalculate                                        |
       | Report    | Report for Proposal or Customer                    | 
       | Help      | Many Help Screens                                  |
        ----------------------------------------------------------------

                   What's Your Pleasure?  _  <RET> to Exit to DOS


                                     ManHours    Total Time  Source Statement
      Language/Constant/Efficiency   # of People     Hours      Lines of Code
      Aztec C - 7.50   - .34(34%)       1.0          60.7          600.0

                                            C - Constant for Language used   
                                            E - Efficiency at Language used
       What to calculate  _  <RET> to Menu  M - Manhours, # of People
                                            S - Source Statements
                                            T - Time to write program


       TEMESCAL Version 4.1 Copyrighted John Ellis 1988 - All Rights Reserved
       .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  
                                    Figure III-2


       We  have selected AZTEC C as the language and said that our  efficiency 
       with  AZTEC C is 34% and then we choose to calculate the time  required 
       to write a 600 source statement program.  You will see that we now have 
       60.7 hours.

       Going back to the long box at the top of the screen( Hit Return).
       If you have a Color monitor, you will notice the the first letter of 
       each of the modes is highlighted(a different color than the rest of the 
       word). If you don't have a color monitor, you only need to hit the 
       first letter of the word inorder to enter that mode. See Single Stroke 
       vs Multi Stroke Entry in Section II.

       Try  changing  the Language to BASIC,  using the same efficiency  (34%) 
       even  though it may be different for BASIC.  How long does it take  to 
       write the same 600 lines in BASIC.

       Now try adding a second programmer to help you write code! What happens 
       to the time required to write the 600 lines of code.







       TEMESCAL - Software Development Tool                           Page - 7


       Increasing a Programmers Efficiency

       There are many ways to improve a programmers efficiency.
       Some relatively inexpensive ways include:
       1)  Separate  programmers into their own offices  that  are  relatively 
       sound  proof.  This  will increase their concentration and reduce  idle 
       chit chat with their neighbors.
       2)  Eliminate the piped in music to the programmers rooms and eliminate 
       all radios.
       3) Establish several quite periods when NO outside calls will be trans
       fered to programmers. Like 10 to 12am and again 1pm to 4pm
       4)  Meeting should be scheduled during NON quite periods,  like 9am  and 
       4pm.
       5)  Lunch  time informal meetings(bull  sessions),  where  the  company 
       brings  in sandwiches,  pizza or buffet.  Project managers should  talk 
       about  where  the  company  stands with its  projects  and  what  their 
       projects  mean to the company.  The program managers should  listen  to 
       what  the programmer have to say about their problems and what could be 
       done to improve things.


       The next least expensive ways include:

       1)  Periodic testing of programmers inorder to measure their efficiency 
       with incentive bonuses to those who improve their efficiency at  least 
       two points.  Two points gets a minimum bonus; Three points get a bigger 
       bonus;  Four points even bigger! Make sure the efficiencies are based on 
       improved code production and not on use of additional tools or function 
       previously written.

       2) Give awards, wall plaques, etc at the lunch time informal meetings

       3)  Assign  several of your best programmers as tutors  and  have  them 
       spend  1  or  2 hours per week with new programmers to help  bring  him 
       along.
























       TEMESCAL - Software Development Tool                         Page - 8


       SECTION V - Appendix

       SPECIFICATIONS - for TEMESCAL
           A Tool for Planning or Managing Software Development Projects

       FEATURES
         Compare Development cost using different Languages
            Calculate the Manpower required to meet a Schedule
               Software Development, Measurement of Performance
                  Measure your Individual or Companies performance
                     Menu driven and Single stroke commands
                        Evaluate Programmer Productivity
                           Numerous Help Screens
                              Cost Estimating

       Software  Development projects are notorious for getting bogged down in 
       unforeseen delays and costs.  The reason,  all too often,  is that they 
       are  planned  by  guesswork,  based  on  the  narrow  experience  of  a 
       particular  management  team.  TEMESCAL brings you  the  experience  of 
       thousands of development projects.  There is a more orderly approach to 
       planning  a software project and it's based on the so called  "software 
       equation".  The  "software  equation" was developed in the  70's  after 
       studying  over 800 "very large" development projects performed by  many 
       different  companies and Government Agencies.  The "software  equation" 
       has  been  improved  and  refined to include data  on  today's  popular 
       languages(such as ADA, C, Pascal, etc) and computers(8, 16 and 32 bit). 
       With TEMESCAL you can:
        (1) Compare a change in development time for a corresponding change 
            in the number of man-months needed for a development project.
        (2) Evaluate the development time required in  a  software  project
            when different languages or different efficiencies are used.
        (3) Calculate  the  efficiency  of  each and  every  programmer and 
            monitor their productivity as the project progresses.
        (4) If you have  a  deadline to meet, you can  calculate the number 
            and efficiency level of the programmers required to meet it.

       The Languages presently supported by TEMESCAL are Ada,  Assembly, BASIC 
       (interpreter and compiler),  C, COBOL, Forth, Fortran, Modula-2, Pascal 
       and PL1. More languages will be added as we have data. TEMESCAL is menu 
       driven,  uses  single  stroke  commands and windows to  make  it  fast, 
       responsive and easy to use. If you plan or manage any software project, 
       you need this program!

       HARDWARE REQUIREMENTS
       TEMESCAL runs on ANY IBM PC/XT/AT or compatible with PC/MS-DOS Vers 2.1 
       up. It requires only a single Floppy Disk drive and only 256k of memory 
       and an 80 column printer. Dual Disk drives or a Hard Disk are optional.
        
       REFERENCES
       1. SAP - Structured Application Programming by John G. Ellis; App Note 
          #8, John Ellis 1985.
       2. Software Programmer Productivity;  Technical Report N87-41; Defense 
          Technical Information Center, Alexandria, VA.
       3. A Methodology for the Analysis of Programmer Productivity and Effort 
          Estimation by J.D. Fernandez; May 84;Air Force Institute of 
          Technology,Wright-Patterson AFB, OH.
       4. The Software Equation by J.G. Ellis; App Note #13, John Ellis 1986
       5. A Comparison of RADC and NASA/SEL Software Development Data; Report 
          TM-1; Data and Analysis Center for Software; Griffiss AFB, NY.
       TEMESCAL - Software Development Tool                    APPENDIX  A - 1
        

       OTHER SOFTWARE

       HOME type Software
       ------------------
         PREGNANT - A Pregnancy Planning tool                   $35.00
       PREGNANT  was  orginally designed asa tool to help woman with  unstable 
       menstrual cycles to get pregnant. The results of this study showed that 
       PREGNANT was a very useful Pregnancy Planning Tool.  If your willing to 
       devote about one minute a day,  you can get off the pill and still have 
       complete control over your ability to GET or NOT GET preganant.

         UTILITY  - Save on your Utility bills                  $20.00
       A  very versatile program that helps you check your utility  bills  for 
       accuracy  or split the costs among people living in your household.  If 
       your  interested  in  energy  savings,  you  can   monitor  your  daily 
       electric,  gas or water consumption.  You can also calculate the energy 
       used by each appliance in your home.

         DIET - A Nutrition program                             $45.00
       This is a complete program for dietary control.  Over 1200 foods in the 
       data base. Add more foods, even create your own receipts and place then 
       in the foood file. Get complete control of your daily nutrition. A very 
       excellent program for dieters or those on restricted diets.

       BUSINESS type Software:
       -----------------------
         RETAIL - A Retail store program                        $45
       A complete inventory control system for any retail store. Includes Cash 
       Register,  Automatic Purchase Order, Lay Away and accounting modules. A 
       must for ANY retail store!

         TAB - Time, Analysis and Billing                       $40
       Anyone who charges by time for a job needs this program.  Excellent for 
       Consultants,  Lawyers,  and Programmers who charge their customers  for 
       their time.

       PROGRAMMING Tools:
       ------------------
         TEMESCAL                                               $35.00 
       A  tool for Planning and  Managing Software Development  Projects.  For 
       the beginner and the professional alike. Calculate your efficiency in a 
       certain  language.  Calculate the time required to write a program  and 
       then compare it with the time required in another language.  Comes with 
       programs to count executable source statements in several languages.

         BASIC Tutorial                                         $40.00
       This  is a collection of BASIC programs and BASIC FNfunctions  for  use 
       with  most flavors of BASIC.  This tutorial comes with a 3 ring  binder 
       and approx. 150 pages

         C Tutorial                                             $40.00
       This  is  a  collection of C programs and functions for use  with  most 
       flavors  of C.  This tutorial comes with a 3 ring 8-1/2 x 11 x 2 binder 
       and approx 150 pages of good programming examples.  Learn by  examining 
       how the experts do it. 

                        Write for a Complete List of Software


       TEMESCAL - Software Development Tool                    APPENDIX  A - 2
