Professional Documents
Culture Documents
<< Statistical
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.
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
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
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 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.
Log in
*
C ollect D ata
*
* * * **
A instrator dim
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
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
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
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
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.
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
Modification History: Author: Description: Nazma Ashraf (mc100401698) User can enter data in a required format and save into the database
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.
Modification History: Author: Description: Nazma Ashraf (mc100401698) User can analyze data and perform necessary statistical calculations on that data.
Make Graphs
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
Modification History: Author: Description: Nazma Ashraf (mc100401698) User can make graphs
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
CHAPTER 2
Too little information is a risk, and too much information can cause a project team to stagnate.
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.
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)
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
May be hard to define objective, verifiable milestones that indicate readiness to proceed through the next iteration
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
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 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
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.
Plane Phase
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.
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.
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
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
CHAPTER 3
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.
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.
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
Web Browser
User
Ser
RDBMS
Sign Up
Sign Up
database
Log in
Log in
database
Collect data
Collect data
database
Update data
Update data
database
Delete data
Delete data
database
Manage Users
: Administrator
Manage users
database
report report
Enter data
Enter data
database
Data Process
Data record
Data record
Perform Calculations
: Data Analyst
database
report
report
Make Graphs
: Data Analyst
Make Graphs
database
report
report
Log out
Log out
database
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 ) (
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
Database Server
Logins and Roles for our Database
Data Layers
SADM_DB
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]
CHAPTER 4
Development
Web Browser
User
Ser
RDBMS
CHAPTER 5
Deployment
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
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