Professional Documents
Culture Documents
Systems Analysis and Design With UML:: System Implementation
Systems Analysis and Design With UML:: System Implementation
System Implementation
Contents 1. Introduction
2. Project Planning
3. System Analysis
4. System Design
5. System Implementation
5. SYSTEM IMPLEMENTATION
Learning Objectives
Be familiar with the system implementation, including system construction, testing, documentation and installation process
Implementation
(New System)
Analysis
(System Specification)
Design
(System Specification)
Key Definitions
Construction: The development of all parts of the software itself, documentation, and new operating procedures. Testing: A form of insurance. Its cheaper to fix bugs earlier, rather than later. Documentation: Provides information to make the system easier to use and maintain
Construction
Assigning Programmers
Start by looking at the package diagrams Assign similar modules to the same programmer Remember the "programmer paradox"
Can't just add more people
Coordinating Activities
Hold weekly project meetings
discuss changes to the system discuss other issues of the past week
4. Inadequate testing
Always allocate sufficient time for formal testing
Testing
Designing Tests
Testing can never prove there are no errors The purpose is not to demonstrate that the system is free of errors The purpose is to detect as many errors as possible Question:
What are considered good test results?
Testing Philosophy
It is dangerous to test early modules without an overall testing plan It may be difficult to reproduce sequence of events causing an error
Test Planning
Address all products created during development
So develop test plan early Example, test completeness of CRC cards
Each test:
Has as specific objective
Has specific test cases to examine Uses test specifications
Stages of Testing
1. Unit testing
Tests each module to assure that it performs its function Tests the interaction of modules to assure that they work together Tests to assure that the software works well as part of the overall system Tests to assure that the system serves organizational needs
2. Integration testing
3. System testing
4. Acceptance testing
Unit Testing
Tests a single unit (a class) Type of unit testing:
1. Black Box Testing
Most common Looks just at inputs and outputs Tests whether the unit meets requirements stated in specification
2. White-Box Testing
Looks inside the module to test its major elements
Limited usefulness in OO design - because units are so small
Integration Testing
After the classes pass unit tests
2. Use-case testing
Ensures that each use case works correctly
Step through each use case Often combined with UI testing
Integration Testing
3. Interaction testing Start with a package
System Testing
1. Requirements Testing 2. Usability Testing 3. Security Testing 4. Performance Testing
5. Documentation Testing
System Testing
See that all classes work together Similar to integration testing but broader
Requirements Testing
Are business requirements met? Ensures that integration did not cause new errors
Usability Testing
Tests how easy and error-free the system is in use Informal or formal
System Testing
Security Testing
Assures that security functions are handled properly
- e.g. Disaster recovery
Performance Testing
Assures that the system works under high volumes of activity
Documentation Testing
Analysts check that documentation and examples work properly
Acceptance Testing
Done by users with support from project team Ensure the system meets the originally stated requirements Alpha Testing
Repeat tests by users to assure they accept the system, uses known data
Beta Testing
Uses real data, not test data
Documentation
Documentation
Developed throughout SDLC
Not left to the end of the project
System Documentation
Helps programmers and analysts understand the application
User Documentation
Help users operate the system High quality documentation takes about 3 hours per page to produce Should not be left to the end of the project
2. Procedures manuals
May require several tasks
How to use major function of system
3. Tutorials
Installation
Key Ideas
Transitioning to new systems involves managing change from pre-existing norms and habits
Implementing Change
Unfreezing
Unfreezing
Activities to date facilitate unfreezing Users:
Already know of the new system Helped in the analysis phase
Moving Conversion
Migration Planning
Helps move people from As-Is system to To-Be system
Organizational aspects
Training users on the system
Motivating employees to use the new system to aid in their work
Conversion Styles
1. Direct conversion
Cold Turkey, Big Bang, Abrupt Cutover The new system instantly replaces the old Upgrading to new version of word processor Simplest and most straightforward Most risky Old and new systems used side by side Old is turned off when new is shown to work Provides a safety net Added expense and complexity of running both
2. Parallel conversion
Conversion Location
Which parts of the organization are converted, and when?
1. Pilot conversion
A few locations are converted first Once bugs are worked out, other locations are converted Provides additional testing before going live
Conversion Location
2. Phased conversion
1. Partition the organization 2. Convert each partition one at a time 3. Allows smaller installation team 4. Same pros and cons as pilot conversion
3. Simultaneous conversion
All locations are converted at the same time Can be used with direct or parallel conversion Everyone uses same version Requires large staff to perform conversion
Conversion Modules
Which parts of the new system are installed when?
1. Whole system conversion
All modules converted in one step Most common May be a steep learning curve for users
2. Modular conversion
Separate modules are converted one at a time Application must be written for this
Conversion Strategies
Risk
Seriousness of remaining bugs Parallel less risky than direction conversion
Bugs can be fixed before shutting down old system
Cost
Parallel requires paying for two systems for a period of time
Time
Direct conversion is fastest
Parallel takes longer
Need to wait for the turn off of the old system
Simultaneous is fast
All locations done at once
Change Management
Change Management
Conversion was the technical aspect of moving to the new system Change management is the organizational aspect of moving to the new system
Potential adopter(s)
The people who must change This is who the system is designed for
Resistance to Change
Good for the organization
Motivating Adoption
Two strategies:
Informational Political
Informational Strategy
Convince adopters that the change will benefit them
Write memos, hold seminars
Sell the new system
Motivating Adoption
Political Strategy
Organizational power is used to motivate change Used when costs outweigh benefits for individuals Adopt the system or your fired
Types of Adopters
Ready Adopters (20% - 30%)
Recognize the benefits Quickly adopt the system Become proponents of the system
What to Train
Helping users accomplish their tasks
Dont show off the new system
How to Train
Classroom Training
Trains many users with one instructor Creates a shared experience among users Efficient use of resources
One-on-One Training
More expensive Has most impact on users Meets individuals needs Used for important users or when there are very few users
How to Train
Computer Based Training (CBT)
Expensive to develop Cheap to deliver Has least impact on users
One size doesnt fit all
Greatest reach
Train most users, over the greatest distance, in the shortest time
Refreezing
Goal
To institutionalize the use of the new system
Make it the normal, routine, accepted way of doing business
System Support
On-demand training
At the time of users need
Online support
Frequently asked questions (FAQ)
Help desk
Phone service for known issues
80% success with first call
Level 2 Support
For the other 20%
System Maintenance
Refining the system so it continues to meet business needs
Project Assessment
Determine what worked, and what didnt
System Review
Was the cost/benefit estimate valid? Start with system request and feasibility analysis Helps improve future cost/benefit estimates
Final Report
1. Project Name 2. Table of Contents 3. Executive Summary 4. System Request
Final Report
7. System Documentation
1. Use Case Diagram 2. Activity Diagram 3. Sequence Diagram 4. Class Diagram 5. User Interface Design 6. Data Model
7. Deployment Diagram
Final Report
8. Testing and Evaluation
1. Unit Testing (whitebox & blackbox)
Penemuan Bug Secara Fungsi
9. Installation
Installation Strategy
Pemilihan Strategi Instalasi yang Sesuai dengan Kondisi dan Kultur Organisasi
Referensi
1. Alan Dennis et al, Systems Analysis and Design with UML 4th Edition, John Wiley and Sons, 2013
2. Kenneth E. Kendall and Julie E Kendall, Systems Analysis and Design 8th Edition, Prentice Hall, 2010
3. Hassan Gomaa, Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures, Cambridge University Press, 2011 4. Gary B. Shelly and Harry J. Rosenblatt, Systems Analysis and Design 9th Edition, Course Technology, 2011
5. Howard Podeswa, UML for the IT Business Analyst 2nd Edition, Course Technology, 2009
6. Jeffrey A. Hoffer et al, Modern Systems Analysis and Design 6th Edition, Prentice Hall, 2012