Development Of A Student Payment System Computer Science Essay

Published: November 9, 2015 Words: 3591

Earlier than getting into sketch the diagram we want to build up the essential pseudo code for the specified question. If not it will be hard to find the components in functional list as well as condition list. Before sketch pseudo code we need to spot the entities that are going to participates. So they are,

StudentNo

Stu-Name

CourseFee

Paid

Balance

This is the pseudo code for the student payment system

Begin

Open the file

Read a record

Count=0 While Not EOF

If due>0 then

Print StudentNo, StName, Balance

Count=count+1

End if

Read a record

Display count

End

This is the example for the pseudo code. Here I have used Count to Count the number of students those who have outstanding balance for the course. With the help of this pseudo code following table is produced

Functional List

Condition List

Start

While NOT EOF

Open the file

{

Read a record

(1) if due>0 then

Count=0

{(5), (6)}

Print StudentNo, StuName, Balance

(3)

Count=count + 1

}

Display Count

Stop

This a functional and condition list table for the above mentioned scene. Under functions list refer what are the functions happened in the particular system. Condition list refer to finish the process what are the condition is going to use for the particular system.

With the help of the pseudo code and functional and condition list table we can create the structure diagram for the above mentioned scene.

STRUCTURE DIAGRAM FOR THE STUDENT PAYMENT SYSTEM



*

Begin

Body

End

Main

Main

Begin Body End

(1),(2),(3),(4) (1) (7),(8)

While



(3),(4),

IF(1)



(6),(5)

Structure Diagram(1.1)

This is the structure diagram for the student payment system. Here the structure contains main 4 parts. Those are Main, begin, body, and end.

Main: - Initiation of structure diagram

Begin: - It's refers what are the functions begin the process.

Body: - Conditions parts are coming under here.

End: - If the process finishes it will show the results

Task 1.2

i )

Pseudo codes for student marks system

Begin

Open the file

Read a record

While Not EOF

If marks ≥ 80

Displays "Distinction"

Else

if marks ≥ 60

Display "Credit"

Else

if marks ≥40

Display "Pass"

Else

Display "Fail"

End if

End if

End if

Read a record

End While

End

This is the pseudo code for the student marks system. First if condition gives the command for the system if mark is higher than 80 the grading should be Distinction. The second if statement refers if the mark is higher than 60 and lower than 80, the grading will be Credit. The third if statement refers if the mark is higher than 40 and lower than 60 is coming under grading call Pass. The final condition else refers balance marks are coming under Fail grading.

With the help of pseudo code we are going to create flow chart. Following sub task contain the flow chart for the student mark system

(ii)Flow Chart

Functions are draw by the order. When conditions symbols comes it will create two ways either it can be true or fall. If it's true the process is finish. If it's falls the rest of the condition may satisfy. When it's satisfying the condition process will be finish. Following is the flow chart for student marks system

if student marks ≥ 60

if Student marks ≥40

Display "fail"

Read the record

Display

"Pass"

Open the file

Read the record

While end of file

If Student marks ≥ 80

Close file

Yes

Yes

Yes

Exit

Credit

Display

"credit"

Display

"Distinction"

No

No

Yes

No

No

Task 1.3( Use case diagram)

Use case diagram

This following task we need to identify the actors those who are going to participate in the process. Followings are the terms use under the use case diagram

Actors: - they are the participants who create the process.

Box: - Box is a scope of the system which refers the system boundaries and limitations.

Sequence: - Sequence is the process details which goings to happen amongst the actors

Order System

Enquiry

Order

Client

Confirm order

Sales man

Payment

Issue invoice

Account clerk

Descriptions

Client : Place an order with sales person

Account clerk : when order confirmed he or she issue the invoice to the client

Sales man : Answer client enquiry and accept the order

Enquiry : Its made about the product by client to sales person

Order : Its made by client with the sales person

Confirm order : Its made by sales person with client and account clerk

Issue Invoice : Its produce by account clerk and issue to the client

Task 2.1(Benefits of documentation)

To achieve goals

Effective management requires the process being managed to be visible. Because software is intangible and the software process involves apparently similar cognitive tasks rather than obviously different physical tasks, the only way this visibility can be achieved is through the use of process documentation.

Process documentation falls into a number of categories:

Plans, estimates and schedules these are documents produced by managers which are used to predict and to control the software process.

Reports these are documents which report how resources were used during the process of development.

Standards these are documents which set out how the process is to be implemented. These may be developed from organizational, national or international standards.

Working papers these are often the principal technical communication documents in a project. They record the ideas and thoughts of the engineers working on the project are interim versions of product documentation, describe implementation strategies and set out problems which have been identified. They often, implicitly, record the rationale for design decisions.

Improve Communication

Memos and electronic mail messages these record the details of everyday communications between managers and development engineers. The major characteristic of process documentation is that most of it becomes outdated. Plans may be drawn up on a weekly, fortnightly or monthly basis. Progress will normally be reported weekly. Memos record thoughts, ideas and intentions which change. Although of interest to software historians, much of this process information is of little real use after it has gone out of date and there is not normally a need to preserve it after the system has been delivered. However, there are some process documents that can be useful as the software evolves in response to new requirements. For example, test schedules are of value during software evolution as they act as a basis for re-planning the validation of system changes. Working papers which explain the reasons behind design decisions (design rationale) are also potentially valuable as they discuss design options and choices made. Access to this information helps avoid making changes which conflict with these original decisions. Ideally, of course, the design rationale should be extracted from the working papers and separately maintained. Unfortunately this hardly ever happens.

Accountability

Documentation demonstrates accountability by:

-Identifying the care provider;

-Determining responsibility; and

-Contributing to legal proceedings.

Accountability answers the question, who did what and when? Documentation demonstrates a nurse's accountability and determines responsibility. It also resolves questions or concerns about the provision of

care. A user's documentation may be used in a legal proceeding, such as a lawsuit, coroner's inquest or a discipline hearing at the College.

To support end users

Users of a system are not all the same. The producer of documentation must structure it to cater for different user tasks and different levels of expertise and experience. It is particularly important to distinguish between end-users and system administrators:

1. End-users use the software to assist with some task. This may be flying an aircraft, managing insurance policies, writing a book, etc. They want to know how the software can help them. They are not interested

in computer or administration details.

2. System administrators are responsible for managing the software used by end-users. This may involve acting as an operator if the system is a large mainframe system, as a network manager is the system involves a network of workstations or as a technical guru who fixes end-users software problems and who liaises between users and the software supplier. To cater for these different classes of user and different levels of user expertise, there are at least 5 documents (or perhaps chapters in a single document) which should be delivered with the software system

2.2

Jackson Structured Programming

Jackson Structured Programming or JSP is a method for structured programming based on correspondences between data stream structure and program structure. The method is closely related in concept to creating a parser for a regular expression that describes the data stream structure, but tries to build a program structure that matches more than one data stream and provides guidance and techniques to compensate the limited look ahead and the clashes between the structures of the different data streams.

JSP was originally developed in the 1970s by IT consultant Michael A. Jackson and documented in his 1975 book Principles of Program Design. Jackson's aim was to improve the general standard of COBOL programming, but the method is still useful when coding with modern programming languages such as C and Perl. And while JSP was originally geared towards writing batch-style file processing programs, its principles are still useful when programming in the small, below the level where object-oriented methods become important.

As a method of programming, JSP is more straightforward than other structured methods, avoiding the leaps of intuition needed to successfully program using, say, top-down decomposition. And although it imposes a structure upon a program which improves its modifiability and maintainability, the structure is rather different from the type of structure advocated by Wirth, Dijkstra, et al.

The method

JSP uses semi-formal steps to capture the existing structure of a program's inputs and outputs in the structure of the program itself.

The intent is to create programs which are easy to modify over their lifetime. Jackson's major insight was that requirement changes are usually minor tweaks to the existing structures. For a program constructed using JSP, the inputs, the outputs, and the internal structures of the program all match, so small changes to the inputs and outputs should translate into small changes to the program.

JSP structures programs in terms of four component types:

* fundamental operations

* Sequences

* Iterations

* selections

The method begins by describing a program's inputs in terms of the four fundamental component types. It then goes on to describe the program's outputs in the same way. Each input and output is modeled as a separate Data Structure Diagram (DSD). To make JSP work for compute-intensive applications, such as digital signal processing (DSP) it is also necessary to draw algorithm structure diagrams -- something not envisioned by Jackson himself.

The input and output structures are then unified or merged into a final program structure, known as a Program Structure Diagram (PSD). This step may involve the addition of a small amount of high level control structure to marry up the inputs and outputs. Some programs process all the input before doing any output, whilst others read in one record, write one record and iterate. Such approaches have to be captured in the PSD.

The PSD, which is language neutral, is then implemented in a programming language. JSP is geared towards procedural languages which are not OO, such as Fortran, Pascal, Cobol, PL/1 and C. To a large degree JSP is not helpful for OO languages and declarative languages.

JSP uses a diagramming notation to describe the structure of inputs, outputs and programs, with diagram elements for each of the fundamental component types.

A simple operation is drawn as a box.

A box labeled 'A'

An operation

Sequence

A sequence of operations is represented by boxes connected with lines. In the example below, operation A consists of the sequence of operations B, C and D.

A box labeled 'A' connected to three boxes below it labeled 'B', 'C' and 'D'

A sequence

Iterations

An iteration is again represented with joined boxes. In addition the iterated operation has a star in the top right corner of its box. In the example below, operation A consists of an iteration of zero or more invocations of operation B.

A box labeled 'A' connected to a box labeled 'B' below it with a star in the top right corner

Iteration

Selection

Selection is similar to a sequence, but with a circle drawn in the top right hand corner of each optional operation. In the example, operation A consists of one and only one of operations B, C or D.

A box labeled 'A' connected to three boxes below it labeled 'B', 'C' and 'D' each with a circle in the top right hand corner

A selection

2.3

(i)

The purpose of the compiler is to translate the programs written in human readable language to machine language which is understandable to computer machine. A compiler reads instruction in the programs and translates it, if there is any error it also identify it and warns about it to user. The error could be typing mistake (syntax error) or a logical error. when all the erros are removed the instructions are sent to the computer for processing

For performing different task on the computer, a compiler is communication medium that translate source language into target language. Compiler allows the user to perform customized task on machine. Initially for writing compiler machine language was used. After some development assembly language and these days high level language are used for writing compiler. We need compiler because it allows us to communicate with hardware. It is also use to cover the "GAP" between Humans and the computer language. Computer can understand only one language that binary language consists of only two digits are 0 and 1.

Binary language is also called machine language. When there is only Machine Language then programmers write their compilers in this language. But it is very difficult and tedious job. The role of compiler is take source code written in high level language (Java, C++, VB.Net etc). The High Level Languages are easily understood by humans. So compiler converts the program written in formal language (Source language) into machine language (target language). As we know that computers can easily understand machine language. There are different programs related to compiler that works before compilation such as editor, preprocessor, assembler, linker or loader, debugger and profiler.

ii.

Interpreter tool

An interpreter is a computer program that executes other programs. This is in contrast to a compiler which does not execute its input program (the source code) but translates it into executable machine code (also called object code) which is output to a file for later execution. It may be possible to execute the same source code either directly by an interpreter or by compiling it and then executing the machine code produced.

An interpreter reads an executable source program written in a high level programming language as well as data for this program, and it runs the program against the data to produce some results. One example is the UNIX shell interpreter, which runs operating system commands interactively. The difference between interpreting and translation is only the difference in the medium: the interpreter translates orally, while a translator interprets written text. Both interpreting and translation presuppose a certain love of language and deep knowledge of more than one tongue.

SOURCE CODE

INTERPRETER

RESULTS

Interpreter reads the source code

The results appears on the screen

Figure: 2.3.1 - INTERPRETER

2.4

Syntax errors in java

...expected

The syntax of Java is very specific about the required punctuation. This error occurs, for example, if you forget a semicolon at the end of a statement or don't balance parentheses:

if (i > j // Error, unbalanced parentheses

max = i // Error, missing semicolon

else

max = j;

Unfortunately, this syntax error is not necessarily caught precisely at the point of the mistake so you must carefully check the preceding characters in the line or even in a previous line in order to find the problem.

Eclipse:

Syntax error, insert ") Statement" to complete IfStatement

Syntax error, insert ";" to complete Statement

Eclipse is more informative as to the precise syntax error encountered.

unclosed string literal

String literals must be enclosed in quotation marks.1 This error occurs if you fail to terminate the literal with quotation marks. Fortunately, the syntax of Java requires that a string literal appear entirely on one line so the error message appears on the same line as the mistake. If you need a string literal that is longer than a single line, create two or more literals and concatenate them with +:

String longString =

"This is first half of a long string " +

"and this is the second half.";

Eclipse: String literal is not properly closed by a double-quote In Eclipse you can write a string literal of arbitrary length and the environment will break the string and insert the + automatically.

illegal start of expression

Most programming constructs are either statements or expressions. This error occurs when an expression is expected but not found. In Java, an assignment statement is considered to be an expression which returns a value, so errors concerning expressions also apply to assignment statements.2 Examples:

An extra right parenthesis after the condition of an if-statement:

if (i > j) ) // Error, extra parenthesis

max = i;

Eclipse: Syntax error on token ")", delete this token3 Eclipse diagnoses this as a simple syntax error and does not mention expressions.

Forgetting the right-hand side of an assignment statement:

max = ; // Error, missing right-hand side

Eclipse: Syntax error on token "=", Expression expected after this token

not a statement

This error occurs when a syntactically correct statement does not appear where it should. Examples:

• Writing an assignment statement without the assignment operator:

• max ; // Error, missing =

Eclipse: Syntax error, insert "AssignmentOperator Expression" to complete Expression

• Misspelling else:

• if (i > j)

• max = i;

• els ; // Error, else not spelled correctly

The reason you do not get "else expected" is that you need not write an else alternative so this just looks like a bad statement.

Eclipse:

els cannot be resolved

Syntax error, insert "AssignmentOperator Expression" to complete Expression

The same identifier can be used in different methods and classes. An important task of the compiler is to resolve the ambiguity of multiple uses of the same identifer; for example, if a variable is declared both directly within a class and also within a method, the use of its unqualified name is resolved in favor of the local variable. This error message simply means that the compiler could not obtain an (unambiguous) meaning for the identifier els.

The following code:

if (i > j)

max = i;

els // Error, else not spelled correctly

max = j;

results in a weird error message:

x.java:6: cannot find symbol

symbol : class els

location: class x

els

The reason is that the compiler interprets this as a declaration:

els max = j;

and can't find a class els as the type of the variable max.

Eclipse: Duplicate local variable maxels cannot be resolved to a type These messages are more helpful: first, the use of the word type instead of class is more exact because the type of a variable need not be a class (it could be a primitive type or interface); second, the message about the duplicate variable gives an extra clue as to the source of the error.

The error can also be caused by attempting to declare a variable whose name is that of a reserved keyword:

void f() {

int default = 10;

}

Eclipse:Syntax error on token "default", invalid VariableDeclaratorId

Cannot find symbol

This is probably the most common compile-time error. All identifiers in Java must be declared before being used and an inconsistency between the declaration of an identifier and its use will give rise to this error. Carefully check the spelling of the identifier. It is easy to make a mistake by using a lower-case letter instead of an upper case one, or to confuse the letter O with the numeral 0 and the letter l with the numeral 1.

Other sources of this error are: calling a constructor with an incorrect parameter signature, and using an identifier outside its scope, for example, using an identifier declared in a for-loop outside the loop:

int[] a = {1, 2, 3};

int sum = 0;

for (int i = 0; i < a.length; i++)

sum = sum + a[i];

System.out.println("Last = " + i); // Error, i not in scope

Eclipse: ... cannot be resolved

... is already defined in ...

An identifier can only be declared once in the same scope:

int sum = 0;

double sum = 0.0; // Error, sum already defined

Eclipse: Duplicate local variable sum

array required but ... found

This error is caused by attempting to index a variable which is not an array.

int max(int i, int j) {

if (i > j) return i;

else return j[i]; // Error, j is not an array

}

Eclipse: The type of the expression must be an array type but it resolved to int

Semantic error

In programming, creation wrong places of coding, writing a valid programming structure with unacceptable logic. The compiler will generate instructions that the computer will execute, because it understands the syntax of the programming statements, but the production will not be correct.

Eg:-

Changing the event.

Figure1.2

Example Program in Microsoft Visual C++ Syntax Errors and Warnings Window