Sie sind auf Seite 1von 21

CONTENTS

I. II. III. IV. V. VI. VII.

INTRODUCTION SYSTEM ANALYSIS AND SPECIFICATION LANGUAGE DESCRIPTION DATA FLOW DIAGRAM SCREEN SHOTS CODING TESTING

VIII. CONCLUSION

INTRODUCTION
An income tax is a tax levied on the income of individuals or businesses (corporations or other legal entities). Various income tax systems exist, with varying degrees of tax incidence. Income taxation can be progressive, proportional, or regressive. When the tax is levied on the income of companies, it is often called a corporate tax, corporate income tax, or profit tax. Individual income taxes often tax the total income of the individual (with some deductions permitted), while corporate income taxes often tax net income (the difference between gross receipts, expenses, and additional write-offs). Various systems define income differently, and often allow notional reductions of income (such as a reduction based on number of children supported). The "tax net" refers to the types of payment that are taxed, which included personal earnings (wages), capital gains, and business income. The rates for different types of income may vary and some may not be taxed at all. Capital gains may be taxed when realized (e.g. when shares are sold) or when incurred (e.g. when shares appreciate in value). Business income may only be taxed if it is significant or based on the manner in which it is paid. Some types of income, such as interest on bank savings, may be considered as personal earnings (similar to wages) or as a realized property gain (similar to selling shares). In some tax systems, personal earnings may be strictly defined where labor, skill, or investment is required (e.g. wages); in others, they may be defined broadly to include windfalls The concept of taxing income is a modern innovation and presupposes several things: a money economy, reasonably accurate accounts, a common understanding of receipts, expenses and profits, and an orderly society with reliable records. For most of the history of civilization, these preconditions did not exist, and taxes were based on other factors. Taxes on wealth, social position, and ownership of the means of production (typically land and slaves) were all common. Practices such as tithing, or an offering of first fruits, existed from ancient times, and can be regarded as a precursor of the income tax, but they lacked precision and certainly were not based on a concept of net increase.

India Income tax slabs 2012-2013 for General tax payers


Income tax slab (in Rs.) 0 to 2,00,000 2,00,001 to 5,00,000 5,00,001 to 10,00,000 Above 10,00,000 Tax No tax 10% 20% 30%

India Income tax slabs 2012-2013 for Female tax payers


Income tax slab (in Rs.) 0 to 2,00,000 2,00,001 to 5,00,000 5,00,001 to 10,00,000 Above 10,00,000 Tax No tax 10% 20% 30%

India Income tax slabs 2012-2013 for Senior citizens (Above 60 years)
Income tax slab (in Rs.) 0 to 2,50,000 2,50,001 to 5,00,000 5,00,001 to 10,00,000 Above 10,00,000 Tax No tax 10% 20% 30%

Educational cess=3% of income tax Surcharge=10%of income tax

This project income tax computation helps people to calculate income tax easily. This project is done in c#.net. The details of the registered individuals are stored in the data base. A registered user can directly enter into the tax calculation page after login. A new user needs to register and after that the person is directed to the login page.in login page the user needs to enter their user name password and year of birth correctly. If the entered details are correct he/she will be directed to tax calculation page

SYSTEM ANALYSIS AND SPECIFICATIONS

SYSTEM ANALYSIS
System analysis is the process of gathering and interpreting facts, diagnosing problems and using the information to recommend improvements on the system. System analysis is a problem solving activity that requires intensive communication between the system users and system developers.

System analysis or study is an important phase of any system development process. The system is studied to the minutest detail and analyzed. The system analyst plays the role of an interrogator and dwells deep into the working of the present system. The system is viewed as a whole and the inputs to the system are identified. The outputs from the organization are traced through the various processing that the inputs phase through in the organization.

A detailed study of these processes must be made by various techniques like Interviews, Questionnaires etc. The data collected by these sources must be scrutinized to arrive to a conclusion. The conclusion is an understanding of how the system functions. This system is called the existing system. Now, the existing system is subjected to close study and the problem areas are identified. The designer now functions as a problem solver and tries to sort out the difficulties that the enterprise faces. The solutions are given as a proposal. The proposal is then weighed with the existing system analytically and the best one is selected. The proposal is presented to the user for an endorsement by the user. The proposal is reviewed on user request and suitable changes are made. This loop ends as soon as the user is satisfied with the proposal.

SYSTEM SPECIFICATIONS

PROCESSOR MANUFACTURER SYSTEM TYPE RAM KEYBOARD

: : : : :

INTEL CORE 2 DUO DELL 64BIT 3GB 86 KEYS

SOFTWARE SPECIFICATION

OPERATING SYSTEM FRONT END BACKEND

: : :

MICROSOFT WINDOWS 7 C#.NET MY SQL

LANGUAGE DESCRIPTION
C#[note 1] (pronounced cee sharp) is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines. It was developed by Microsoft within its .NET initiative and later approved as a standard by Ecma (ECMA-334) and ISO (ISO/IEC 23270:2006). C# is one of the programming languages designed for the Common Language Infrastructure. C# is intended to be a simple, modern, general-purpose, object-oriented programming language.[6] Its development team is led by Anders Hejlsberg. The most recent version is C# 4.0, which was released on April 12, 2010. Some notable features of C# that distinguish it from C and C++ (and Java, where noted) are: It has no global variables or functions. All methods and members must be declared within classes. Static members of public classes can substitute for global variables and functions. Local variables cannot shadow variables of the enclosing block, unlike C and C++. Variable shadowing is often considered confusing by C++ texts[which?]. C# supports a strict Boolean data type, bool. Statements that take conditions, such as while and if, require an expression of a type that implements the true operator, such as the boolean type. While C++ also has a boolean type, it can be freely converted to and from integers, and expressions such as if(a) require only that a is convertible to bool, allowing a to be an int, or a pointer. C# disallows this "integer meaning true or false" approach, on the grounds that forcing programmers to use expressions that return exactly bool can prevent certain types of common programming mistakes in C or C++ such as if (a = b) (use of assignment = instead of equality ==). In C#, memory address pointers can only be used within blocks specifically marked as unsafe, and programs with unsafe code need appropriate permissions to run. Most object access is done through safe object references, which always either point to a "live" object or

have the well-defined null value; it is impossible to obtain a reference to a "dead" object (one that has been garbage collected), or to a random block of memory. An unsafe pointer can point to an instance of a value-type, array, string, or a block of memory allocated on a stack. Code that is not marked as unsafe can still store and manipulate pointers through the System.IntPtr type, but it cannot dereference them. Managed memory cannot be explicitly freed; instead, it is automatically garbage collected. Garbage collection addresses the problem of memory leaks by freeing the programmer of responsibility for releasing memory that is no longer needed. In addition to the try...catch construct to handle exceptions, C# has a try...finally construct to guarantee execution of the code in the finally block, whether an exception occurs or not. Multiple inheritance is not supported, although a class can implement any number of interfaces. This was a design decision by the language's lead architect to avoid complication and simplify architectural requirements throughout CLI. C#, like C++, but unlike Java, supports operator overloading. C# is more type safe than C++. The only implicit conversions by default are those that are considered safe, such as widening of integers. This is enforced at compile-time, during JIT, and, in some cases, at runtime. No implicit conversions occur between booleans and integers, nor between enumeration members and integers (except for literal 0, which can be implicitly converted to any enumerated type). Any user-defined conversion must be explicitly marked as explicit or implicit, unlike C++ copy constructors and conversion operators, which are both implicit by default. Starting with version 4.0, C# supports a "dynamic" data type that enforces type checking at runtime only. Enumeration members are placed in their own scope. C# provides properties as syntactic sugar for a common pattern in which a pair of methods, accessory (getter) and mutator (setter) encapsulate operations on a single attribute of a class. No redundant method signatures for the getter/setter implementations need be written, and the property may be accessed using attribute syntax rather than more verbose method calls. Checked exceptions are not present in C# (in contrast to Java). This has been a

conscious decision based on the issues of scalability and version ability. [28] Though primarily an imperative language, since C# 3.0 it supports functional programming techniques through first-class function objects and lambda expressions.

DATA FLOW DIAGRAM

TAX CALCULATION

LOGIN

NEW USER

REGISTE R

SCREENSHOTS

Login

Register

TAX CALCULATION

CODING
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.Odbc; namespace WindowsFormsApplication8 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } string x; string y, z, y1; string male = "male"; string female = "female"; int x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14; OdbcConnection conn = new OdbcConnection("Dsn=incometax;database=incometax;option=0;port=0;server=localhost;uid= root"); private void button1_Click(object sender, EventArgs e) { OdbcCommand cmd = new OdbcCommand("Select username,password,gender from detail where username='" + txt1.Text + "'and password='" + txt2.Text + "'", conn); conn.Open(); OdbcDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { x = dr[0].ToString(); y = dr[1].ToString(); y1 = dr[2].ToString(); } conn.Close(); if (txt1.Text == x && txt2.Text == y) { MessageBox.Show("your r successfully logged in"); this.tabControl1.TabPages.Remove(this.tabPage1); this.tabControl1.TabPages.Add(this.tabPage3); } else { MessageBox.Show("invalid username or password"); } } private void button2_Click(object sender, EventArgs e) { this.tabControl1.TabPages.Remove(this.tabPage1);

this.tabControl1.TabPages.Remove(this.tabPage3); this.tabControl1.TabPages.Add(this.tabPage2); } private void Form1_Load(object sender, EventArgs e) { this.tabControl1.TabPages.Remove(this.tabPage2); this.tabControl1.TabPages.Remove(this.tabPage3);

} private void button3_Click(object sender, EventArgs e) { textBox25.Text = dateTimePicker1.Value.ToString(); if (radioButton1.Checked = true) { OdbcCommand cmd = new OdbcCommand("insert into detail(idno,name,username,password,contactno,address,gender,dob) values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + richTextBox1.Text + "','" + male + "','" + textBox25.Text + "')", conn); richTextBox2.Text = textBox1.Text + "\n" + textBox2.Text + "\n" + textBox3.Text + "\n" + textBox4.Text + "\n" + textBox5.Text + "\n" + male + richTextBox1.Text + "\n" + textBox25.Text; conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); }

else { OdbcCommand cmd = new OdbcCommand("insert into detail(idno,name,username,password,contactno,address,gender,dob) values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + richTextBox1.Text + "','" + female + "','" + textBox25.Text + "')"); richTextBox2.Text = textBox1.Text + "\n" + textBox2.Text + "\n" + textBox3.Text + "\n" + textBox4.Text + "\n" + textBox5.Text + "\n" + female + richTextBox1.Text + "\n" + textBox25.Text; conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); } } private void button7_Click(object sender, EventArgs e) { this.tabControl1.TabPages.Remove(this.tabPage1); this.tabControl1.TabPages.Remove(this.tabPage2); this.tabControl1.TabPages.Add(this.tabPage3); } private void button15_Click(object sender, EventArgs e)

{ Form2 frm = new Form2(); frm.Show(); this.Hide(); } private void button4_Click(object sender, EventArgs e) { textBox12.Enabled = true; textBox12.Text = (12 * (Int32.Parse(textBox7.Text)) + (12 * (Int32.Parse(textBox8.Text))) + (12 * Int32.Parse(textBox9.Text)) + (12 * Int32.Parse(textBox10.Text)) + (12 * Int32.Parse(textBox11.Text))).ToString(); } private void button5_Click(object sender, EventArgs e) { int a = 100000; int b = 15000; x1 = Int32.Parse(textBox12.Text); x2 = (12 * Int32.Parse(textBox13.Text)); x3 = (12 * Int32.Parse(textBox14.Text)); if (x1 <= a && x2 <= b && x3 <= b) { textBox15.Text = (x1 + x2 + x3).ToString(); } else if (x1 > a && x2 <= b && x3 <= b) { textBox15.Text = (a + x2 + x3).ToString(); } else if (x1 <= a && x2 > b && x3 <= b) { textBox15.Text = (b + x1 + x3).ToString(); } else if (x1 <= a && x2 <= b && x3 > b) { textBox15.Text = (15000 + x1 + x2).ToString(); } else if (x1 > a && x2 > b && x3 > b) { textBox15.Text = (a + b + b).ToString(); } else if (x1 > a && x2 > b && x3 <= b) { textBox15.Text = (a + b + x3).ToString(); } else if (x1 > a && x2 <= b && x3 > b) { textBox15.Text = (a + b + x2).ToString(); } else { textBox15.Text = (b + b + x1).ToString(); } } private void button14_Click(object sender, EventArgs e) { x4 = (12 * Int32.Parse(textBox6.Text)); x5 = (12 * Int32.Parse(textBox22.Text)); x6 = (12 * Int32.Parse(textBox23.Text)); x7 = (12 * Int32.Parse(textBox24.Text)); textBox21.Text = (x4 + x5 + x6 + x7).ToString();

} private void button8_Click(object sender, EventArgs e) { x8 = Int32.Parse(textBox15.Text); x9 = Int32.Parse(textBox21.Text); textBox16.Text = (x9 - x8).ToString(); } private void button9_Click(object sender, EventArgs e) { OdbcCommand cmd = new OdbcCommand("Select gender from detail", conn); conn.Open(); OdbcDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { z = dr[0].ToString(); } conn.Close(); x10 = Int32.Parse(textBox16.Text); z = textBox27.Text; x11 = Int32.Parse(textBox26.Text); if (z == male && x11 <= 1952) { if (x10 <= 200000) { textBox17.Text = "0"; textBox18.Text = "0"; textBox19.Text = "0"; } if (x10 > 200000 && x10 <= 500000) { double p = .1 * (x10 - 200000); textBox17.Text = p.ToString(); } if (x10 > 500000 && x10 <= 1000000) { double p = .2 * (x10 - 500000); textBox17.Text = p.ToString(); } if (x10 > 500000 && x10 <= 1000000) { double p = 30000 + (.2 * (x10 - 500000)); textBox17.Text = p.ToString(); } if (x10 > 1000000) { double p = 130000 + (.3 * (x10 - 1000000)); textBox17.Text = p.ToString();

} } if (z == female && x11 <= 1952) { if (x10 <= 200000) { textBox17.Text = "0"; textBox18.Text = "0"; textBox19.Text = "0"; } if (x10 > 200000 && x10 <= 500000) { double p = .1 * (x10 - 200000); textBox17.Text = p.ToString(); } if (x10 > 500000 && x10 <= 1000000) { double p = .2 * (x10 - 500000); textBox17.Text = p.ToString(); } if (x10 > 500000 && x10 <= 1000000) { double p = 30000 + (.2 * (x10 - 500000)); textBox17.Text = p.ToString(); } if (x10 > 1000000) { double p = 130000 + (.3 * (x10 - 1000000)); textBox17.Text = p.ToString(); } } if (x11 <= 1952) { if (x10 <= 250000) { textBox17.Text = "0"; } if (x10 > 250000 && x10 <= 500000) { double p = .2 * (x10 - 500000); textBox17.Text = p.ToString(); } if (x10 > 500000 && x10 <= 1000000) { double p = 30000 + (.2 * (x10 - 500000)); textBox17.Text = p.ToString(); } if (x10 > 1000000) { double p = 130000 + (.3 * (x10 - 1000000)); textBox17.Text = p.ToString(); }

} private void button6_Click(object sender, EventArgs e) { x12 = Int32.Parse(textBox17.Text); double q = .02 * (x12); textBox18.Text = q.ToString(); } private void button10_Click(object sender, EventArgs e) { x13 = Int32.Parse(textBox17.Text); double r = .1 * x13; textBox19.Text = r.ToString(); } private void button11_Click(object sender, EventArgs e) { x12 = Int32.Parse(textBox17.Text); x13 = Int32.Parse(textBox18.Text); x14 = Int32.Parse(textBox19.Text); textBox21.Text = (x12 + x13 + x14).ToString();

} } }

TESTING
SYSTEM TESTING
Testing is a set activity that can be planned and conducted systematically. Testing begins at the module level and work towards the integration of entire computers based system. Nothing is complete without testing, as it is vital success of the system.

Testing Objectives: There are several rules that can serve as testing objectives, they are 1. Testing is a process of executing a program with the intent of finding an error 2. A good test case is one that has high probability of finding an undiscovered error. 3. A successful test is one that uncovers an undiscovered error.

If testing is conducted successfully according to the objectives as stated above, it would uncover errors in the software. Also testing demonstrates that software functions appear to the working according to the specification, that performance requirements appear to have been met. There are three ways to test a program 1. For Correctness 2. For Implementation efficiency 3. For Computational Complexity.

Tests for correctness are supposed to verify that a program does exactly what it was designed to do. This is much more difficult than it may at first appear, especially for large programs.

Tests for implementation efficiency attempt to find ways to make a correct program faster or use less storage. It is a code-refining process, which reexamines the implementation phase of algorithm development. Tests for computational complexity amount to an experimental analysis of the complexity of an algorithm or an experimental comparison of two or more algorithms, which solve the same problem.

Testing Correctness

The following ideas should be a part of any testing plan: 1. Preventive Measures 2. Spot checks 3. Testing all parts of the program 4. Test Data 5. Looking for trouble 6. Time for testing 7. Re Testing

The data is entered in all forms separately and whenever an error occurred, it is corrected immediately. A quality team deputed by the management verified all the necessary documents and tested the Software while entering the data at all levels. The entire testing process can be divided into 3 phases 1. Unit Testing 2. Integrated Testing 3. Final/ System testing

UNIT TESTING
As this system was partially GUI based WINDOWS application, the following were tested in this phase 1. Tab Order 2. Reverse Tab Order 3. Field length 4. Front end validations In our system, Unit testing has been successfully handled. The test data was given to each and every module in all respects and got the desired output. Each module has been tested found working properly.

INTEGRATION TESTING
Test data should be prepared carefully since the data only determines the efficiency and accuracy of the system. Artificial data are prepared solely for testing. Every program validates the input data.

VALIDATION TESTING
In this, all the Code Modules were tested individually one after the other. The following were tested in all the modules 1. Loop testing 2. Boundary Value analysis 3. Equivalence Partitioning Testing

In our case all the modules were combined and given the test data. The combined module works successfully with out any side effect on other programs. Everything was found fine working.

OUTPUT TESTING
This is the final step in testing. In this the entire system was tested as a whole with all forms, code, modules and class modules. This form of testing is popularly known as Black Box testing or system tests.

Black Box testing methods focus on the functional requirement of the software. That is, Black Box testing enables the software engineer to derive sets of input conditions that will fully exercise all functional requirements for a program. Black Box testing attempts to find errors in the following categories; incorrect or missing functions, interface errors, errors in data structures or external database access, performance errors and initialization errors and termination errors.

CONCLUSION
The project report entitled "INCOME TAX COMPUTATION has come to its final stage. The system is very useful in this present day world. This project helps in computing taxes very easily. It consumes less time and helps people in computing taxes very easily.

Das könnte Ihnen auch gefallen