for
Prepared by
Pruthvi P(11co69)
Sukruth Ananth(11co96)
17/4/2014
Page ii
Table of Contents
Table of Contents .......................................................................................................................... ii Revision History ........................................................................................................................... iii 1. Introduction ..............................................................................................................................1
1.1 1.2 1.3 1.4 2.1 2.2 2.3 3.1 3.2 3.3 3.4 3.5 4.1 4.2 4.3 4.4 4.5 5.1 5.2 5.3 5.4 6.1 6.2 6.3 6.4 6.5 7.1 7.2 7.3 7.4 7.5 Application Description............................................................................................................... 1 Need for your Application ........................................................................................................... 2 Application Domain and Targeted Audience .............................................................................. 1 Product Scope .............................................................................................................................. 2 Introduction about the Software Process Model Followed .......................................................... 3 Suitability of the Software Process Model .................................................................................. 3 Adoption of the Software Process Model .................................................................................... 3 RE Techniques used .................................................................................................................... 4 Tool(s) Used and its Features ...................................................................................................... 5 Suitability of the Tool(s).............................................................................................................. 6 Adoption of the Tool(s) ............................................................................................................... 6 Outcome of this activity .............................................................................................................. 6 Modeling Language(s) Used ....................................................................................................... 8 Tool(s) and its Features ............................................................................................................... 9 Suitability of the Tool(s).............................................................................................................. 9 Adoption of the Tool(s) ............................................................................................................... 9 Outcome of this Activity ............................................................................................................. 9 Tool(s) and its features .............................................................................................................. 10 Suitability of the tool(s) ............................................................................................................. 11 Adoption of the Tools ................................................................................................................ 12 Outcome of this Activity ........................................................................................................... 12 Testing Method(s) Used ............................................................................................................ 14 Tool(s) and its Features ............................................................................................................. 14 Suitability of the Tool(s)............................................................................................................ 15 Adoption of the Tool(s) ............................................................................................................. 16 Outcome of this Activity ........................................................................................................... 16 Software Project Management Activities Followed .................................................................. 17 Tool(s) and its Features ............................................................................................................. 17 Suitability of the Tool(s)............................................................................................................ 17 Adoption of the Tool(s) ............................................................................................................. 17 Outcome of this Activity ........................................................................................................... 18
4. Design ........................................................................................................................................8
5. Development ...........................................................................................................................10
6. Testing .....................................................................................................................................14
Appendix A: SRS Documentation ..............................................................................................19 Appendix B: Development Tools ................................................................................................19 Appendix C: Test Cases / Test Reports......................................................................................19
Page iii
Revision History
Name Date Reason For Changes Version
Page 1
1. Introduction
1.1 Application Description
Call tracking software records information about incoming telephone calls, but not the conversation. Call tracking is a technology which enables the pay per call business model, allowing the tracking of phone calls to be associated with performance based advertising, and supplying additional analytic information about the phone calls. Call tracking is a method of performance review for advertising. It is based on the technological possibility of measuring the behavior of callers and is thus the equivalent in telephony to the conversion tracking used on the internet. Via different channels, both procedures offer the opportunity of clearly assigning a customer response to a specific advertising medium. An application of call tracking is to monitor the effectiveness of advertising campaigns by comparing tracking reports before and after.
1.2.2
Targeted Audience
The tracker will be used by agents to log call drivers which will help the operations team to provide more pertinent and effective coaching. The agent and the administrator both are benefited by this and hence the perspective of the product proves to be very effective. With the help of telephone tracking, new insights into the performance of online marketing are opened up to marketing managers. Until now, telephone contact interrupted or ended the click chain so that essentially no correct cost-per-order could be calculated. This hurdle of media discontinuity has been overcome with telephone tracking. Furthermore, this tracking method
Page 2
resolves the problem of correct assignment of orders placed by telephone. Online traders benefit primarily from this new technology.
Page 3
Page 4
3. Requirements Analysis
3.1 RE Techniques used
Call Tracker Layout Mockup Main Call Reason: Multiple Reasons? Call Reason 2: Call Reason 3: Call Reason 4: Call Reason 5: Resolved? Escalated? Transferred? Conferenced? No Caller/Dead Air? Sale? Credit? Customer Satisfaction: [Yes or No] [Yes or No] [Yes or No] [Yes or No] [Yes or No] [Tick Box & $ Amt. Field] [Tick Box & $ Amt. Field] [Tick Boxes 1 through 5] CRT Timer [Timer] (See Item C, below) (See Item D, below) (See Item E, below) (See Item F, below) (See Item G, below) (See Item H, below) (See Item I, below) (See Item J, below) (See Item K, below) Conditionalonly appear based on response to Multiple Reasons?, above. [Dropdown Menu] [Yes or No] (See Item A, below) (See Item B, below)
A.
Main Call Reason: The main call reason section should have a three-tiered dropdown menu (see attached Excel file for the complete list of menu selections).
Page 5
1.
The first tier of the menu should contain the Call Category (e.g., Account Maintenance, Billing, Customer Service or Troubleshooting); the user should hover over the call category to see the applicable secondary menu The second tier of the menu should allow the user to hover over a Call Type (e.g., change rate plan/feature); the user should hover over the call type to see the applicable tertiary menu The third tier of the menu should allow the user to click on the Call Reason (e.g., add feature)
2.
3.
If there are multiple reasons as of why the customer called, the operations team want the same levels above to appear in the call tracker. B. Multiple Reasons?:User should tick a box for either Yes or No. If Yes, then four more rows should appear underneath. These rows will be called Call Reason 2, Call Reason 3, Call Reason 4 and Call Reason 5. These rows should work the same way that Main Call Reason works, as described in Item A, above. Resolved?:User should tick a box for either Yes or No. Escalated?: User should tick a box for either Yes or No. Transferred?: User should tick a box for either Yes or No. 1. If Yes is selected, agent must indicate where the call was transferred to in a text box (can always be displayed). Conferenced?: User should tick a box for either Yes or No. No Caller/Dead Air?: User should tick a box for either Yes or No. Sale?:If a call results in a sale, the user ticks box next to this line item; If the user ticks the box, they must enter a dollar amount; amount field should require two decimal places. Credit?:If a call results in a credit, the user ticks box next to this line item; If the user ticks the box, they must enter a dollar amount; amount field should require two decimal places. Customer Satisfaction: User ticks one of five boxes that appear in this row; Boxes should be labelled one through five. CRT Timer: Display timer that begins when call commences and stops when call ends to track duration of various call types.
C. D. E.
F. G. H.
I.
J.
K.
Page 6
requirements on the ReqIF standard. RMF is also the only tool which provides a GUI for the ReqIF files in the form of an application called ProR. One of the major problems in requirements analysis is that there is no standard format used across various tools. The eclipse RMF tries to change this by making a standard, ReqIF. This is an XML based data structure for exchanging requirements. The ReqIF format does not have any attributes and instead is simply a container for six elements: SpecObject Represents an actual requirement. Attributes of SpecObject depends on the SpecType. SpecType Contains a list of attributes which are named entities of certain data types. A SpecObject of a certain type has a value for each of the SpecType attributes. DatatypeDefinition Is an instance of one atomic data type that is configured to be used. Specification SpecObjects can be grouped together in a tree structure called Specification which is used to reference different SpecObjects. SpecRelation It is a link between different SpecObjects. It contains a source and a target. A SpecRelation can have a SpecType and thus can also have attributes. It also has the following features that are of great use to us: Requirements Management Requirements Engineering Requirements Traceability Change Management Product Line Engineering
Page 7
Page 8
4. Design
4.1 Modeling Language(s) Used
4.1.1 Unified Modelling Language
UML is a general purpose modeling language. It was initially started to capture the behavior of complex software and non software system and now it has become an OMG standard. UML provides elements and components to support the requirement of complex systems. UML follows the object oriented concepts and methodology. So object oriented systems are generally modeled using the pictorial language. UML diagrams are drawn from different perspectives like design, implementation, deployment etc. UML Diagrams: Diagrams are the heart of UML. These diagrams are broadly categorized as structural and behavioral diagrams.
Structural diagrams are consists of static diagrams like class diagram, object diagram etc. Behavioral diagrams are consists of dynamic diagrams like sequence diagram, collaboration diagram etc.
The static and dynamic nature of a system is visualized by using these diagrams.
Structural UML diagrams Class diagram Component diagram Composite structure diagram Deployment diagram Object diagram Package diagram Profile diagram Behavioral UML diagrams Activity diagram Communication diagram Interaction overview diagram Sequence diagram State diagram Timing diagram Use case diagram
Page 9
Closely follows the UML standard. Platform independent Java 1.5+. Click and Go! with Java Web Start (no setup required, starts from your web browser).. Export diagrams as GIF, PNG, PS, EPS, PGML and SVG. Advanced diagram editing and zoom.
Page 10
5. Development
5.1 Tool(s) and its features
5.1.1 Integrated Development Environment-Microsoft Visual Studio
Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs for Microsoft Windows superfamily of operating systems, as well as web sites, web applications and web services. Visual Studio uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silverlight. It can produce both native code and managed code. Microsoft Visual Studio is the environment used in this project. Visual Studio includes a code editor supporting IntelliSense as well as code refactoring. The integrated debugger works both as a source-level debugger and a machine-level debugger. Other built-in tools include a forms designer for building GUIapplications, web designer, class designer, and database schema designer. It accepts plug-ins that enhance the functionality at almost every levelincluding adding support for source-control systems (like Subversion and Visual SourceSafe) and adding new toolsets like editors and visual designers for domain-specific languages or toolsets for other aspects of the software development lifecycle (like the Team Foundation Server client: Team Explorer). Visual Studio supports different programming languages and allows the code editor and debugger to support (to varying degrees) nearly any programming language, provided a language-specific service exists.Built-in languages include C,[5] C++and C++/CLI (via Visual C++) VB.NET (via Visual Basic .NET), C# (via Visual C#), and F# (as of Visual Studio 2010[6]). Support for other languages such as M, Python, and Ruby among others is available via language services installed separately. It also supports XML/XSLT, HTML/XHTML, JavaScript and CSS. Individual language-specific versions of Visual Studio also exist which provide more limited language services to the user: Microsoft Visual Basic, Visual J#, Visual C#, and Visual C++.
Page 11
computer across a network (including the Internet). There are at least a dozen different editions of Microsoft SQL Server aimed at different audiences and for workloads ranging from small singlemachine applications to large Internet-facing applications with many concurrent users. Its primary query languages are T-SQL and ANSI SQL.
Anonymous authentication Basic access authentication Digest access authentication Integrated Windows Authentication
Page 12
edited as it is being debugged (32 bit only; not supported in 64 bit). When debugging, if the mouse pointer hovers over any variable, its current value is displayed in a tooltip ("data tooltips"), where it can also be modified if desired. During coding, the Visual Studio debugger lets certain functions be invoked manually from the Immediate tool window. The parameters to the method are supplied at the Immediate window.
Page 13
The above two screenshots represent the application with which the Microsoft Visual Studio outputs the application.One of them is the login page and the other one is the default or the starting page in which the query of the customer is taken into account.When the customer gets the call or the customer calls for the problem to be solved then these things are taken into consideration. The call reason in terms of one,two and three are noted .The main call reason which can be helpful for the feedback of the application user.the resolved dropdown .the escalated radio button is also marked to know whether it is done or not.The transfer is also noted and if the transfer is done then the bank where these things are transferred are also noted and then checked for the
Page 14
conferencing . After the conferencing is done with no problem to the customer,the Dead air or No caller is checked . The database comes into picture later on when the query is known and the product to be retrieved is given .The known database is first filled with the data given by the organization in the requirement document (which is attached at the end of the document in the Appendix).The database queiries are then performed and the required data are then retrieved from the data base.The screenshots of the database are now given as under.
6. Testing
The testing phase can be done using manual testing in which all the test cases are generated by the tester and then the application is run .Testing can also be done by using any testing tool the tool used here is selenium.
Page 15
6.2.2 Features
6.2.2.1 Selenium Grid Selenium Grid is a server that allows tests to use web browser instances running on remote machines. With Selenium Grid, one server acts as the hub. Tests contact the hub to obtain access to browser instances. The hub has a list of servers that provide access to browser instances (WebDriver nodes), and lets tests use these instances. Selenium Grid allows running tests in parallel on multiple machines, and to manage different browser versions and browser configurations centrally (instead of in each individual test). 6.2.2.2 Selinium Client API As an alternative to writing tests in Selenese, tests can also be written in various programming languages. These tests then communicate with Selenium by calling methods in the Selenium Client API. Selenium currently provides client APIs for Java, C#, Ruby and Python.With Selenium 2, a new Client API was introduced (with WebDriver as its central component). However, the old API (using class Selenium) is still supported.
6.2.2.3 Selinium IDE Selenium IDE is a complete integrated development environment (IDE) for Selenium tests. It is implemented as a Firefox Add-On, and allows recording, editing, and debugging tests. It was previously known as Selenium Recorder. Selenium-IDE was originally created by Shinya Kasatani and donated to the Selenium project in 2006.Scripts may be automatically recorded and edited
Page 16
manually providing autocompletion support and the ability to move commands around quickly.Scripts are recorded in Selenese, a special test scripting language for Selenium. Selenese provides commands for performing actions in a browser (click a link, select an option), and for retrieving data from the resulting pages.
Page 17
Project planning: Allows to create different projects and different stages in the particular project . Task management: Allows for the creation and assignment of tasks, deadlines and status reports. Calendar and contact sharing: Project timelines include scheduled meetings, activity dates and contacts which automatically updates across all stages and stakeholder calendars. Bug and error management: Allows to keep a track of software bug and error reporting, viewing, notifying and updating. Time tracking: Gantt Chart representation helps in tracking the overall time taken by each step of the development process. Cost Estimation : It allows to assign costs to various steps of the development process which helps in better cost estimation results and it allows takes account of the estimated cost and the actual cost hence providing a accurate cost estimation at the end of the software development cycle.
Page 18
Page 19
Page 20