Post on 31-Mar-2015
transcript
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???