You are on page 1of 62

Final Project Report

<< Statistical

Analyzer for Data Manipulation


>>

Project Supervisor << Muhammad Adnan Ashraf >> Submitted By << F1102C7431>> <<Nazma Ashraf>> <<MC100401698@vu.edu.pk>>

Software Projects & Research Section, Department of Computer Sciences, Virtual University of Pakistan

CERTIFICATE
Nazma Ashraf >> (<<MC100401698@vu.edu.pk >>) have worked on and completed
This is to certify that << their Software Project at Software & Research Projects Section, Department of Computer Sciences, Virtual University of Pakistan in partial fulfillment of the requirement for the degree of MCS in Computer Sciences under my guidance and supervision. In our opinion, it is satisfactory and up to the mark and therefore fulfills the requirements of MCS in Computer Sciences.

Supervisor / Internal Examiner


<< Muhammad Adnan Ashraf >> Supervisor, Software Projects & Research Section, Department of Computer Sciences Virtual University of Pakistan ___________________ (Signature)

External Examiner/Subject Specialist


<<External Supervisor Name>> ___________________ (Signature)

Accepted By: _____________

(For office use)

EXORDIUM

In the name of Allah, the Compassionate, the Merciful. Praise be to Allah, Lord of Creation, The Compassionate, the Merciful, King of Judgment-day! You alone we worship, and to You alone we pray for help, Guide us to the straight path The path of those who You have favored, Not of those who have incurred Your wrath, Nor of those who have gone astray.

DEDICATION I am dedicating my work T Virtual University of Pakistan Who Provided me Quality Education at my Doorstep And made me able and gave me confidence to work on this project If the Virtual University were not established, The higher and quality education would have been just a dream for me and my talent would have rusted out

ACKNOWLEDGEMENT I express my gratitude To All the Staff of Virtual University of Pakistan For their Great Management I also express my special gratitude To All Great Professors for getting video lectures recorded. They provided us an opportunity to be a student of Highly Qualified and Experienced Teachers. May Allah Bless and Prosper VU And May Allah Bless and Prosper Pakistan

PREFACE

This is a final report for my project. It consists of five chapters. The first chapter is named as Gathering and Analyzing Info. The introduction, scope, and purpose of the project have been described. Functional requirement, use case diagrams and use case scenarios have also been given The second chapter is named Planning the Project. It describes work plan for the project. It describes different software development methodologies and the methodology that has been chosen for this project The third chapter is named as Designing the Project. It explains different design diagrams for this project such as sequence diagrams, class diagrams, database diagrams, development diagrams and deployment diagrams etc The fourth chapter explains the development plan and the fifth chapter explains the deployment plan.

TABLE OF CONTENTS

CHAPTER NO. 1 GATHERING & ANALYZING INFO.........................................10 1.1 INTRODUCTION 1.2 1.3 1.4 1.5
PURPOSE SCOPE DEFINITIONS, ACRONYMS AND ABBREVIATIONS USE CASES AND USAGE SCENARIOS

1.5.1 Use Case Diagrams 1.5.2 Usage Scenarios 1.6


SUPPLEMENTARY REQUIREMENTS

1.6.1 Usability 1.6.2 Reliability 1.6.3 Supportability 1.6.4 System Requirements

CHAPTER NO. 2 PLANNING THE PROJECT....................................................21 2.1 INTRODUCTION 2.2 METHODOLOGY AVAILABLE METHODOLOGIES CHOSEN METHODOLOGY REASONS FOR CHOSEN METHODOLOGY WORK PLAN PROJECT STRUCTURE

2.3.1 2.3.2

Team Structure Project Schedule (Submission Calendar)

CHAPTER NO. 3 DESIGNING THE PROJECT...................................................38 3.1 INTRODUCTION 3.2 3.3


PURPOSE SCOPE

DEFINITIONS, ACRONYMS AND ABBREVIATIONS

ARCHITECTURAL REPRESENTATION (ARCHITECTURE DIAGRAM) DYNAMIC MODEL: SEQUENCE DIAGRAMS OBJECT MODEL/LOGICAL MODEL: CLASS DIAGRAM DEPLOYMENT MODEL (DEPLOYMENT DIAGRAM) DATABASE MODEL (DATABASE DIAGRAM) GRAPHICAL USER INTERFACES

CHAPTER NO.4 DEVELOPMENT..................................................................59 4.1 DEVELOPMENT PLAN (ARCHITECTURE DIAGRAM)

CHAPTER NO.5 DEPLOPYMENT..................................................................61 5.1 DEPLOYMENT PLAN (DEPLOYMENT DIAGRAM)

Gathering & Analyzing Info

CHAPTER 1

Introduction
Statistical analyzer for data manipulation is a web based application. There are three users involved in this application that are administrator, data entry operator and data analyst. It is web based application thats why it can be available at anywhere. The data may be provided in two ways by extracting excel sheets and by entering data in forms and it is transformed into normalize database. Excel sheets contains data of various countries. And based on various indicators the economic progress of any country could be analyzed. The roles and responsibilities of Data administrator is the management of users and data ie to manage and create new users and to collect, update, delete, import and extract data from the excel sheets. Data entry operator will enter data. And data analyst will analyze data and then perform necessary calculations and then provide graphical representation of data in the form of charts and graphs. This application has any benefits including faster transformation of data into normalized database. It allows many users to use the data at a time. It helps to save the results for future use and reports after analysis helps to make strategies for future development.

Purpose
The basic purpose of this application is to manipulate the data provided in the excel sheets and then transformed that data into normalized database. And then the analysis of data becomes easy. And then based on the analysis reports future strategies for economic development of the country could be made. The project plays a major role in economic development of any country because it contains data of different countries in the form of excel sheets and the user can check and analyze the data related to certain indicator at any time to see what is happening in the economic world and can make business plans and strategies for future development. The main objectives of statistical analyzer are as follows. It should provide a total view of a problem in an organization of a specific country And then after problem identification strategies should be devised to solve these problems that are hurdle in the development of a country. To achieve this goal the requirements are as follow: 3 A web based application Form for data entry GUI for extracting excel sheet GUI for data manipulation GUI for data analysis.

Scope
The project focus on developing a web application that will manipulate the data provided in the excel sheets and then transform that data into normalized database. The project plays a major role in economic development of any country because it contains data of different countries in the form of excel sheets and the user can check and analyze the data related to certain indicator at any time to see what is happening in the economic world and can make business plans and strategies for future development. This project has a greater scope in todays world because it provides a fast transformation of data from excel sheets to normalize database by just clicking on a transform button. It contains excel sheets having a huge amount of data of different countries over a specified period of time and of various indicators. The users of this system can collect the required data of a specific indicator or country on quarter year or yearly basis and then manipulates that data by performing certain statistical calculations like mean variance etc. They can also make statistical charts and graphs like pie charts bar graph histogram etc as per user requirements. The application will also be able to calculate the total figures of various indicators mentioned in different countries and specified time period. The data forms are available and the user can enter data in a required layout or format and also the user can filter data according to the name of the columns and number of rows. It is the duty of administrator to collect and transform data into database. There is a proper login management process for each individual type of user. So it does not allow unauthorized person to access the data. And finally we normalized the data according to various constraints and then develop a normalized database Then you will have to just select the data columns from the excel sheet and table of database where you have to transform the data and press transform button. Rest of the queries will work in background. We can analyze the data of a specific country and then calculates the values of a certain indicator over a certain time period and also we can filter data of any country and any indicator.

Administrator has a full control over the applications and he monitors all the activities of data entry operator and data analyst. While DEO only enters the data and data analyst can perform graphical chart generation and report generation on the data.

Definitions, Acronyms and Abbreviations


Definitions, Acronyms, and Abbreviations are not used in this document

Use Cases and Usage Scenarios Use Cases Administrator

Log in
*

C ollect D ata
*

* * * **

U pdate D ata M anage users Log out

A instrator dim

Data Entry Operator

L gin o
*

* * * *

E te d ta n r a

D tae tryo e te a n p ra r

L go t o u

Data Analyst

L gin o
*

* * * * *

P rfo e rm c lc la n a u tio s Mk g p s a e ra h

D taA a s a n ly t

L go t o u

Usage Scenarios
Use Case Scenario
Use Case Title Login

Abbreviated Title Use Case Id Actors Description

Login Use_Case_1 Administrator, Data entry operator, Data Analyst This use case performs necessary user authentication in order to give

access to the user to required information. Pre Conditions User Name and Password. Task Sequence Exceptions 1. User enters the id and password

2. If the data values are incorrect.


Exception 1 3. Use case ensures the hierarchy of access level set by Administrator. 4. On different hierarchy different form and fields be visible to different user. 5. Some data be there for only viewing but for not manipulation operations on access bases 6. If user is not in certain hierarchy Exception 2 7. After verifications of password and hierarchy system gives a go ahead to the user. 8. Use case ends. Post Conditions: Unresolved Issues: Authority: Modification History: Author: Description: Nazma Ashraf (mc1000401698) This use case performs necessary user authentication in order to give access to the user to required information. 2: User does not have enough rights to view the information, system displays appropriate message User has successfully login to the system. Administrator 1: User does not exist, system displays appropriate message.

Use Case Title Abbreviated Title Use Case Id Actors Description Pre Conditions Task Sequence

Collect Data Collect data Use_Case_2 Administrator The user can collect required data Access to required data. Exceptions N/A

1. user can search for required data


2. user can collect necessary data

3. user can organize collected data 4. Use case ends


Post Conditions: Unresolved Issues: Authority: Admin has successfully collected data Administrator

Modification History: Nazma Ashraf (mc100401698) Author

Use Case Title Use Case Id Actors Description Pre Conditions Task Sequence

Update and manage data Use_Case_3 Administrator User can update and delete data Access to the database Exceptions

1. user can delete data 2. user can update data by extracting excel sheets
Exception 1

1. User can only extract excel


sheets.

3. User can update data using forms


Exception 2

2. Data type mismatch

4. Use case ends Post Conditions: Unresolved Issues: Authority:

Admin has successfully managed data Administrator

Modification History: Nazma Ashraf (mc100401698) Author

Use Case Title Abbreviated Title Use Case Id Actors Description Pre Conditions Task Sequence

Manage User(s) Manage User(s) Use_Case_4 Administrator Admin can manage users for data entry operator and data analyst. Access to required users. Exceptions

5. Access to required users 6. Manage users account 7. Delete unknown user data. 8. Use case ends
Post Conditions: Unresolved Issues: Authority: Admin has managed successfully users Administrator N/A

Modification History: Author: Description: Nazma Ashraf (mc100401698) Admin can manage users for data entry operator and data analyst.

Usage Scenarios for Data entry operator


Use Case Title Use Case Id Actors Enter Data Use_Case_5 Data entry operator

Description User can enter data in a required format and save into the database Pre Conditions Access to the database Task Sequence Exceptions 1. User can enter data

Exception 1
2. User can save data into the database 1. Data type mismatch

3. Use case ends


Post Conditions: Unresolved Issues: Authority: Entry operator has successfully entered data into the system Data entry operator

Modification History: Author: Description: Nazma Ashraf (mc100401698) User can enter data in a required format and save into the database

Usage Scenarios for Data Analyst


Use Case Title Use Case Id Actors Description Perform calculations Use_Case_6 Data Analyst User can analyze data and perform necessary statistical calculations

on that data. Pre Conditions Access to all the data saved in the database Task Sequence Exceptions 1. User can see the whole data but can not modify or delete it. 2. User can perform different calculations 3. User can save the results of the calculations for future use.

4. Use case ends


Post Conditions: Unresolved Issues: Authority: User has successfully performed calculations and saved the results into the database. Data Analyst

Modification History: Author: Description: Nazma Ashraf (mc100401698) User can analyze data and perform necessary statistical calculations on that data.

Use Case Title

Make Graphs

Use Case Id Actors

Use_Case_7 Data Analyst

Description User can make graphs Pre Conditions Access to all the data saved in the database Task Sequence Exceptions 1. User can see the whole data but can not modify or delete it. 2. User can make graphs Exception 1 1. Graphs can not be made on this type of data or data is not enough for making graphs

3. Use case ends


Post Conditions: Unresolved Issues: Authority: User has successfully made graphs Data Analyst

Modification History: Author: Description: Nazma Ashraf (mc100401698) User can make graphs

Supplementary Requirements Usability


Usability is the ease of use and learn-ability of a human-made object. The object of use can be a software application, website, book, tool, machine, process, or anything a human interacts with. Statistical analyzer for data manipulation should be user friendly. The things which would be in user use should be properly defined and documented.

Reliability
Reliability can be defined as the strength or the solidity or the rigidity of structure of the software application. It is also a measure of resilience of the software application. Measurement of reliability shows us how much risk there

is with the software application. it also measures the number of failures that can happen due to the present internal defects of the software application. A software application is tested for reliability to know the probability of failure of the software application as well as crashes so that the errors and defects can be reduced and corrected to the best level possible. There are some aspects of reliability of which care should be taken while testing. They have been listed below: Application practices Structure and complexity of the algorithms Programming practices Coding practices A software failure is an execution event where the software behaves in an unexpected way. A software fault is a static program characteristic. Software faults cause software failures when the faulty code is executed with a particular set of inputs. The web application must be functioning reliably and consistently under extreme conditions. It must not break its functionality under hard conditions

Supportability
The application must be supporting to function on different operating systems i.e. Windows, Linux, and UNIX etc. It must be supporting different types of web browsers to give a consistent look to the end users

System Requirements
Any Pentium-based PC-compatible computer system with SVGA-compatible display Microsoft Windows NT 4.0 (SP6a) or Windows 2000 (SP2 or 3) 64 MB RAM minimum, 128 MB recommended

Development Tools Commonly used development tools are given below o My SQL o J query o Java/PHP o MS SQL Server o Microsoft.Net Framework 2.0 o Microsoft.Net Framework 3.0

o Microsoft.Net Framework 3.5 Beta

Planning the Project

CHAPTER 2

1. Introduction of the Planning Phase


Planning Phase is the time when the project team translates the initial vision and / or scope from the Visualizing Phase into practical plans on how to achieve it. . During the planning phase, the team takes the work it has done during the envisioning phase and continues to elaborate on it and further organize and analyze it. The planning phase results in the architecture and design of the solution, the plans to accomplish developing and deploying the solution, and the schedules associated with tasks and resources. During the planning phase, the team works to articulate a clearer image of the solution. Although the planning process is intended to move the project forward, many teams get stuck in planningin essence, they do too much planning. The key for the team is to know when it has enough information to move forward.

Too little information is a risk, and too much information can cause a project team to stagnate.

Roles and Responsibilities in the Planning Phase


Although the project team works as a whole during the planning phase, each role on the team has a different responsibility during the planning phase: Project management ensures that the plan meets the customer needs. This role is responsible for refining requirements, analyzing the current business state, optimizing the solution concept, and creating the conceptual design. Program management ensures that the resources can accomplish the project plan. This role is responsible for the overall design, with an emphasis on logical design and the functional specification. The project management team creates the project plans and schedules and is responsible for completing the planning phase. Development ensures that the plan is technically feasible. This role is responsible for creating the logical and physical design of the solution and adding it to the functional specification. This team also determines the time and effort required for developing and stabilizing the solution. Testing ensures that the plan meets the requirements. This role is responsible for evaluating the design to determine whether features can be tested and for providing a plan and schedule for testing them. Release management evaluates the design for ease of deployment, management, and support. In addition, this role plans for and schedules deployment of the solution. User experience ensures that users will be able to use the product. This role is responsible for analyzing user needs and creating performance support strategies and for evaluating the completed design for usability. This role also estimates the time and effort required to develop user support systems and conduct usability testing for all user interface deliverables.

Milestones and Deliverables of the Planning Phase


The planning phase culminates in the project plan approved milestone, which is the point at which the project team, the customer, and project stakeholders agree on the project deliverables and that the plan meets the requirements and is likely to be successful. The final deliverables at this milestone of the planning phase are: The functional specification represents what the product will be, based on input from the entire team The master project plan is a collection of plans that addresses tasks performed by each of the six team roles to achieve the functionality. It documents the strategies by which the various teams intend to complete their work. The schedule applies a time frame to the master plan. The master project schedule synchronizes project schedules across the teams. It includes the frame in which the teams intend to complete their work. Aggregating the individual schedules gives the team an overall view of the project schedule and is the first step toward determining a fixed ship date. The master risk assessment document that was developed during the envisioning phase is reviewed and updated regularly, but particularly at the milestones. It describes the risks associated with developing the solution.

Typically, multiple risk assessments are sorted to identify the highest risks that must be addressed and aggregated to give an overall risk assessment. All of these documents are living documents, evolving as the project progresses. Although these documents can be modified, any modifications to the documents must first be approved by a committee of users and stakeholders.

2. Methodologies
The body of methods, rules, postulates, procedures, and processes that are used to manage a software engineering project are collectively referred to as a methodology. Software engineering is the practice of using selected process techniques to improve the quality of a software development effort. The systems development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application. An SDLC methodology follows the following steps: The existing system is evaluated. Deficiencies are identified. The new system requirements are defined. In particular, the deficiencies in the existing system must be addressed with specific proposals for improvement. The proposed system is designed. Plans are laid out concerning the physical construction, hardware, operating systems, programming, communications, and security issues. The new system is developed. The new components and programs must be obtained and installed. The system is put into use. Once the new system is up and running for a while, it should be exhaustively evaluated. Maintenance must be kept up rigorously at all times. Users of the system should be kept up-to-date concerning the latest modifications and procedures.

2.1 Existing Methodologies


Various SDLC methodologies have been developed to guide the processes involved, including the waterfall model (which was the original SDLC method), rapid application development (RAD), the fountain model, the spiral model, build and fix, and stabilize. Some of the existing methodologies are as under.

Waterfall Methodology
The waterfall model is a popular version of the systems development life cycle model for software engineering. Often considered the classic approach to the systems development life cycle, the waterfall model describes a development method that is linear and sequential. Waterfall development has distinct goals for each phase of development.

In the traditional waterfall methodology, first comes the analysis phase, then the design phase, followed by the implementation phase, with testing completing the process. The team that does each phase is different and there may be a management decision point at each phase transition. This methodology is called the waterfall methodology because each phase flows naturally into the next phase like water over a series of falls as shown in the figure.

Requirements

Design

Implementation

Verification

Maintenance

The most probable phases through which it progresses downwards are Definition Study/Analysis Basic Design Technical Design/Detailed Design Construction The waterfall model has been structured on multiple phases especially to help out the software construction companies to develop an organized system of construction. By following this method, the project will be divided into many stages thus easing out the whole process. For example you start with Phase I and according to this model, one only progress to the next phase once the previous one has been completed. This way one moves progressively to the final stage and once that point is reached, you cannot turn back; similar to the water in a waterfall.

Waterfall Strengths
Easy to understand, easy to use Provides structure to inexperienced staff

Milestones are well understood Sets requirements stability Good for management control (plan, staff, track) Works well when quality is more important than cost or schedule

Waterfall Deficiencies
All requirements must be known upfront Deliverables created for each phase are considered frozen inhibits flexibility Can give a false impression of progress Does not reflect problem-solving nature of software development iterations of phases Integration is one big bang at the end Little opportunity for customer to preview the system (until it may be too late)

When to use the Waterfall Model


Requirements are very well known Product definition is stable Technology is understood New version of an existing product Porting an existing product to a new platform.

The Boehm-Waterfall Methodology (Modified Waterfall Methodology)


The Boehm-Waterfall software engineering methodology is one of the best known examples of a software engineering methodology. The Boehm-Waterfall software engineering methodology is composed into the stages of system requirements, software requirements, preliminary and detailed design, implementation, testing, operations, and maintenance. At each stage is a validation step. In the BoehmWaterfall software engineering methodology, as often quoted and viewed, the process flows from stage to stage like water over a fall. However, in the original description of the Boehm-Waterfall software engineering methodology, there is an interactive back step between each stage. Thus the Boehm-Waterfall is a combination of a sequential methodology with an interactive back step. However, in engineering practice, the term waterfall is used as a generic name to any sequential software engineering methodology.

Spiral Model
Spiral Model is risk driven rather than document driven The "risk" inherent in an activity is a measure of the uncertainty of the outcome of that activity High-risk activities cause schedule and cost overruns Risk is related to the amount and quality of available information. The less information, the higher the risk

Spiral Model Strengths


Provides early indication of insurmountable risks, without much cost Users see the system early because of rapid prototyping tools Critical high-risk functions are developed first The design does not have to be perfect Users can be closely tied to all lifecycle steps Early and frequent feedback from users Cumulative costs assessed frequently

Spiral Model Weaknesses


Time spent for evaluating risks too large for small or low-risk projects Time spent planning, resetting objectives, doing risk analysis and prototyping may be excessive The model is complex Risk assessment expertise is required Spiral may continue indefinitely Developers must be reassigned during non-development phase activities

May be hard to define objective, verifiable milestones that indicate readiness to proceed through the next iteration

When to use Spiral Model


When creation of a prototype is appropriate When costs and risk evaluation is important For medium to high-risk projects Long-term project commitment unwise because of potential changes to economic priorities Users are unsure of their needs Requirements are complex New product line Significant changes are expected (research and exploration)

Rapid Prototyping Model


In the rapid prototyping (sometimes called rapid application development) model, initial emphasis is on creating a prototype that looks and acts like the desired product in order to test its usefulness. Rapid application development (RAD) is a software development methodology that uses minimal planning in favor of rapid prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself. The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements. Requirements planning phase (a workshop utilizing structured discussion of business problems) User description phase automated tools capture information from users Construction phase productivity tools, such as code generators, screen generators, etc. inside a time-box. (Do until done) Cutover phase -- installation of the system, user acceptance testing and user training

RAD Strengths
Reduced cycle time and improved productivity with fewer people means lower costs Time-box approach mitigates cost and schedule risk Customer involved throughout the complete cycle minimizes risk of not achieving customer satisfaction and business needs Focus moves from documentation to code. Uses modeling concepts to capture information about business, data, and processes. Accelerated development process must give quick responses to the user Risk of never achieving closure Hard to use with legacy systems Requires a system that can be modularized Developers and customers must be committed to rapid-fire activities in an abbreviated time frame.

RAD Weaknesses

Build And Fix Model


In this most simple model of software development, the product is constructed with minimal requirements and generally no specifications nor is any attempt at design, and testing most often neglected. This is a representation of what is happening in many software development projects.

Build and Fix Strengths

Cost efficient for very small projects of limited complexity.

Build and Fix Weaknesses


Unsatisfying approach for products of reasonable size. Cost is higher for larger projects. Product will not be delivered on time most of the times. Often results in a product of overall low quality. No documentation is produced. Maintenance can be extremely difficult without specification and design document.

V Shaped SDLC Model


A variant of the Waterfall that emphasizes the verification and validation of the product. Testing of the product is planned in parallel with a corresponding phase of development.

V Shaped Steps
Project and Requirements Planning allocate resources Product Requirements and Specification Analysis complete specification of the software system

Architecture or High-Level Design defines how software functions fulfill the design Detailed Design develop algorithms for each architectural component Production, operation and maintenance provide for enhancement and corrections System and acceptance testing check the entire software system in its environment Integration and Testing check that modules interconnect correctly Unit testing check that each module acts as expected Coding transform algorithms into software

V-Shaped Strengths

Emphasize planning for verification and validation of the product in early stages of product development Each deliverable must be testable Project management can track progress by milestones Easy to use Does not easily handle concurrent events Does not handle iterations or phases Does not easily handle dynamic changes in requirements Does not contain risk analysis activities

V-Shaped Weaknesses

Incremental Models
Construct a partial implementation of a total system Then slowly add increased functionality

The incremental model prioritizes requirements of the system and then implements them in groups. Each subsequent release of the system adds function to the previous release, until all designed functionality has been implemented.

The incremental build model is a method of software development where the model is designed, implemented and tested incrementally (a little more is added each time) until the product is finished. It involves both development and maintenance. The product is defined as finished when it satisfies all of its requirements. This model combines the elements of the waterfall with the iterative philosophy of prototyping. The product is decomposed into a number of components, each of which are designed and built separately (termed as builds). Each component is delivered to the client when it is complete. This allows partial utilization of product and avoids a long development time. It also creates a large initial capital outlay with the subsequent long wait avoided. This model of development also helps ease the traumatic effect of introducing completely new system all at once. There are, overall, few problems with this model.

Incremental Model Strengths


Develop high-risk or major functions first Each release delivers an operational product Customer can respond to each build Uses divide and conquer breakdown of tasks Lowers initial delivery cost Initial product delivery is faster Customers get important functionality early Risk of changing requirements is reduced

Incremental Model Weaknesses Requires good planning and design Requires early definition of a complete and fully functional system to allow for
the definition of increments Well-defined module interfaces are required (some will be developed long before others) Total cost of the complete system is not lower

When to use the Incremental Model


Risk, funding, schedule, program complexity, or need for early realization of benefits. Most of the requirements are known up-front but are expected to evolve over time A need to get basic functionality to the market early On projects which have lengthy development schedules On a project with new technology

Extreme Programming
Extreme Programming is that the whole process is visible and accountable. The developers will make concrete commitments about what they will accomplish, show concrete progress in the form of deployable software, and when a milestone is reached they will describe exactly what they did and how and why that differed from the plan. This allows business-oriented people to make their own business commitments with confidence, to take advantage of opportunities as they arise, and eliminate dead-ends quickly and cheaply. "Extreme" means these practices get "turned up" to a much higher "volume" than on traditional projects. XP ignores any other practice that does not appear on the list. The result is stable, productive, and very rapid because the practices support each other the more they are used together without interference. Extreme Programming teams use a simple form of planning and tracking to decide what should be done next and to predict when the project will be done. Focused on business value, the team produces the software in a series of small fully-integrated releases that pass all the tests the Customer has defined. Extreme Programmers work together in pairs and as a group, with simple design and obsessively tested code, improving the design continually to keep it always just right for the current needs. The Extreme Programming team keeps the system integrated and running all the time. The programmers write all production code in pairs, and all work together all the time. They code in a consistent style so that everyone can understand and improve all the code as needed.

2.2 Adopted Methodology

Gathering Analyzing Requirements

Plane Phase

Analyses and Design Phase Phase I

Analyses and Design Phase Phase II

Development

Final Report

The above is VU Process Model. It has five phases and these include Gathering and analyzing requirement, planning, analysis and design, development and final report. In the requirement phase the system goals, services and constrains are established after discussion with user. The planning phase is synchronized effort to all the potential roadblocks and draft a robust plan to tackle each. This phase usually involves a lot of brainstorming within software development team as well as with respective client.

2.3 Reasons for choosing the Methodology


For Statistical analyzer we choose VU process model which is a combination of both waterfall and spiral methodology. Following are the reasons for choosing VU process model. We are choosing waterfall model for this project because by following this method the whole project will be divided into many stages thus easing out the whole process. In this project we start with the first phase which

is gathering and analyzing requirements and we can not move to the next phase until first phase is completed similarly at the second phase we can not move to the third until second phase is completed so this is one of the many reasons that why we choose water fall methodology for statistical analyzer. This way one moves progressively to the final stage and once that point is reached, you cannot turn back similar to the water in a waterfall. Also this model is easy to understand and use and it provides structure to inexperienced students. Moreover, Spiral methodology is an iterative approach to software development. The spiral lifecycle model is a combination of the classic waterfall model and aspects of risk analysis. The spiral model emphasizes the need to go back and reiterate earlier steps a number of times as the project progresses. So whenever at any stage of this project if the management changes the requirements and we are asked to make changes in our documents of previous phases in accordance with these requirements then we have to go back and make necessary changes then by using spiral methodology we becomes able to go back and revise and update our documents. Spiral model can incorporate other models in its various developmental phases.

4. Work Plan Project Structure Team Structure


Team Supervisor: Muhammad Adnan Ashraf Responsibilities: Supervision, Guidance Team Member: Nazma Ashraf (MC100401698) Responsibilities: Requirement, Plan, Design, Develop, Test, and Deploy

Project Schedule

ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Task Name

Duration

Start Thu 10/20/11 Thu 10/20/11 Fri 10/21/11 Tue 10/25/11 Tue 11/8/11 Fri 11/25/11 Fri 11/25/11 Wed 12/7/11 Sat 12/17/11 Mon 12/26/11 Mon 12/26/11 Fri 12/30/11 Thu 1/5/12 Wed 1/11/12 Wed 1/18/12 Wed 1/25/12 Wed 2/1/12 Tue 2/7/12 Sat 2/11/12 Fri 2/17/12 Fri 2/24/12 Thu 3/1/12 Wed 3/7/12 Tue 3/13/12

Gathering And Analyzing Requirements 26 days Scope of the Project Use case Diagram Usage Scenarios Planning Phase Method And Work Plan Methodology Schedule Analysis And Design Phase Activity Diagram Sequence Diagram Collaboration Diagram Architecture Diagram DFD ERD Object Model Class Diagram Interface Design Data base Design Test Case Deployment Diagram Component Diagram 1 day 10 days 13 days 21 days 8 days 8 days 5 days 56 days 4 days 4 days 4 days 5 days 5 days 5 days 4 days 4 days 4 days 5 days 4 days 4 days 4 days Functional and Non-Functional Requirements 2 days

Finish 2nd Quarter 3rd Quarter 4th Quarter 1 Jun Jul Aug Sep Oct Nov Dec J Thu 11/24/11 Thu 10/20/11 Mon 10/24/11 Mon 11/7/11 Thu 11/24/11 Fri 12/23/11 Tue 12/6/11 Fri 12/16/11 Fri 12/23/11 Mon 3/12/12 Thu 12/29/11 Wed 1/4/12 Tue 1/10/12 Tue 1/17/12 Tue 1/24/12 Tue 1/31/12 Mon 2/6/12 Fri 2/10/12 Thu 2/16/12 Thu 2/23/12 Wed 2/29/12 Tue 3/6/12 Mon 3/12/12 Thu 5/31/12 Fri 4/20/12 Tue 6/19/12 Fri 6/1/12 Mon 6/4/12 Tue 6/5/12

Development And Final Project Report days 58

Working Code consists of the features days 29 specified Tue 3/13/12 in the schedule Final Report/VIVA Compilation Submission of Final Project Report Presentation 13 days 1 day 1 day 1 day Fri 6/1/12 Fri 6/1/12 Mon 6/4/12 Tue 6/5/12

Working code consists of the Features days 29 specified in the scedhule Thu 5/31/12 Sat 4/21/12

Designing the Project

CHAPTER 3

1. Introduction (of analysis and design phase)


Design and analysis phase is the second phase of software development where focus shifts from what to how. In SRS focus on what will be built, in design analysis focus is how it will be built. How the data will be managed, how program will be structured, how components will be connected, and how will be sequence of tasks performed. All these aspects of software development are covered in design document. In this document software design is illustrated by diagrams. A little detail about these diagrams is given below

Data Flow Diagram

In data flow diagram flow of data is illustrated. Main source of data is user who will provide data in form of sign in details, shipment information and admin will provide vehicles, container, and terminals information. While user is also plays the role of sink. Display is an external entity which plays the role of medium of delivering data to user.

Entity relation diagram


ERD is also related with data. DFD is concerned with flow of data while ERD is about actual data. It deals with entities and these entities are related with each other. What data about these entities will be saved etc.

Activity Diagram
In the activity diagram of the system, task sequence of each activity is given.

Sequence Diagram
In sequence diagram it is illustrated that how objects interact with each other while performing different tasks. This is arranged in time sequence order.

Architecture design diagram


Architecture design gives the over view of the system. It is like a map of the building. It illustrates where will be the user interface. Where the processing on data will be done and where data will be stored.

Purpose
In purpose of Design and Analysis phase is to give us a solid understanding of all possible functionalities of our project. And as a result, we can start implementation of our project with more confidence.

Scope
The scope of each design item may be given as following: Architecture representation helps in understanding the layered or tiered architectures of the project. Sequence Diagram will help us in understanding how objects interact with each other and emphasizes time ordering of messages. The object model will give us an understanding that how we can map real world problem into object oriented model (classes and their relationships) The Deployment Diagram of the system will show the physical layout of the system, revealing which piece of software runs on what piece of hardware. Database model will give us an understanding how the data will be stored and managed in tables and how the tables will relate to each other. Graphic user interfaces will show us that how our application will look to end users

Definitions, Acronyms and Abbreviations


Definitions, Acronyms, and Abbreviations have not been used in this project.

Architectural Representation (Architecture Diagram)

Web Browser

Web Interface (HTML File)

User

Service Layer Service Interface Service Implementation

Data Access Layer ADO Interface ADO Implementation

Ser

RDBMS

DYNAMIC MODEL: SEQUENCE DIAGRAMS

Sign Up

Admin User info

Sign Up

database

Store User info Process Retun registered status Show status

Log in

User Request login()

Log in

database

Verify Login info() Process() Send result Open Account session

Collect data

: Administrator Collect data

Collect data

database

Send request Process

data record data record

Update data

: Administrator Update data

Update data

database

necessary modifications Process

Updated data record Updated data record

Delete data

: Administrator Delete data

Delete data

database

necessary deletions Process

data record after deletions data record after deletion

Manage Users

: Administrator

Manage users

database

Manage users Save Process

report report

Enter data

: Data entry operator Enter data

Enter data

database

Data Process

Data record

Data record

Perform Calculations

: Data Analyst

Perform calculations on data Save

database

Perform calculations Process

report

report

Make Graphs

: Data Analyst

Make Graphs

database

Make graphs Save Process

report

report

Log out

: User Request logout()

Log out

database

Request logout() Process

Logged out Logged out

OBJECT MODEL/LOGICAL MODEL: CLASS DIAGRAM

Year +year nam e: int _ +year code : int _ +Base year int : +Reference yearint : +View years () +Add years) ( +Delete years ()

W DI GDF +Count code: int _ +Sr_code: int +Year : int +View W DI DF() _G +Update W DI G DF () +Delete W DI G DF ()

Coun try +Count nam e: string _ +Count code : int _ +View country () +Add country () +Delete country ()

Series +Sr_name: string +Sr_code : int +Topic : string _id +Agg_m ethod: string +View series () +Add series) ( +Delete series ()

Data entry operator +DEO_id : string +DEO_nam e: string +Address: string +Login() +Enter data) ( +Logout ) (

Login +user_id : int -Password string : +user_nam e: string +login() +change password ()

Data Analyst +DA_id : int +DA_nam e: int +Address: int +Login() +Take data) ( +Analyze data () +Save report () +Logout) (

Adm inistrator +Adm in : string _id +Adm in _nam e: string +Address: string +Login() +Manage data () +Manage users () +System m onitoring () +Transform data () +Logout ) (

DEPLOYMENT MODEL (DEPLOYMENT DIAGRAM)


1. I will use ASP.NET, HTML and CSS to design presentation layer and deploy my presentation layers at web server. 2. I will use C# language and T-SQL to design business layer and also deploy it on web server.

3. To design our database i.e. data layer I will use the tool Microsoft SQL Server Management Studio and use T-SQL. Data layer will be deployed on another server which is database server.

Web Browser

Web Server
Presentation Layers
Data Administrator Interfaces Data Analyst Interfaces Data Entry operator Interfaces

Login interface

Business Layers

Classes for user authentications

Classes to import data

Classes for filtering data

Classes for drawing charts

Database Server
Logins and Roles for our Database

Data Layers

SADM_DB

DATABASE MODEL (DATABASE DIAGRAM)

W D I _ G DF _ D a ta
W diId

Users
UserName Password RoleID

C ountryCode SeriesCode [1990] [1991] [1992] [1993] [1994] [1995] [1996] [1997] [1998]

C ountr y
C ountryCode C ountryName ProgressStatus

R ol e s
RoleID RoleName

Series
SeriesCode SeriesName Description

[1999] [2000] [2001] [2002] [2003] [2004] [2005] [2006] [2007] [2008] [2009] [2010]

GRAPHICAL USER INTERFACES Login Interface

Data Entry Operator Interface

Data Administrator Interface

Data Analyst Interface

CHAPTER 4
Development

Development plan (Architecture Diagram)

Web Browser

Web Interface (HTML File)

User

Service Layer Service Interface Service Implementation

Data Access Layer ADO Interface ADO Implementation

Ser

RDBMS

CHAPTER 5
Deployment

1. Deployment Plan Deployment Diagram

1. I will use ASP.NET, HTML and CSS to design presentation layer and deploy my presentation layers at web server. 2. I will use C# language and T-SQL to design business layer and also deploy it on web server. 3. To design our database i.e. data layer I will use the tool Microsoft SQL Server Management Studio and use T-SQL. Data layer will be deployed on another server which is database server.

Web Browser

Web Server
Presentation Layers
Data Administrator Interfaces Data Analyst Interfaces Data Entry operator Interfaces

Login interface

Business Layers

Classes for user authentications

Classes to import data

Classes for filtering data

Classes for drawing charts

Database Server
Logins and Roles for our Database

Data Layers

SADM_DB

REFERENCES

1) CS 504 Software Engineering-I 2) CS 605 Software Engineering-II 3) CS 403 Database Management System

You might also like