Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System implementation and deployment Updated: November 2014 Outline System implementation System testing Software versioning System deployment Data porting and conversion System deployment strategies 3510 Systems Analysis & Design * Bob Travica 2 of 14 Implementation and deployment activities 3510 Systems Analysis & Design * Bob Travica 3 of 14 Implementation Implementation = software development or assembling according to previously created design. Modularized design (objects and packages; components) – interaction among system components must be implemented using certain standard (SOAP/XML, CORBA, COM) 3510 Systems Analysis & Design * Bob Travica 4 of 14 Testing Testing = a process of identifying system defects Develop test cases and test data A test case specifies starting & ending state, and events to which the software must respond Test data – data in the defined starting state, which must reach a defined ending state after being exposed to certain event (input). Modern approach: build to predefined test (Agile Methodology) 3510 Systems Analysis & Design * Bob Travica 5 of 14 Kinds of system tests Unit testing - individual methods, classes, or components before they are integrated with other software Defect example: A method for calculating taxes outputs incorrect results. 3510 Systems Analysis & Design * Bob Travica 6 of 14 Kinds of system tests (cont.) Integration testing - evaluates the behavior of a group of methods or classes (interface compatibility, unexpected parameter values or state interaction, run-time exceptions) Applied to system or sub-system Defect example: Results of retrieving a record significantly differ when real database as opposed to dummy database is retrieved 3510 Systems Analysis & Design * Bob Travica 7 of 14 Kinds of system tests (cont.) Usability testing – software works but fails some of the usability requirements (easy to learn, use & navigate, task efficiency) Acceptance testing – involves users to determine if system in overall fulfills user requirements 3510 Systems Analysis & Design * Bob Travica 8 of 14 Who Tests Software Programmers Unit testing Testing buddies can test other’s programmer’s code Quality assurance personnel Integration and Usability Users Acceptance testing Volunteers for testing beta version of software 3510 Systems Analysis & Design * Bob Travica 9 of 14 Versioning Alpha version Test version that is incomplete but ready for some level of testing; dummy data used Beta version Test version that is stable enough to be tested by end users for an extended period of time; real data used Production version System version that is formally released to users or made operational for long-term use 3510 Systems Analysis & Design * Bob Travica 10 of 14 System deployment Activities to make a new system operational Includes: Installation and configuration User training Porting and Converting data Deployment strategy 3510 Systems Analysis & Design * Bob Travica 11 of 14 Data porting & converting 3510 Systems Analysis & Design * Bob Travica 12 of 14 Deployment strategy Direct deployment Parallel deployment 3510 Systems Analysis & Design * Bob Travica 13 of 14 Deployment strategy Phased deployment 3510 Systems Analysis & Design * Bob Travica 14 of 14