ASTU Financial Sys Design Document

download ASTU Financial Sys Design Document

of 24

Transcript of ASTU Financial Sys Design Document

  • 8/2/2019 ASTU Financial Sys Design Document

    1/24

    0 | P a g e

    Table of Contents

    1. INTRODUCTION AND OVERVIEW .................................................................................................................... 1Project objective.................................................................................................................................. 1

    Scope of the project ................................................................................................................... 1

    Development tools used ..................................................................................................................... 1

    2.ARCHITECTURE VIEW OF THE SYSTEM ....................................................................................................... 2

    2.1 logical view ............................................................................................................................ 2

    2.2 process view ........................................................................................................................... 4

    2.3 implementation view .............................................................................................................. 5

    2.4 deployment view(physical view) ............................................................................................. 6

    3. detailed design ............................................................................................................................... 7

    4. sample user interface design and implementation code ................................................................ 10

    5. test scenario ................................................................................................................................ 16

    6. test plan....................................................................................................................................... 17

    7.reflection ...................................................................................................................................... 23

    8.reference ...................................................................................................................................... 23

  • 8/2/2019 ASTU Financial Sys Design Document

    2/24

    1 | P a g e

    1. Introduction and overviewProject objective

    The general object of the project is to change the manual way of doing jobsto be automated that can be used using computers and other automation

    machines.

    Save Accountants time taken to prepare payroll. Reduce the resource taken to do the manual jobs by changing it to be

    automated.

    Reduce the labor power needed for doing the manual job. Securing employees information (data). Protect authorized persons from accessing employees information (data).

    Scope of the project

    The scope of this project includes the following

    It creates and print payrolls based on the input given It creates and prints reports It creates and print Budget request It creates and print Budget allocation The system only runs on window based operating systems. The system is a desktop application

    Development tools used

    Modeling

    Enterprise architectureInterface design

    Microsoft visual basicDatabase design

    SQL Compact sever 3.5Additional tools used

    Microsoft office management Windows sniping tool Paint

  • 8/2/2019 ASTU Financial Sys Design Document

    3/24

    2 | P a g e

    2. Architectural views of the system2.1logical view

    Functional requirements:- The system should allow adding, modifying, and deleting data to/from thedatabase. The system should allow payroll accountant to update the database of

    employees.

    The system must be able to generate payroll based on the data it is fetched. The system allow user to print their document The system should restrict unauthorized users from accessing the database. The system should allow users to print reports.

  • 8/2/2019 ASTU Financial Sys Design Document

    4/24

    3 | P a g e

  • 8/2/2019 ASTU Financial Sys Design Document

    5/24

    4 | P a g e

    2.2 Process view

  • 8/2/2019 ASTU Financial Sys Design Document

    6/24

    5 | P a g e

    2.3 implementation view

    Component diagram

  • 8/2/2019 ASTU Financial Sys Design Document

    7/24

    6 | P a g e

    2.4 Physical view

    Deployment diagram

  • 8/2/2019 ASTU Financial Sys Design Document

    8/24

    7 | P a g e

    3. Detailed designGeneral account unit component:-

    This component has a login menu ,report menu, print menu, AcE payroll menu,

    AdE payroll menu, and CoE payroll menu .

    This unit is mostly responsible for issues related to Payment. Some of the issues

    are as following

    2. Paying salary for employees, non-caf students, etc.3. Preparing Payroll4. Preparing report to the budget unit, whether or not the allocated budget is

    spent for the desired purpose.

    This unit is composed of persons that have different responsibilities, they are

    stated as following

    Unit Head: - Head of the general accounts unit.

    Expenditure Accountant: - Rechecks documents approved by the united head.

    Cashier: - Prepares payments.

    Payroll Accountant: - Prepares payroll.

    Secretary: - Assist the unit head and other coworkers.

    Loan Accountant: - Responsible for issues related with loan.

    We have some classes for this component and we will discuss one class which is

    Academic Employee class (AcE) this class describes the payroll preparation for the

    academic employees in ASTU .

  • 8/2/2019 ASTU Financial Sys Design Document

    9/24

    8 | P a g e

    visbilty

    Attributes method

    visibility

    hidden Name: char Insert_Name() : void public

    hidden Salary: double Insert_salary():void public

    hidden

    Pension :double

    Insert_pension() :void public

    hidden Transport: int Insert_transport():void public

    hidden house allowance :

    double

    Insert_houseallowance(): void public

    hidden professional

    allowance: double

    Insert_proffessionalallowance() :void public

    hidden account no :int Insert_account_no() :void public

    hidden deductive

    allowance :double

    Insert_deductiveallowance():void public

    hidden Net_payable Calculate_net_payable() :void public

    hidden income tax :int Calculate_incometax() :void public

    hidden Gross_salary Calculate_gross_salary() :void public

    Project Finance Unit (component 2)

    The Project Finance component is responsible for issues listed as following

    Collect internal income like, Clearance, ID loose and repair, and penalty Approving and paying cost for different projects, like construction Preparing audit report for the budget unit. Issues related to Purchasing Checking PV(recite)

  • 8/2/2019 ASTU Financial Sys Design Document

    10/24

    9 | P a g e

    The component interfaces are

    clearance ID/meal card AU guest house Extension students Penalty Start page

    project finance unit classes :-

    AU_Guest_House Income_from students ID/meal card Extension students Clearance Login Report Database classes .we will focus on clearance class as an example

    Clearance class has :-

    - attributes: Name: student who pay for the clearance . data type is char ID no :student ID no. data type int

    Amount paid : the amount of money a student pay for the clearanceThe attributes of this class are hidden. Data typedouble

    Methods:

    Insert_Amount_Paid():void

    Insert_Name ():void

    Insert_ ID():void

    Visibility of this component methods are public.

  • 8/2/2019 ASTU Financial Sys Design Document

    11/24

    10 | P a g e

    4. sample user interface and implementation code

  • 8/2/2019 ASTU Financial Sys Design Document

    12/24

    11 | P a g e

    Sample login code

    Private Sub Button3_Click(sender As System. Object , e As System.EventArgs)

    Handles Button3.Click

    If GAUUserNameTextBox.Text = "general accountant" And

    GAUPasswordTextBox.Text = "expenditure accountant" And

    ExpeAccountantRadioButton.Checked Then

    PayrollTabControl.Visible = True

    GAULoginGroupPanel.Visible = False

    ElseIf GAUUserNameTextBox.Text = "legure accountant" And

    GAUPasswordTextBox.Text = "legure accountant" And

    LegureAccountantRadioButton.Checked Then

    PayrollTabControl.Visible = True

    GAULoginGroupPanel.Visible = False End If End Sub

  • 8/2/2019 ASTU Financial Sys Design Document

    13/24

    12 | P a g e

    Sample User interface #2

    Code

    // printer button

    Private Sub ButtonX2_Click(sender As System.Object, e As System.EventArgs)

    Handles ButtonX2.Click

    Dim Printer = New DGVPrinter

    If ConEmpMonthTextBox.Text = "" Then

  • 8/2/2019 ASTU Financial Sys Design Document

    14/24

    13 | P a g e

    MsgBox("Please Enter A Month!")

    ElseIf ConEmpYearTextBox.Text = "" Then

    MsgBox("Please Enter A Year!")

    Else

    Printer.Title = "Adama Science and Technology University"

    Printer.SubTitle = "Payroll for the Contract Employees " &

    "Month: " & ConEmpMonthTextBox.Text & " Year: " &

    ConEmpYearTextBox.Text & " E.c"

    Printer.SubTitleAlignment = StringAlignment.Center

    Printer.SubTitleFormatFlags = StringFormatFlags.LineLimit Or

    StringFormatFlags.NoClip

    Printer.PageNumbers = True

    Printer.PageNumberInHeader = False

    Printer.PorportionalColumns = True

    Printer.HeaderCellAlignment = StringAlignment.Near

    Printer.PrintPreviewDataGridView(Me.ConEmpDataGridView)

    End If

    End Sub

    ///report button

    Private Sub ButtonX3_Click(sender As System.Object, e As

    System.EventArgs) Handles ButtonX3.Click

    ConEmpReport.Visible = True

    End Sub

  • 8/2/2019 ASTU Financial Sys Design Document

    15/24

    14 | P a g e

    ///auto calculation

    Private Sub SalaryTextBox_TextChanged(sender As System.Object, e As

    System.EventArgs) Handles SalaryTextBox.TextChanged

    Dim salary, incometax, netpayable As Single

    salary = CDbl(Val(SalaryTextBox.Text))

    If salary 150 And salary 650 And salary 1400 And salary

  • 8/2/2019 ASTU Financial Sys Design Document

    16/24

    15 | P a g e

    IncomeTaxTextBox.Text = incometax

    netpayable = salary - incometax

    NetPayableTextBox.Text = netpayable

    ElseIf salary > 2350 And salary 3500 And salary 3500 Then

    incometax = salary * 0.35

    IncomeTaxTextBox.Text = incometax

    netpayable = salary - incometax

    NetPayableTextBox.Text = netpayable

    End If

    End Sub

  • 8/2/2019 ASTU Financial Sys Design Document

    17/24

    16 | P a g e

    5. Test scenarios

    Security scenario

    Verify username and password values

    Minimum characters 5

    Maximum characters 15

    Less than the minimum or more than the maximum is not allowed

    a-z and 0-9 are valid types to be entered

    expected outcomes after ok button :-

    valid and it leads to next window invalid username and password error message blank value error message

    senario2

    performance scenario adding a new employee the system display the new employee at the

    maximum throughput .

    add a new employee and delete the new employee the system shouldupdate its database efficiently and delete the employee details fatly.

    When Clicking the print button , if its correct data to be printed, thesystem display the printed document and invoke the file to the printer

    machine.

  • 8/2/2019 ASTU Financial Sys Design Document

    18/24

    17 | P a g e

    6. test plan

    6.1 Introduction

    test plan is A high-level document that defines a software testing project so that

    it can be properly measured and controlled. It defines the test strategy and

    organized elements of the test life cycle, including resource requirements,

    project schedule, and test requirements.

    The goal of this document is to develop a test plan for automated finance design

    system. This document defines all the procedures and activities required to

    prepare for testing of the functionalities of the system .

    The objectives of the test plan are to define the activities to perform testing,

    define the test deliverables documents and to identify the various risks and

    contingencies involved in testing.

    6.2 Features to be tested

    The software features that will be tested :-

    Login

    Add, delete, modify user from the data base

    Request budget

    print budget report

    documentation

    6.3 Features that will not be tested:-

    Reliability of the system

    Hardware requirements

    Scalability of the system

  • 8/2/2019 ASTU Financial Sys Design Document

    19/24

    18 | P a g e

    Mostly we can not test Nonfunctional requirements

    6.4 Environment requirements

    Hardware requirements

    Computer with the minimum requirement of 1gb RAM 80GB hard disk

    printer

    Software requirements

    Windows XP and later operating system

    .net frame work 3 or higher

    SQL compact server edition 3.5 or higher

    Junit

    6.5 Testing strategies

    Unit testing

    A unit in software development is the smallest piece of code that can be tested.

    Unit testing in this case will involve a detailed testing of the units of code that canbe tested within each component. The components are made up of classes and

    the classes are made up of methods which have decision outcomes. The Unit tests

    will be based on the decision outcomes of the methods in the classes. The

    expected results for each of the steps in the unit tests will be derived through a

    means independent of the application to be tested. A unit test passes, if all the

    unit test cases for each unit test pass their respective tests.

    Unit test the system by using the following unit test development strategy

  • 8/2/2019 ASTU Financial Sys Design Document

    20/24

    19 | P a g e

    Identify Unit Test Objectives and Pass-Fail Criteria Design the Tests, the Test Environment, and Operator Instructions Identify and Acquire the Unit Test Data Notes Identify How Long Each Unit Test Needs to Run Unit Test Coverage Strategies Code and Execute the Tests Analyze the Results

    Integration testing

    Integration testing covers the tests carried out when components of the systemthat are developed separately, are being systematically integrated to one another

    to complete the whole system. 4 components have been identified for this

    application. These are: budget unit component, general account unit component,

    project finance unit component and income generation unit Component.

    We use incremental integration technique .

    The 4 components will interact with each other in some cases such as when

    budget unit components want an approval from the general account unit

    component.

    When the general account unit head want to see the overall budget and audit

    report , in this case he must use the 3 components data.

  • 8/2/2019 ASTU Financial Sys Design Document

    21/24

    20 | P a g e

    Some test cases for integration testing

    Test case for

    budget officer

    Scenario validity Expected output

    Test case 1 User enters

    username and

    password

    valid Directs to the

    budget unit

    window

    Test case 2 User enters

    username and

    password

    invalid Invalid username

    and password

    displayed

    test case 3 Enter a special

    character

    invalid Error message

    displayed

    Test case 4 The user enters

    nothing and pressthe ok button

    invalid Please enter a

    username andpassword

    massage appear

    Test case 5 User logged in

    and use the

    system and if the

    system power is

    off

    Valid but

    unexpected

    shutdown

    The user must

    logged in again to

    use the system

    Test case 6 User logged in

    and close thewindow without

    logging out

    Valid and

    immediate close

    The system must

    close the accountas if the user

    were logged out

  • 8/2/2019 ASTU Financial Sys Design Document

    22/24

    21 | P a g e

    System testing

    The system test plan will cover tests at a higher level and will be more or less

    based on the testing of the steps in the Use Case description .This test is carried

    out when all the components must have been integrated and tested. Theexpected results for each of the steps in the Use Case description will be derived

    through a means independent of the application to be tested.

    We have some approaches of system testing this are:

    Performance test

    Tests are designed to determine the performance of the actual system compared

    to the expected one. Tests are designed to verify response time, execution time,

    throughput, resource utilization and traffic rate.

    We will examine end to end response time. CPU time. Database access time. Waiting time.

    Stress test

    The system is deliberately stressed by pushing it to and beyond its specified limits

    It ensures that the system can perform acceptably under worst-case conditions,

    under an expected peak load. If the limit is exceeded and the system does fail,

    then the recovery mechanism should be invoked

    Load and stability testing

    We will apply a large no of users for the system and run the system for a long

    period of time without restarting, a number of problems are likely to occur:

    the system slows down

    the system encounters functionality problems

    the system crashes altogether

  • 8/2/2019 ASTU Financial Sys Design Document

    23/24

    22 | P a g e

    Acceptance testing

    Acceptance testing as a subset of system testing is designed to demonstrate to

    the customer that the system generally meets requirements. It occurs when all

    the bugs found in the system testing have been cleared or a concession to ignorethem has been obtained from the customer. It ends when the acceptance test

    certificate is formally signed off by the customer.

    We will demonstrate acceptance testing by the following issues.

    Check that :-

    The system work.

    Major features of the system work.

    participants

    Customers of the system are the major participants of the acceptance testing .

    They will use the system and test whether the system satisfy their needs or not.

    And we will release a beta version for experts to give their suggestions about the

    system .

  • 8/2/2019 ASTU Financial Sys Design Document

    24/24

    23 | P a g e

    7. reflections

    This project gives as a detailed knowledge about software development

    processes. we get some knowledge about test strategies. How we can apply them

    on our system.

    8. Reference

    Software Quality Engineering - Testing, Quality Assurance and Quantifiable

    Improvement

    Software Quality Assurance From Theory to Implementation

    Auerbach.Manage.Software.Testing.Mar.2008-BBL

    Software Quality assurance lecture slides

    The element of UML style