- Количество слайдов: 61
SYSTEMS ANALYSIS AND DESIGN Presentation by: Walter Onditi Perpetua Mugereki Eunice Ngunjiri Sammy Nyambu William Turi
Topics Covered Software Acquisition Installation Implementation Activities Post Implementation Software Support and Maintenance
SOFTWARE AND ACQUISITION
Evaluating and Purchasing Software Packages Examine software alternatives and select an overall strategy for the proposed System to prepare for the transition to the systems design phase. Process • Step 1: Planning the acquisition eg Assigning Key Roles • Step 2: Defining the software product’s requirements i. e the software requirements are elicited, analyzed, specified and validated. • Step 3: Determining the acquisition approach • Step 4: Identifying and evaluating potential suppliers (and their software products) eg Formal Request-For-Proposal (RFP) • Step 5: Defining the contract requirements eg Fixed-Price Contracts, Cost reimbursable contract • Step 6: Selecting a supplier eg Cost/Benefit Analysis, • Step 7: Negotiating and awarding the contract eg Risk Sharing:
Process Cont--Define the Software Product Plan the Acquisition Build Determine Acquisition Approach Software development Buy Identify & Evaluate Potential Supplier Define Contract Requirement Select a Supplier Negotiate & Award Contract Manager Supplier Accept Product & close Contract
METHODS OF ACQUIRING SOFTWARE Custom Developed Software In-house Development. Contract an External Software – Advantages of Custom Developed Software Resultant program will exactly fulfill the processing requirements. Disadvantages of Custom Developed Software Higher Cost eg Cost borne by one organization than being shared Software Defect
In-House Developing Companies choose in-house development to: Satisfy Unique Business Requirements Minimize Changes in Business Procedures and Policies Meet Existing Technology Develop Internal Resources and Capabilities
Package Purchasing – Off-the self Packages A commercially available software package could satisfy system requirements. Advantages • Lower Cost • Less Time to Implement • Proven Reliability and Performance Benchmarks • Less Technical Development Staff • Future Upgrades Proved by the Vendor • Other Companies as Resources • Better Documentation • Training Easily Available • Disadvantages of Packaged Software • May not meet all requirements • Less efficient •
Customizing Software Packages Acquire a package that can be customized to meet the needs of an organization. -Purchase a basic package that vendor will customized to suit your needs Negotiate directly with the software vendor to make enhancements to meet your needs by paying extra charge Purchase the package and make your own modification.
In-House developed vs Purchased Package
Other Software Alternatives Other possibilities include using : • An application service provider - An ASP delivers applications, or access to applications, by charging a usage or subscription fee , license (Application Hosting) • Outsourcing - is the use of outside companies Called Service Providers to handle a portion of a company’s IT workload on a temporary or long- term basis. • Developing end-user applications - utilize standard business software, such as Microsoft Office, which has been configured in a specific manner to enhance user productivity.
Disadvantages of Outsourcing • Could lose control over the software, risk is high due to competition • Do not build internal competence • Development costs could exceed the budget • Time schedule could be overrun • The outcome might not meet expectations • Some projects could be canceled before end of development period • Customer might not take active part in development
Recommended Software Acquisition Best Practices Contractor capability evaluation Contractual software process commitment Independent technical reviews Realistic cost and schedule constraints Software acquisition metrics Software acquisition process improvement Software acquisition risk management Software quality incentives Software system acquisition Software-inclusive performance requirements Description Performing a formal evaluation of the contractor's software development capability as part of source selection Obtaining a contractual commitment that the contractor will follow mature, well-disciplined software engineering processes Performing independent technical reviews of the contractor's software products and processes throughout the development life cycle Imposing realistic software cost and schedule constraints based on valid historical data and appropriate use of software cost models Using metrics as an integral part of the Government's software acquisition processes Analyzing current software acquisition processes for deficiencies and implementing new/modified processes to correct those deficiencies Using a continuous process of software acquisition risk identification, assessment, prioritization, mitigation, and control throughout the system life cycle Using award fees and other incentives to positively motivate the contractor to use software engineering best practices Including software as an integral part of the systems acquisition processes Including software in the specification of system performance requirements
Installation is the setup or making the system ready for execution and available for users. Systems often come with a specialized program for installation referred to as installer Systems can be installed from a storage media (CD/DVD or flash drive), or from a network. 15
Types of installation Attended installation An installation process that needs a user who attends to it in order to make choices, such as accepting or declining EULA (end-user license agreement ) and installation location Often uses wizard-based interface installers may ask users to help mitigate the errors E. g. if the installation disk chosen is full, the user is asked to specify another target path.
Unattended installation Installation that is performed without user interaction during its progress It does not require the user to supply any information They use an answer file, a file that contains all the necessary parameters prior to the start of installation. There is no user to help mitigate errors so if the installation medium was faulty, the installer stops the installation and may record errors in a computer log for later review Silent installation Installation that does not display messages or windows during its progress. Done for convenience or subterfuge (Deceit ) E. g. Malware is always installed silently when a user plugs in an infected device
Scheduled or automated installation An installation process that runs on a preset time or when a predefined condition is met E. g. installations of updates when the machine is idle or weekly antivirus updates Clean installation Done in the absence of any interfering elements such as old versions of the computer program being installed or leftovers from a previous installation.
Activities during Installation Recommended system requirements: certain hardware components or other software resources that have to be present on a computer Checking for existing versions of the software Creation of Shortcuts or links; Making the software accessible to user with minimum clicks Performing product activation
• Before implementing, it is necessary to Develop a test System that fulfils business and design requirements • This test system implements the interfaces between the new system and existing systems. • This is referred to as Construction phase
Activities Involved If system calls for new network functionality, then it must be built and tested first The Network designer – designs LANS and WANS and tests the connectivity The Network administrator – takes care of the network security Systems analyst Ensures that business requirements are not compromised i. e. ensures that Standards are met 22
Creation and Testing of databases Test with sample data System users Provide test data Database designer/programmer Build tables, views, stored procedures (if relational database) Database administrator Manipulate the database for optimum performance Deals with Security Backup and recovery 23
Installation of New Software Packages Some Systems solution may require purchase or lease of software packages Involves System users, analysts, designers, builders, vendors and consultants
Testing New Packages An investigation conducted on a system to evaluate the its compliance with its specified requirements. Its is done to confirm that all modules work as specified, and as a system as a whole. Testing is done after entire program is written
Testing levels Stub test - done on individual events or modules of program to simulate the behaviors of software components • Unit test - This is done on modules coded & stub tested for a program and tested as integrated unit. • Systems test -This ensures that separately developed and tested 26
INTRODUCTION • Once a new system has been designed, it must be implemented as a working system and maintained to keep it operating properly. • Many implementation activities should be undertaken in parallel to reduce implementation time. Training of personnel and preparation of software may be in parallel with each other and with other implementation activities.
Implementation Planning the implementation • Phase 1: Preparation • Phase 2: Set Up • Phase 3: Roll Out • Phase 4: Follow up Action to implement the plan
Planning the implementation Phase 1: Preparation • Identify project manager, administration & other key team members • Review technical requirements with IT • Training for Administrators Phase 2: Set Up • Configure general site information • Customise branding • Set Session defaults • Customise email templates • Add users
Planning the implementation Phase 3: Roll Out • Training session leaders • Activate all user accounts • Users to create/conduct private sessions • General Question & Answer Sessions • User start conducting live sessions Phase 4: Follow up • Monitor usage-Ongoing • Hold follow up meetings-Ongoing
Implementation phase Implementation Activities Acquisition of H/W & S/W services Software Development or modification Data conversion End user Training Conversion: Parallel Pilot Phased Direct
System conversion Strategies Once the design has been completed, there are four basic methods for implementing the information system. Parallel conversion Old & new system run simultaneously until end users and project coordinator are satisfied that the new system is functioning correctly. It can be effected by using; – a single cut over (predetermined date) or – phased cut over (predetermined method). Outputs are compared from both systems for convergence and accuracy. It has low risk but high cost. .
System conversion Strategies Direct Conversion/Slam dunk/cold turkey strategy/abrupt cut over Here, old system/method is switched off; new method is switched on. It has the least costs but has high risk of failure. It’s the only viable solution in activating new systems where two systems cannot co-exist Pilot/Locational Conversion The new system is installed in multiple locations such as branches from geographic perspective. It allows for direct or parallel methods to be used at a single location. It offers the best representation of organization. It is less risky and allows for evaluations before rolling out to different locations.
System conversion Strategies Phased/Staged Conversion This is an increamental approach. The new system is brought as a series of functional components that are logically ordered to minimize disruption to end users and flow of business. It takes a lot of time, less risky and is the most disruptions to organizations over time. Small parts or subsystems are substituted for the old. In the case of upgrading old systems, this may be a very desirable method.
Implementation Tasks Planning the implementation activities • Establish Relationships among tasks • Text form. • A Gantt chart or • Network diagram • Establish a Schedule • The critical path (longest time through the network) can be calculated. After specifying the starting date, the end date is established. • Cost Schedule to Tasks and Time • The cost for completing each task required to complete is established. • The rate of expenditures should be budgeted. • Reporting and control of the work in progress may be obtained by weekly meetings.
Implementation Tasks Acquiring and laying out facilities and offices • new office, computer room etc. • The project manager must prepare rough layouts and estimates of particular floor areas that feel to be needed. • The manager then prepares cost estimates. • Space planning must be done by the space to be occupied by people, the space occupied by equipment and the movement of people and equipment in the work progress. A large investment in good working conditions will repay its cost many times. Organizing the personnel for implementation • Assigning of tasks by project • The purpose of the MIS is to increase the amount and quality of their contributions, the system is their system. • Top management must make the middle managers for their involvement in implementation, besides these, systems specialists, computer programmer; top management should make sure that each people who will operate the system should have active parts in the implementation.
Implementation Tasks Developing procedures for installation and testing • Develop or prepare the procedures for implementation. • Procedures for evaluating and selecting hardware must be spelled out. • Testing of each segment of total system as it is installed. Developing the training program for operating personnel • To understand the system and its capabilities. • To enhance acceptance of changes. • According to user requirements: • End users e. g. on data entry and all aspects of the system • Managers & end users education on how the new system will impact on business operations & management. • Training programmers for any new Hardware devices, software packages and their use for specific work activities
Implementation Tasks Completing the system’s software • Consider hardware requirements. • Some modification may be required, as the implementation stage progresses. Factors to consider include quality (bug free), efficiency, flexibility, security, connectivity, maintenance, documentation and overall rating. Acquiring required hardware • Started during the design stage. • The decision is to be needed, whether to buy or lease the hardware. Capital expenditure analysis is only one of many factors involved in this decision. Others are prestige, usage etc. • Suppliers to present proposals based on system specifications • Use of RFP(request for proposal) sent to appropriate vendors • Scoring system • Use of benchmark test programs to test data • Other Factors include ergonomics, user friendly, safe, comfortable, ease to use and Connectivity i. e. Network technologies, bandwidth, performance, cost, reliability, compatibility, scalability, ergonomics, software & support & overall rating
Implementation Tasks Generating files • In the implementation stage, the actual data must be obtained and recorded for the initial testing and operation of the system. This requires format of the data, storage form and format and remarks to indicate when the data have been stored. • The collection of data used in routine operations is often called the master file. • Responsibility for file maintenance for each file item should also be assigned. The development of files or databases belongs to information system designers and storage and retrieval experts. • The translation of specifications for files into computer programs is a function of computer specialists. Designing forms • For controlling the marketing, a salesperson has to fill out the forms summarizing the day’s activities. The form ensures the right information to be supplied for computer storage. • Forms are required not just for input and output but also for transmitting data at intermediate stages.
Implementation Tasks Testing the entire system • As the total system is installed; tests should be performed with the test specifications and procedure. A test during installation stage consists of: • component tests • Subsystem tests • total system acceptance tests. • Components may be equipment (that can be new or old), new software programs, new data collection methods, work procedures, reporting formats. Difficulties that occur during component tests may lead to design changes. • System tests require verification of multiple inputs, complex logic systems, and timing aspects of many parts. • Testing & debugging Software • Testing website performance • Testing new hardware • Review of prototypes of displays, reports and other outputs
Implementation Tasks completing cutover to the new system • Cutover is a point at which the new component replaces the old component to the new system replaces the old system. This involves old forms, old files and old equipment being retried. The debugging proves associated with the cutover to the new system may extend for several months. • Replacing previous system, its software and database • Correcting incorrect data • Filtering Unwanted data • Consolidating data from several databases & organizing data to new data subsets e. g. databases, data warehouses • Time necessary to transfer data from old data files to new data files for the new system • Preservation of the integrity of the current system data files during the process.
Implementation Tasks Documenting the system • Preparation of written descriptions of the scope, purpose, information flow components, and operating procedures of the system. • Documentation is a necessity for troubleshooting, for replacement of subsystems, for interfacing with other systems, for training new operating personnel and also for evaluating and upgrading the system. • Sample data entry display screens, forms & reports • Use computer aided systems engineering methods • Communication between developers, implementing & maintaining of the computer based system. This helps diagnose errors & making changes especially if developers/system analysts are not within the organization.
Implementation Tasks Evaluating the system • After the system has been operating smoothly for a short period of time; an evaluation of each step in the design and of the final system performance should be made. • Evaluation should not be delayed beyond the time when the system’s analysts have completed most of the debugging. The longer the delay, the more difficult it will be for designer to remember important details. • The evaluation should be made by the customer as well as by the designers. Providing system maintenance • Control and maintenance of the system are the responsibilities of the line managers. • Control of the systems means the operation of the system as it was designed to operate. • Maintenance is that ongoing activity that keeps the information systems at the highest levels of effectiveness and efficiency within cost constraints. • Maintenance is directed towards reducing errors due to design, reducing errors due to environmental changes and improving the system’s scope and services.
ØWhat is Post Implementation Review [PIR] o A Post-Implementation Review (PIR) is an assessment and review of the completed working solution. o It will be performed after a period of live running, some time after the project is completed. ØWhy conduct a PIR? o To ascertain the degree of success from the project, in particular, o the extent to which it met its objectives, o delivered planned levels of benefit, and o addressed the specific requirements as originally defined. o To examine the efficacy of all elements of the working business solution to see if further improvements can be made to optimize the benefit delivered. o To learn lessons from this project, lessons which can be used by the team members and by the organization to improve future project work and solutions. 47
Post-Implementation Review Ø When to conduct the PIR? A Post-Implementation Review should be scheduled some time after the solution has been deployed. Typical periods range from 6 weeks to 6 months, depending on the type of solution and its environment. The PIR is intended to be an assessment and review of the final working solution. There should have been at least one full processing and reporting cycle completed. It should not be performed while the initial snags are still being dealt with or while users are still being trained, coached and generally getting used to its operation. o o Issues Initial Settling Trouble- Down shooting Fine Tuning Go Live Note: The PIR should be timed to allow the final improvements to be made in order to generate optimum benefit from the solution. There is no point in waiting too long as the results are intended to generate that final benefit for the organisation and team PIR Final Improvements Time
Post Implementation Ø Who should conduct the Post Implementation Review [PIR] o Under normal circumstances, members of the project team will want to complete the review as a natural extension of their responsibility to deliver optimum benefit from the solution. o The argument is that they understand o o o what was required, what was changed, how it was achieved, how things are supposed to work, how to fix problems, o However another school of thought will argue that the review should be performed by an independent team. o This reduces the risk that any errors or omissions of the project team might equally be overlooked in their review. What Do you think? ? ? A solution is to do both. An independent audit team, working in consultation with the business users and project team, could examine whether the results are satisfactory. The project team might then reconvene to consider that input and also to examine how to generate further value from the solution. 49
Ø How to conduct the PIR A list of points should be drawn up to cover all elements of the operational solution including: Current situation Is the required functionality available? Have users received adequate training and coaching to take advantage of the new facilities? Are staffing levels and skillsets appropriate for the actual workloads? Are third parties such as customers and suppliers satisfied with the service? Are faults handled at an acceptable speed and with satisfactory results? Is data integrity being maintained within the system and in relation to other integrated or interfaced systems? Does the system and its usage meet current legal and regulatory requirements? Does the system have the capacity to deal with the actual peak loadings as encountered and foreseen? Benefits What were the final costs of the project? What is the actual operating cost of the new solution? What is the actual benefit being delivered by the new solution? How does that compare to the original project definition? Future improvements Could further training or coaching improve the degree of benefit being generated? Are there further functional improvements or changes that would deliver greater benefit? Are specific improvements required in procedures, documentation, support, etc? What learning points are there for future projects? These questions will be investigated through a combination of investigative techniques including interviews, examination of documentation, performance statistics, hands-on tests and checks, Implications and potential remedial options would then be assessed and evaluated. The findings and recommended actions would be prepared, normally in the form of a report or 50 presentation.
Post Implementation ØNext Steps The findings and recommendations will be presented to: 1. the solution's business owners, 2. the leading participants in the project, and 3. other parties who may be concerned with the results. Specific actions should be proposed to address any further work that is recommended. This might be handled in several different ways, for example: 1. 2. 3. 4. as routine support and maintenance, as remedial work to be performed by the original project team, for line management to address through user education and procedures etc, as further phases of development involving new projects. 51
SUPPORT AND MAINTENANCE
ICT Support ICT support entails the following four broad categories of activities under which certain events fall. ICT support services and acquisition of ICT systems • Determine customer requirements for ICT systems and support services • Evaluate available ICT systems and services against customer requirements • Prepare and present suitable options for the acquisition of ICT systems and support services • Develop plans to ensure that the ICT infrastructure delivers the required functionality, capacity and level of support Customer Support Provision • Provide technical information and support in response to customer requirements • Identify potential improvements in the customers’ use of resources • Assist in reviews to identify how automated procedures may improve customers’ use of resources • Create route automated procedures and assist in the creation of complex automated procedures
Cont… Install and Configure Equipment and Operating Systems • Prepare hardware/equipment for installation • Install and configure hardware/equipment • Test installed hardware/equipment • Prepare, carry out and document the installation and upgrade of operating systems • Configure and test installed operating system Maintain Equipment and Systems • Identify hazards and reduce risks to health and safety • Identify hazards and reduce risks associated with electrostatic discharge • Apply, check and record preventative maintenance procedures on hardware/equipment in ICT systems • Identify failures with hardware/equipment in ICT systems • Apply, check and record remedial maintenance on hardware/equipment in ICT systems
ICT-Maintenance • ICT-Maintenance is considered as the set of all actions which have as an objective to retain an item (or the whole system) in, or restore to, a state in which it can perform the required function. The actions include the combination of all technical and related administrative, managerial, and supervisory actions such as tests, measurements, replacements, adjustments and repairs. Why Maintenance is Important • In the software lifecycle, nearly 70% of the cost goes into Support & Maintenance activities of the application. Enterprises & Medium Sized Companies spend an average of 73% of their IT budget on Maintenance of existing systems.
FORMS OF MAINTENANCE Preventive maintenance • Keeping equipment and facilities in satisfactory operating condition by providing for • systematic inspection, detection, and correction of incipient failures either before they • occur or before they develop into major defects. • Maintenance, including tests, measurements, adjustments, and parts replacement, • performed specifically to prevent faults from occurring. • Preventive maintenance is usually done in regular time intervals (according to each item’s specifications). Ad-hoc preventive maintenance is performed after new software product releases or versions, if they are recommended for bug fixing. Some examples of preventive maintenance include: • Measurement of system’s performance and appropriate tuning • Virus scanning • Active directory scanning • Data volume control and compression (if applicable) • Data archiving / purging • Hard discs bad blocks detection and replacement
Corrective Maintenance • This form of maintenance aims at restoring the defective item(s) to the required state. • It is required after the occurrence of a problem or failure, hence the response time of the contractor or the overall availability of the system and its elements are essential indicators and terms in a maintenance contract. Adaptive Maintenance • This form focus in adjusting a software product to properly interface with a changing environment. • It is required mostly in unstable legislative, institutional and/or technical environments. It is performed ad-hoc, in accordance with the frequency the environment changes.
Cont…… Perfective Maintenance • This form of maintenance refers to enhancements to the product in order to either add new capabilities or modify existing functions. • Perfective maintenance is normally part of a successful system’s life cycle, and refers to further extensions and improvements beyond the initial specifications. It may include the implementation of new software modules and/or new OS and off-the-self software versions which aim in performance improvement. In some cases, additional hardware is required to improve system security and performance.
Preparing How to carry out Since the Organization may possess information systems and tools purchased from different vendors in a long time period, an efficient recordkeeping of the systems in hand is essential for maintenance management; hence performing a hardware, software and telecommunications inventory is the first step of an efficient maintenance program. Appropriate maintenance of the records and transaction monitoring result to keeping the information up-to-date, which in turn allows statistical data extraction to be used as input to further consideration about system maintainability, sustainability and related costs. Obtain a good and detailed system documentation A well-documented system (covering the entire architecture as well as all of its elements) is very important, especially for software maintenance. Furthermore, an updated documentation, reflecting the changes derived from the maintenance activities, should be provided for future purposes. Good documentation aims in providing structured instead of unstructured maintenance. Prioritizing needs Maintenance costs are a significant part of the system’s total life cycle costs. Therefore, revision of the business non-functional requirements (such as availability, performance etc) for each part of the system is essential before any signing a new maintenance contract in order to keep Organization’s costs within affordable barriers.
Cont…. Contracting Maintenance contracts may be signed with the ICT providers who supplied the equipment/ICT system or third parties who are in possession of the appropriate infrastructure. Increasing the number of contracts and contractors increases complexity and may cause administrative problems; hence it is advisable to review and consolidate maintenance contracts regularly, possibly achieving significant cost reductions as well. Important parts of the planning activities are the hardware, software, data and telecommunication inventories. Typical problems with maintenance include: • Inadequate documentation of system design and structure • Loss of "cultural" knowledge of system due to staff turnover • Lack of allowance for change in original software design • Inconsistencies between new software versions/releases and the existing • applications/tools.
Cont…. ICT systems’ maintainability is enhanced by: • robust initial design and understandable system/software structure • comprehensive and accurate documentation (including design documents) • use of standards (design, language, coding, etc. ) • availability of extensive test cases