CRMS CUSTOMER RELATIONSHIP MANAGEMENT SYSTEM GRADUATE COMMITTEE DR. DANIEL ANDRESEN (MAJOR...

Post on 31-Mar-2015

215 views 0 download

Tags:

Transcript of CRMS CUSTOMER RELATIONSHIP MANAGEMENT SYSTEM GRADUATE COMMITTEE DR. DANIEL ANDRESEN (MAJOR...

CRMSCUSTOMER RELATIONSHIP MANAGEMENT SYSTEM

GRADUATE COMMITTEE DR. DANIEL ANDRESEN (MAJOR PROFESSOR) DR. TORBEN AMTOFT DR. MITCHELL L. NEILSEN

MSE Project Presentation II

-Hamsa Gayatri Palepu

Agenda

1234

Action Items From Phase1 presentation

Architecture Design

Test Plan

Formal Requirement Specification

567

Architecture Prototype

Formal Technical Inspection Letters

Demo

4 Questions ??

Action Item 1

The Functional Requirements in Vision Document 1.0 were not elaborate.

The modified requirements elaborating the Input, Processing and Output are in more detail in the Vision Document 2.0 and the Architecture design document.

Action Item 2

For phase 2, I have the design ready for my project including the page flow and also the test plan document.

Small demo of the project after the Phase II presentation.

Three Tier Architecture

Presentation Tier

Business Tier

Data Tier

Database

Page flow Diagram

Web Forms and Purpose

Architecture Design – Class Diagram

Sequence Diagrams….

ER-Diagram

Database Schema

Test Plan – Test Items

Managing Registration Process Managing Login Process Assigning User Roles Query Creation/Ticket Creation Check Status Assigning Tickets to Tech Users Change Ticket Status Send Email Response Search Ticket Create a Ticket Sub-Category Sign Off

Types of Testing

Unit Testing — It tests if the individual units of source code are working properly. Unit testing will be done using Microsoft Visual Studio IDE.

Integration Testing — All the modules involved in the project will be integrated together and tested accordingly as a whole system.

System Testing —The system testing is performed to test the entire system and to see whether all the critical requirements are satisfied or not. The JMeter testing tool will be used for this.

Performance & Load Testing— The JMeter testing tool will be used for this. The test result shows how the performance varies with the load, given as number of users vs response time.

Usability Testing_ Usability testing is used to evaluate CRMS by testing it on users to measure the usability, or ease of use. Usability testing is used to evaluate CRMS by testing it on users to measure the usability, or ease of use. Two people will perform set of tasks and observations are made.

Formal Requirements Specification

--Constraints Unique User Names A Ticket is always associated with only one Customer. A Ticket is assigned to at-most one Tech User. A Ticket is always associated with only one Status. A Ticket is always associated with only one Priority. A Ticket is always associated with only one Category. A Ticket is always associated with only one

SubCategory. A SubCategory is always associated with only one

Category

Constraints

--Unique User Namescontext Userinv UniqueUerNames:User.allInstances->forAll(U1,U2|U1<>U2 implies U1.UserName <> U2.UserName)

-- A Ticket is always associated with only one Customercontext Ticketinv HasOwnerself.OfUser->size = 1&& self.OfUser.InRole->size = 1&& self.OfUser.InRole->includes(Role.AllInstances->Select( R:Role | R.RoleName ='Customer'))

-- A Ticket is assigned to at-most one Tech Usercontext Ticketinv Assingmentsself.AssignedTo->size <= 1&& self.AssignedTo.InRole->size <= 1&& ( self.AssignedTo->size = 0 || self.AssignedTo.InRole->includes(Role.AllInstances->Select( R:Role | R.RoleName =

'TechUser')) )

Constraints

-- A Ticket is always associated with only one Statuscontext Ticketinv HasStatusself.AssignedStatus->size = 1

-- A Ticket is always associated with only one Prioritycontext Ticketinv HasPriorityself.AssignedPriority->size = 1

-- A Ticket is always associated with only one Categorycontext Ticketinv HasCategoryself.AssignedCategory->size = 1  -- A Ticket is always associated with only one SubCategorycontext Ticketinv HasSubCategoryself.AssignedSubCategory->size = 1

Constraints -- A SubCategory is always associated with only one Category

context SubCategory

inv AssociatedToCategory

self.CategoryOf->size = 1

Operations -- Update Ticket

Context Ticket :: UpdateTicket(Customer : string, TechUser : string, StatusID : int, PriorityID : int, CategoryID : int, SubCategoryID : int)

post OfUser : self.OfUser ->includes(U : User | U.UserName = Customer)

post AssignedTo: self.AssignedTo ->includes(U : User | U.UserName = TechUser)

post AssignedStatus: self.AssignedStatus ->includes(U : Status | U.StatusID = StatusID)

post AssignedPriority: self.AssignedPriority ->includes(U : Priority | U.PriorityID = PriorityID)

post AssignedCategory: self.AssignedCategory ->includes(U : Category | U.CategoryID = CategoryID)

post AssignedSubCategory: self.AssignedSubCategory->includes(U : SubCategory| U.SubCategoryID = SubCategoryID)

 -- Assign Role

Context User :: AssignRole(RoleID: int)

pre NoRole : self.InRole->size = 0

post HasRole: self.InRole->includes(R:Role | R.RoleID = RoleID)

post HasRole: self.InRole->size = 1

Architecture Prototype

Formal Technical Inspection LettersSubmitted by Two MSE students : Sandhya Bathini Vineetha KadiyalaLetters are posted online:http://people.cis.ksu.edu/~hamsa/CIS-895MseProject/Phase2.htm

DEMO

Questions???