chapter – 1 system analysis fundamentals

96
Chapter – 1 System Analysis Fundamentals Contents Types of Systems Role of the System Analyst Systems Development Life Cycle CASE Tools Interviewing Joint Application Development Using Questionnaires

Upload: adam-rivera

Post on 01-Jan-2016

44 views

Category:

Documents


8 download

DESCRIPTION

Chapter – 1 System Analysis Fundamentals. Contents Types of Systems Role of the System Analyst Systems Development Life Cycle CASE Tools Interviewing Joint Application Development Using Questionnaires. Introduction. System - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter – 1 System Analysis Fundamentals

Chapter – 1System Analysis Fundamentals

ContentsTypes of SystemsRole of the System AnalystSystems Development Life CycleCASE ToolsInterviewingJoint Application DevelopmentUsing Questionnaires

Page 2: Chapter – 1 System Analysis Fundamentals

IntroductionSystemAn organized relationship among the functioning units or components, which work in synchronization to achieve a common goal. System StudyA study of operations of a set of connected elements and the inter connections between these elements. It clearly shows that no one can ignore an element while doing a system study. System Approach Shows a set of procedure to solve a particular problem, It applies scientific methods to understand the inter relationship between the elements to solve the problem. System analysis It is a management exercise, which helps us in designing a new system or improving the existing system.

Page 3: Chapter – 1 System Analysis Fundamentals

Characteristics of a System Organization: It says the Structure or order of built. Interaction: Procedure in which the components interact. Interdependence. Integration Central Objective

Page 4: Chapter – 1 System Analysis Fundamentals

Why are there different types of Information System?

In the early days of computing, each time an information system was needed it was 'tailor made' - built as a one-off solution for a particular problem. However, it soon became apparent that many of the problems information systems set out to solve shared certain characteristics. Consequently, people attempted to try to build a single system that would solve a whole range of similar problems. However, they soon realized that in order to do this, it was first necessary to be able to define how and where the information system would be used and why it was needed. It was then that the search for a way to classify information systems accurately began.

Page 5: Chapter – 1 System Analysis Fundamentals

How do you identify the different types of information system in an organization?

The different types of information system that can be found are identified through a process of classification. Classification is simply a method by which things can be categorized or classified together so that they can be treated as if they were a single unit. The classification of information systems into different types is a useful technique for designing systems and discussing their application; it not however a fixed definition governed by some natural law. A 'type' or category of information system is simply a concept, an abstraction, which has been created as a way to simplify a complex problem through identifying areas of commonality between different things. One of the oldest and most widely used systems for classifying information systems is known as the pyramid model.

Page 6: Chapter – 1 System Analysis Fundamentals

How many different kinds of Information System are there?Depending on how you create your classification, you can find almost any number of different types of information system. However, it is important to remember that different kinds of systems found in organizations exist to deal with the particular problems and tasks that are found in organizations. Consequently, most attempts to classify Information systems into different types rely on the way in which task and responsibilities are divided within an organization. As most organizations are hierarchical, the way in which the different classes of information systems are categorized tends to follow the hierarchy. This is often described as "the pyramid model" because the way in which the systems are arranged mirrors the nature of the tasks found at various different levels in the organization.For example, this is a three level pyramid model based on the type of decisions taken at different levels in the organization.

Page 7: Chapter – 1 System Analysis Fundamentals

Figure – 1.1Three level pyramid model based on the type of decisions taken at different

levels in the organization

Page 8: Chapter – 1 System Analysis Fundamentals

Figure – 1.2Five level pyramid model based on the processing requirement of

different levels in the organization

Page 9: Chapter – 1 System Analysis Fundamentals

A comparison of different kinds of Information Systems

Transaction Processing System (TPS) supports day to-day operations. Examples of TPS are order-entry systems, cheque processing systems, accounts receivable systems, accounts payable systems, payroll systems and ticket reservation systems. These systems help any company (organization) to conduct operations and keep track of its activities. TPS was first developed in the 1950s in accounting department of major corporations. It is the oldest type of information system.

Page 10: Chapter – 1 System Analysis Fundamentals

Transaction Processing System (TPS) consist of all the components of a Computerized Business Information System) CBIS, which includes databases, people, procedure, software, hardware, devices and telecommunication used to process transaction.

TPS were among the earliest computerized systems. Their primary purpose is to record, process, validate, and store transactions that take place in the various functional areas/of a business for future retrieval and use. A TPS is an information system that records company transactions (a transaction is defined as an exchange between two or more business entities).

Page 11: Chapter – 1 System Analysis Fundamentals

Inputs Processing Outputs

Transactions

Events

Validation

Sorting

Listing

Merging

Updating

Calculation

Lists

Detail reports

Action reports

Summary

reports?

Table - 1.1 (Data processing requirement for TPS)

Functions of a TPSTPS are ultimately little more than simple data processing systems. Functions of a TPS in terms of data processing requirements  

Page 12: Chapter – 1 System Analysis Fundamentals

Some examples of TPS Payroll systems Order processing systems Reservation systems Stock control systems Systems for payments and funds transfers

The role of TPS Produce information for other systems Cross boundaries (internal and external) Used by operational personnel and supervisory levels Efficiency oriented

Page 13: Chapter – 1 System Analysis Fundamentals

Office automation systems and knowledge work systems (OAS and KWS)

This system comes under the knowledge level, and the knowledge level organization divides two classes of the system. First one is OAS which supports data workers, who will not create knowledge but make analysis of information, manipulation of information and transformation of information. The important aspects of OAS are communication through voice mail, word processing, spreadsheet, desktop publishing and video conferencing. And second one is KWS which support professional workers who are doctor, engineers, scientist etc, who create the knowledge by their own.

Page 14: Chapter – 1 System Analysis Fundamentals

Management Information SystemsThe MIS is defined as a Computer based Information System. The MIS is defined as a system which provides information support for decision making in the organization. A collection of subsystems and related programme parts or modules that are interconnected in a manner which fulfils the information requirements necessary to plan, organise, direct and control business activities.The MIS is defined as a system based on the database of the organization developed with the purpose of providing information to the people in the organization.MIS is an Information System which is used to transform data into useful information as needed to support management decision making which is based on the predictable pattern of activities.

Page 15: Chapter – 1 System Analysis Fundamentals

Functions of a MISMIS are built on the data provided by the TPS. Functions of a MIS in terms of data processing requirements.

Inputs Processing OutputsInternal TransactionsInternal FilesStructured data

SortingMergingSummarizing

Summary reportsAction reportsDetailed reports

Table - 1.2 (Data processing requirement for MIS)

Page 16: Chapter – 1 System Analysis Fundamentals

Some examples of MISSales management systemsInventory control systemsBudgeting systemsManagement Reporting Systems (MRS)Personnel (HRM) systemsThe role of MISBased on internal information flowsSupport relatively structured decisionsInflexible and have little analytical capacityUsed by lower and middle managerial levelsDeals with the past and present rather than the futureEfficiency oriented

Page 17: Chapter – 1 System Analysis Fundamentals

Decision Support Systems

DSS is an interactive computer based system which facilitates the solution of unstructured problems. DSS are interactive, computer based facilities for assisting human decision making. DSS supports complex decision making and increases its effectiveness.

A Decision Support System can be seen as knowledge based system, used by senior managers, which facilitates the creation of knowledge and allow its integration into the organization. These systems are often used to analyze existing structured information and allow managers to project the potential effects of their decisions into the future.

Page 18: Chapter – 1 System Analysis Fundamentals

Such systems are usually interactive and are used to solve ill structured problems. They offer access to databases, analytical tools, allow "what if" simulations, and may support the exchange of information within the organization.

Functions of a DSSDSS manipulate and build upon the information from a MIS and/or TPS to generate insights and new information. Functions of a DSS in terms of data processing requirements.

Page 19: Chapter – 1 System Analysis Fundamentals

Inputs Processing OutputsInternal TransactionsInternal FilesExternal Information

ModelingSimulationAnalysisSummarizing

Summary reportsForecastsGraphs / Plots

Table - 1.3 (Data processing requirement for DSS)

Page 20: Chapter – 1 System Analysis Fundamentals

Some examples of DSSGroup Decision Support Systems (GDSS)Computer Supported Co-operative work (CSCW)Logistics systemsFinancial Planning systemsSpreadsheet ModelsThe role of DSSSupport ill- structured or semi-structured decisionsHave analytical and/or modeling capacityUsed by more senior managerial levelsAre concerned with predicting the futureIs effectiveness oriented

Page 21: Chapter – 1 System Analysis Fundamentals

Executive Information Systems

ESS is management information systems tailored to meet the strategic information needs of top managements/senior executives. It summarizes and presents data at the highest levels of aggregation.

The goal of computer based ESS is to provide top executives with immediate and easy access to selective information.

Graphic displays are used extensively and immediate access to internal and external databases is provided.ESS combines features of information reporting systems and DSS.

Page 22: Chapter – 1 System Analysis Fundamentals

Executive Information Systems are strategic-level information systems that are found at the top of the Pyramid. They help executives and senior managers analyze the environment in which the organization operates, to identify long-term trends, and to plan appropriate courses of action. The information in such systems is often weakly structured and comes from both internal and external sources. Executive Information System are designed to be operated directly by executives without the need for intermediaries and easily tailored to the preferences of the individual using them.

.

Page 23: Chapter – 1 System Analysis Fundamentals

Functions of an EISEIS organizes and presents data and information from both external data sources and internal MIS or TPS in order to support and extend the inherent capabilities of senior executives.Inputs Processing OutputsExternal DataInternal FilesPre-defined models

SummarizingSimulation"Drilling Down"

Summary reportsForecastsGraphs / Plots

Table - 1.4 (Data processing requirement for ESS)

Page 24: Chapter – 1 System Analysis Fundamentals

Some examples of EISExecutive Information Systems tend to be highly individualized and are often custom made for a particular client group; however, a number of off-the-shelf EIS packages do exist and many enterprise level systems offer a customizable EIS module.

The role of EIS

Are concerned with ease of useAre concerned with predicting the futureAre effectiveness orientedAre highly flexibleSupport unstructured decisionsUse internal and external data sourcesUsed only at the most senior management levels

Page 25: Chapter – 1 System Analysis Fundamentals

These expert systems have proven to be quite successful. Most applications of expert systems will fall into one of the following categories:

Interpreting and identifying Predicting Diagnosing Designing Planning Monitoring Debugging and testing Instructing and training Controlling

Page 26: Chapter – 1 System Analysis Fundamentals

Benefits of Expert Systems

Increase the probability, frequency, and consistency of making good decisions

Help distribute human expertise Facilitate real-time, low-cost expert-level

decisions by the non expert Enhance the utilization of most of the available

data Permit objectivity by weighing evidence without

bias and without regard for the user’s personal and emotional reactions

Permit dynamism through modularity of structure

Free up the mind and time of the human expert to enable him or her to concentrate on more creative activities

Encourage investigations into the subtle areas of a problem

Page 27: Chapter – 1 System Analysis Fundamentals

Artificial Intelligence

There are many definitions of AI. The basic objective of AI is to represent humans' thought processes in computers. These machines are supposed to exhibit behavior that, if performed by a human being, would be considered intelligent. An alternate definition, not covered in the text is by Astro Teller: "Artificial intelligence (AI) is the science of how to get machines to do the things they do in the movies." On the other hand Wallace Marshal states that "Artificial stupidity (AS) may be defined as the attempt by computer scientists to create computer programs capable of causing problems of a type normally associated with human thought."

Page 28: Chapter – 1 System Analysis Fundamentals

Artificial Intelligence can be considered as a science and technology whose goal is to develop computers that can think, see, hear, walk, talk and feel. A major thrust is the development of computer functions normally associated with human intelligence for example reasoning, inference learning and problem solving. Major areas of AI research and development include cognitive science, computer science, and robotics and natural language applications. 

Page 29: Chapter – 1 System Analysis Fundamentals

List the major AI technologies.

Expert systems, natural language processing, robotics, speech understanding, speech (voice) recognition, computer vision and scene recognition, intelligent computer-aided instruction, neural computing, intelligent agents, automatic programming, translation of languages, and summarizing news can all be considered AI technologies. The major technologies are expert systems, neural networks, intelligent agents, fuzzy logic, and genetic algorithms.

Page 30: Chapter – 1 System Analysis Fundamentals

System Analyst A system analyst is the person responsible for the development of software and hardware solutions for the efficient working of an organization. Analysts study the environment and problems of an organization to determine whether a new system can provide solutions to the problems. The main job of a system analyst is to provide right type of information, in right quantity at the right time in a cost effective manner to the management or the end user for successful running of an organization. 

Page 31: Chapter – 1 System Analysis Fundamentals

Role of a System Analyst

1. Defining IT requirements of the organization – role of consultant.

2. Setting priorities among requirements

3. Gathering data or facts4. Analyzing and Evaluation5. Problem solving – role of problem

solver6. Drawing specifications7. Designing system – role of

architects8. Evaluating system – role of

evaluator9. System analyst as an agent of

change10.System analyst as a technician

 

.

Page 32: Chapter – 1 System Analysis Fundamentals

Role of a System Analyst System analyst plays an important role which is described in the following

sections: 1. Defining IT requirements of the organization – role of consultant

 One of the most important and difficult task of an analyst is to understand the organization’s requirements for information. It involves interviewing users and finding out what information they use in the current system and how they use it. They are then asked what information they lack. In case, it is provided, how will that allow them to do their job better. Then, the analyst has to determine how such information can be generated, from the available inputs, or if some other inputs are to be collected. 

2. Setting priorities among requirements

 In any organization, there are many types of users. Each user has different types of information needs. It may not be possible to satisfy the requirements of every one, due to limited availability of resources. So, it would be necessary to give priority to them. The priorities are to be set based on the urgency and importance of the user’s need.

Page 33: Chapter – 1 System Analysis Fundamentals

3. Gathering data or facts For gathering data or facts, written documents are important because these documents represent the formal information flow in the system. The analyst studies documents such as input forms, output reports, invoices etc., to understand how data are passed and used in the present system. Analyst may consult the users for the existing reporting system for getting more information. Moreover, users must be made aware of what information they will get under new system and how they will make use of it. The analyst designing the new system must make use of the user’s long experience. While developing or designing a system, the analyst must continuously consult users and get their views, on various aspects of the system developments. 

4. Analyzing and Evaluation After gathering facts, an analyst analyzes the working of the current system in an organization and finds out to what extent it meets user’s needs. The analyst tries to find the best characteristics of a new or modified system.

  .

Page 34: Chapter – 1 System Analysis Fundamentals

5. Problem solving – role of problem solver System analyst helps IT users to solve their information problems. In that role, analyst must understand the problems and suggest solutions. The relative difficulties in implementing each of the alternatives and benefits of each must be determined so that the best solution may be selected. 

6. Drawing specifications Main job of an analyst is to obtain the input and outputs (specification) for optimal functioning of a system yet to be developed. The system should be easily understood by users and make up benefits for the organization as a whole. The specifications must be non-technical as far as possible, so that the users and managers can understand them well. The specification should be precise and clear for easy implementation. 

7. Designing system – role of architects Once specifications are accepted by the management, an analyst gets on to the design of the system. The design must be modular to accommodate changes easily. The analyst must be aware of the latest design tools for system design. As part of the design, he should create a test plan for the system. System analysts are also called architects because they design and implement new systems. .

Page 35: Chapter – 1 System Analysis Fundamentals

8. Evaluating system – role of evaluator An analyst must critically test the performance of the designed system with specifications after it has been in use for a reasonable period of time. The time at which evaluation is to be done, how implementation is to be done, and how user’s comments are to be gathered. Analyst should have an open mind to accept valid criticism to carry out necessary improvements. 9. System analyst as an agent of change An analyst may be viewed as an agent of change, because analyst works towards the future of the organization which needs to change. Agent of change means a person who allows making change in decision for the development in the business. Agent of change is interacting with the user as well as the management to take a strong decision for devolving the plans. 10. System analyst as a technician System analyst works as a technician, because they have knowledge and skill in areas such as design, programming, data organization and so on.  

Page 36: Chapter – 1 System Analysis Fundamentals

System Development Life Cycle (SDLC) Software systems development is, from a historical perspective, a very young profession.The first official programmer is probably Grace Hopper, working for the Navy in the mid-1940s. More realistically, commercial applications development did not really take off until the early 1960s. These initial efforts are marked by a craftsman-like approach based on what intuitively felt right. Unfortunately, too many programmers had poor intuition. By the late 1960s it had become apparent that a more disciplined approach was required.The software engineering techniques started coming into being. This finally brings us to the SDLC. 

 

Page 37: Chapter – 1 System Analysis Fundamentals

The entire process of building, deploying, using and updating the an information system is called the system development life cycle (SDLC).

The basic idea of SDLC is that, it provides a well defined process by which a system is conceived, developed and implemented.

SLDC is categorized in two approaches:(1) Predictive approach(2) Adaptive(alter) approach

Page 38: Chapter – 1 System Analysis Fundamentals

An SDLC has three primary business objectives:Ensure the delivery of high quality systems;Provide strong management controls;Maximize productivity. 

SDLC Requirements The requirements for the SDLC fall into five major categories: Scope Technical Activities Management Activities Usability Installation Guidance

Page 39: Chapter – 1 System Analysis Fundamentals

Scope Requirements The SDLC must be able to support various project types, project sizes and system types. Technical Activities The technical activities fall into a number of major categories:System Definition (Analysis, Design, Coding)TestingSystem Installation (e.g., Data Conversion, Training)Production Support (e.g., Problem Management)Evaluating Alternatives 

Page 40: Chapter – 1 System Analysis Fundamentals

Figure – 1.3 SDLC

Page 41: Chapter – 1 System Analysis Fundamentals

SDLC stages1. Identifying problems, opportunities and

objectives (Preliminary investigation)2. Determining information requirements3. Feasibility Study4. Analyzing system needs5. Designing recommended system6. Developing and documentation of software7. System testing8. Implementation and evaluation9. Maintenance

 

Page 42: Chapter – 1 System Analysis Fundamentals

1. Identifying problems, opportunities and objectives (Preliminary investigation) This is the initial stage of SDLC, in which analyst is concerned with identifying problems, requirements and objectives. Problem definition states the user requirements, or what the user expects out of the new system. This phase sets the project boundaries. It defines what parts of the system can be changes by the project and what parts of the new system are to remain without any change. This definition also includes a rough idea of the resource requirements for the project as well as the estimated start and completion time for each phase as well as the number of persons expected to be involved in each phase. In SDLC, problem identification helps in:

Pinpointing the problems Setting proper system goals. Determining the boundaries of the project by taking into

consideration the limitations of the available resources.

Page 43: Chapter – 1 System Analysis Fundamentals

2. Determining information requirements The next stage is information requirement; in this stage only users are involved because requirements can be collected from the users only. The information collection related to requirements can be done by using interactions with the user, by using any fact finding techniques like interviews, questionnaires so on. In the information requirement stage of SDLC, the analyst is needed to understand what kind of information is needed to user to execute their task.

Page 44: Chapter – 1 System Analysis Fundamentals

3. Feasibility Study Feasibility study for a system is undertaken to determine the possibility of either improving the existing system or developing a completely new system. This study helps to obtain overview of the problem and to get rough assessment of whether a feasible solution already exists. The purpose of feasibility study is to determine whether the requested project is successfully realizable. There are three aspects of feasibility study. These are:Technical feasibilityEconomic feasibilityOperational feasibility 

Page 45: Chapter – 1 System Analysis Fundamentals

Technical feasibility 

Technical feasibility centers on the required/existing computer system (hardware/software) and to what extent it can support the proposed application. This study answers the following questions:

Whether the project can be carried out with the existing equipment? Whether the existing project is good enough? Can the work be done with the existing personnel? If a new technology is required, how best can it be implemented?

In short, technical feasibility needs to specifying equipment and software that will successfully support the new task.

Page 46: Chapter – 1 System Analysis Fundamentals

Economic feasibility Economic feasibility study is frequently used for evaluating the effectiveness of a new system. Cost benefit analysis is performed to determine the benefits and savings that are expected from the new system and thus compare them with costs. This study ascertains the following:Whether the project is economically feasible?If enough funds are not available, then what are likely sources of funds?Whether there is sufficient number of benefits as compared to the costs incurred in designing of the new system. 

Page 47: Chapter – 1 System Analysis Fundamentals

 

Operational feasibility covers two aspects – (a) one is a technical performance aspect and the other is acceptance of the system within the organization.Technical performance includes issues such as determining whether the system can provide the right information for the organization’s personnel, and whether the system can be organized so that it always delivers the information at the right place and right time.Operational feasibility must determine how the proposed system will fit in with the current operations and what, if any, job reconstruction and re-training will be needed to implement the system. The analyst should determine:Whether the system can be used if it is developed and implemented?Will there be resistance from users that will cripple the possible application benefit?

Page 48: Chapter – 1 System Analysis Fundamentals

4. Analyzing system needs The next stage is analyzing system needs, the different tools and the techniques are used during analyzing the system needs. One of the important tools is data flow diagram. The data flow diagrams are used to get input and output in the graphical way. Further, data dictionary is created from DFD which is a repository of system data which consists of data items and their different specifications. During this stage, analyst can also make use of different structured tools available like decision table, decision tree and structure English.  

Page 49: Chapter – 1 System Analysis Fundamentals

5. Designing recommended system In this stage system analyst collects all analyzed information from previous stages and build one logical design of information system. The purpose of this logical design is to allow analyst and user to see something concrete. This logical design shows the analyst and user how the system will look like. This design also include the physical design elements, describes the data to be inputted, the processes involved in the manipulation of data and the output. This system design phase includes the following steps:

The analyst should specify the file structures, storage devices and so on.The database is also designed in this phase.Input, output, files, forms and procedures are planned and designed.Finally, standards for testing, documentation and system control are formulated.

Page 50: Chapter – 1 System Analysis Fundamentals

6. Developing and documentation of software Development is the phase where detailed design is used to actually construct and build the system. In this phase, the system is actually programmed. Now, the analyst should decide whether to buy commercial software or to develop new customized programs with the help of programmers. The choice depends on the cost of the software and the cost of programming such software. In large organization the work is entrusted to programmers, whereas in small organizations, the job is assigned to outside organizations. Programmers are also responsible for documenting the programs. The documents should include comments that provide explanation of the procedures coded in the programs.

Page 51: Chapter – 1 System Analysis Fundamentals

7. System testing Testing is the process of making sure that the programs perform the intended tasks. Once the system is designed, it should be tested for validity. During system testing, the system is used experimentally to ensure that the software does not fail, i.e. it will run according to its specification and in the way users expect it to. The system is tested with special test data and the results are examined for their validity. Some of the users may be permitted to operate on the system so that the analyst can ascertain that the system can work in the specified environment. 

Page 52: Chapter – 1 System Analysis Fundamentals

8. Implementation and evaluation Implementation is the final phase of development. It consists of installing hardware, programs, collecting data and organizing people to interact with and run the system. In the implementation phase, user actually starts using the system. This phase therefore involves training the users for using the system and also providing them friendly documentation to refer to. Implementation can be done in two ways. One way is to by implementing the new system along with the old system and makes them run in parallel. The other method is to replace the entire system. Evaluation is the process of verifying the capability of a system, after it is put in operation, to see whether it is meeting the required objectives or not.

Page 53: Chapter – 1 System Analysis Fundamentals

9. MaintenanceMaintenance is the process of incorporating changes in the implemented existing system for proper utilization. This involves enhancement, adaptation and correction. Enhancement implies adding new functions or additional capabilities to the system.

Adaptation implies customizing the software to run in the new environment. Correction implies correcting the bugs in the existing software.

Page 54: Chapter – 1 System Analysis Fundamentals

WHAT ARE CASE TOOLS?  Computer Aided Software Engineering (CASE) tools are gradually becoming popular for the development of software as they are improving in the capabilities and functionalities and are proving to be beneficial for the development of quality software. Computer-Aided Software Engineering (CASE) is the integration of software-based modelling tools into the software development process. Analysis and design methodologies and modelling notations were developed to formalize the software engineering process; CASE tools automate that process by assisting in each step. Some types of CASE tools are analysis and design tools, automated code generation tools, and software testing tools. Analysis and design tools aid in the creation of diagrams and project documentation. Automated code generation assists in the implementation phases.Testing tools lead to a more thorough evaluation of an application.  

Page 55: Chapter – 1 System Analysis Fundamentals

CASE tools are the software engineering tools that permit collaborative software development and maintenance. CASE tools support almost all the phases of the software development life cycle such as analysis, design, etc., including umbrella activities such as project management, configuration management etc. The CASE tools in general, support standard software development methods such as Structure programming or structured system analysis and design method. The CASE tools follow a typical process for the development of the system, for example, for developing data base application, CASE tools may support the following development steps:

Page 56: Chapter – 1 System Analysis Fundamentals

Table 1.5 – CASE Tools Time Line

Creation of data flow and entity models Establishing a relationship between requirements and models Development of top-level design Development of functional and process description Development of test cases.

Page 57: Chapter – 1 System Analysis Fundamentals

The CASE tools on the basis of the above specifications can help in automatically generating data base tables, forms and reports, and user documentation. Thus, the CASE tools – Support contemporary(modern/current) development of software systems, they may improve the quality of the software Help in automating the software development life cycles by use of certain standard methods Create an organisation wide environment that minimizes repetitive work Help developers to concentrate more on top level and more creative problem-solving tasks Support and improve the quality of documentation (Completeness and non- ambiguity), testing process (provides automated checking), project management and software maintenance.  

Page 58: Chapter – 1 System Analysis Fundamentals

Most of the CASE tools include one or more of the following types of tools: Analysis tools Repository to store all diagrams, forms, models and report definitions etc. Diagramming tools Screen and report generators Code generators Documentation generators Reverse Engineering tools (that take source code as input and produce graphical and textual representations of program design-level information) Re-engineering tools (that take source code as the input analyse it and interactively alters an existing system to improve quality and/or performance).   

.

Page 59: Chapter – 1 System Analysis Fundamentals

Figure – 1.4 CASE Tools Environment

.

Page 60: Chapter – 1 System Analysis Fundamentals

Categories of CASE Tools On the basis of their activities, sometimes CASE tools are classified into the following categories: 1. Upper CASE tools 2. Lower CASE tools 3. Integrated CASE tools.

Upper CASEUpper CASE tools mainly focus on the analysis and design phases of software development. They include tools for analysis modeling, reports and forms generation. Lower CASELower CASE tools support implementation of system development. They include tools for coding, configuration management, etc.  Integrated CASE Tools:Integrated CASE tools help in providing linkages between the lower and upper CASE tools. Thus creating a cohesive environment for software development where programming by lower CASE tools may automatically be generated for the design that has been developed in an upper CASE tool. 

.

Page 61: Chapter – 1 System Analysis Fundamentals

Characteristics of successful CASE Tools  A CASE tool must have the following characteristics in order to be used efficiently: A standard methodology: A CASE tool must support a standard software development methodology and standard modeling techniques. In the present scenario most of the CASE tools are moving towards UML.  Flexibility: Flexibility in use of editors and other tools. The CASE tool must offer flexibility and the choice for the user of editors’ development environments.  Strong Integration: The CASE tools should be integrated to support all the stages. This implies that if a change is made at any stage, for example, in the model, it should get reflected in the code documentation and all related design and other documents, thus providing a cohesive environment for software development.  Integration with testing software: The CASE tools must provide interfaces for automatic testing tools that take care of regression and other kinds of testing software under the changing requirements.   Support for reverse engineering: A CASE tools must be able to generate complex models from already generated code. On-line help: The CASE tools provide an online tutorial.    

.

Page 62: Chapter – 1 System Analysis Fundamentals

Need of CASE Tools Reduce the cost as they automate many repetitive manual tasks. Reduce development time of the project as they support standardisation and avoid repetition and reuse. Develop better quality complex projects as they provide greater consistency and coordination. Create good quality documentation Create systems that are maintainable because of proper control of configuration item that support traceability requirements. But please note that CASE tools cannot do the following: Automatic development of functionally relevant system Force system analysts to follow a prescribed methodology Change the system analysis and design process.

.

Page 63: Chapter – 1 System Analysis Fundamentals

There are certain disadvantages of CASE tools. These are: Complex functionality Many project management problems are not amenable to automation. Hence, CASE tools cannot be used in such cases. Cost Many tools are costly and most companies are unwilling to implement these CASE tools by the fact that it increases the overall cost of the project. And second thing if a company does not get any extra by using CASE tools then why should they use CASE tools, which are expensive for it in the end.

.

Page 64: Chapter – 1 System Analysis Fundamentals

Time LimitationThere is always a time limit for every software project for development. Most of developers do not adopt CASE because it requires a lot of time to train developers and perform all CASE activities and there are always deadlines to complete the project. You have to meet deadlines of the company but if you use CASE tools you cannot finish your project on time, which is also a factor in less use of CASE tools.TrainingTraining is a big concern while any company going to use a new tool, which is quite costly procedure. They have to train there developer for the efficient use of that particular tool. Most of the companies avoid using CASE tools because of this fact that they would have to train a large number of staff and it is expensive and as well as time consuming.

.

Page 65: Chapter – 1 System Analysis Fundamentals

Interview Interviews are a fact finding techniques where the system analyst acts as an interviewer, who collects facts from individuals (interviewees). The interviewees are generally current users of the existing system or potential users of the proposed system. The respondents may be managers or employees who provide data for the proposed system or those who will be affected by it. Interviews are formal meetings, where the analyst can obtain information about the operations of the present system and requirements of any planned system-replacements.

.

Page 66: Chapter – 1 System Analysis Fundamentals

Merits 1) This method of fact finding would be helpful for gathering information from individuals who can not communicate effectively in writing.2) Interviews allow the analyst to discover areas of misunderstanding, unrealistic expectations, and even indications of resistance to the proposed system.3) Interviews are the best source of qualitative information (opinions, policies, descriptions of activities and problems).4) Interviews give the analyst an opportunity to motivate the interviewee to respond freely and openly to questions.

.

Page 67: Chapter – 1 System Analysis Fundamentals

Demerits 1) Interviewing is very time consuming and costly fact finding techniques.2) Success of interviews is mostly dependent on the system analyst’s human relations skills.3) Interviewing may not give good results if proper environment is not available for conduction interview.

.

Page 68: Chapter – 1 System Analysis Fundamentals

Types of Interviews There are two types of interviews. These are:1) Unstructured2) Structured Unstructured Interviews Unstructured interviews are an approach in which the questions and the corresponding responses are open ended. The interviewer can ask questions which may not be directly related to the system under consideration. Unstructured interviews are conducted with only a general goal or subject in mind, with few specific questions. Unstructured interview may not work well for system analysis and design, because in this type, interviewee frequently gets off the track, and the analyst must be prepared to redirect the interviewee back to the main goal or subject.

.

Page 69: Chapter – 1 System Analysis Fundamentals

Structured Interviews In structured interviews, the interviewer has a specific set of questions to ask from the interviewee. All these questions are prepared in advance and the answers are noted. A structured interview has the following advantages:1) Structured interviews ensure uniform wording of questions for all respondents.2) It is also easy to administrate as well as to evaluate the answers.3) In structured interview, limited training for the interviewer is needed, hence its result in completing the job in much shorter time. However, the cost of preparation for conducting interview will be much higher. Structured interviews are further classified into the following two types:1) Open ended interviews (questions)2) Closed ended interviews (questions)

.

Page 70: Chapter – 1 System Analysis Fundamentals

It is type of interview that poses questions that may require a specific or a brief response. Open questions are general questions that establish a person’s view point on a particular subject. For example the question may be:“In what way is the report generated by existing system is relevant to your activity?” There are several advantages of using open ended questions, they are as follows:1) Putting the interviewees at ease.2) Providing the richness of detail.3) Makes the interview more interesting. There are several drawbacks of this type of questions, they are:1) Allows a response which may contain too much time.2) Possibly losing control of the interview.3) There is too much irrelevant detail for asking questions.

.

Page 71: Chapter – 1 System Analysis Fundamentals

Closed ended poses questions in which the responses is/are presented as a set of alternatives. Close ended questions are more specific and usually require a specific answer. For example, a close ended question may be:“Where do the entry of this form resides?” A question that requires a direct answer to a question is called close ended questions.The benefits of closed ended questions are as follows:1) It saves the time.2) Easily comparing interviews.3) Reaching to the point.4) It controls the interview.5) Reaching up to the relevant data. There are several drawbacks of this type of questions, they are:1) It being boring to the interviewee.2) Falling to building rapport between interviewer and interviewee.

.

Page 72: Chapter – 1 System Analysis Fundamentals

Planning the interview Five steps in interview preparation 1) Read background materialIt is possible to read and understand much information about the interviewees and their organization. This material can be obtained by call to your contact person to ask for corporate web sites, annual report and any publication.2) Establishing interviewing objectivesThe objective and purpose of interview should be clear. The purpose of the meeting should be clearly explained to all participants so that relevant documents and information can be supplied in advance.3) Decide whom to interviewWe should include the people at each and every level who will be affected by the system. The organizational have some ideas about who should be interviewed.

.

Page 73: Chapter – 1 System Analysis Fundamentals

4) Prepare the intervieweePrepare the person for interviewed by informing him/her by mail or phone call, and allow him/her to think about the interview. If you want to give the interview in detail then you have to inform to that interviewee to think about their response, because there are many objective which will to be fulfilled in the interview.5) Decide on question types and structureWell and proper questioning are the main heart of the interview. Prepare an appropriate set of questions that should be answered during planned conversations. 

.

Page 74: Chapter – 1 System Analysis Fundamentals

Questions pitfalls Before make wording the questions you are able to correct the poor questions. The questions which can ruin your data are called leading questions and double barreled questions. Avoiding leading questions Leading questions leads the interviewee into response that you want. After that response is biased. For example, “you agree that your manager is good at decision making?” You have made it very unforgettable to disagree. The alternating way is that “Is your manager good at taking appropriate decision according to situations?”So in this way leading questions can be avoided. Avoiding double barreled questions Double barreled questions means creating two questions or merging of two questions into one question. For example, “You are not satisfied with the functionality of your existing system and how you are going to overcome this problem?” The barreled questions are poor choice. Problems can be avoided by phrasing questions carefully beforehand. 

.

Page 75: Chapter – 1 System Analysis Fundamentals

Arranging questions in a logical sequence There are two ways of reasoning inductive and deductive and also third one which is combination of both inductive and deductive. 1) Using pyramid structure Inductive organization of interviewing questions can be having pyramid shape. By using this form interviewer begins with detailed and then closed questions. The interviewer expands the topics by allowing the open ended questions. Figure shows the basic pyramid structure. The pyramid structure is used when interviewer want to warm up the topic.

.

Page 76: Chapter – 1 System Analysis Fundamentals

And end with general question

Pyramid structure start with specific question

Figure – 1. 5 Pyramid Structure

.

Page 77: Chapter – 1 System Analysis Fundamentals

2) Using the funnel structure The second kind of structure is funnel structure in which deductive approach is used. The interview is started with open ended questions and narrowing the possible responses by using closed questions. Such kind of structure is responsible when interviewee feel emotional about the topic and need freedom to express the emotions. Figure shows funnel structure.

.

Page 78: Chapter – 1 System Analysis Fundamentals

Funnel structure start with general question

And end with specific question

Figure 1.6 Funnel Structure.

Page 79: Chapter – 1 System Analysis Fundamentals

3) Using diamond structure After combining two of the above structure, one results in diamond shape structure. This structure entails beginning in very specific way; it starts with examining general issues, and finally coming to a very specific conclusion. Here, interview begins with very easy manner, closed question that provide warm up to the interview process. In the middle of this interview, the interview is asked for opinions on broad topics that obviously have no right answer. The diamond structure combines the strength of two other approaches.   

.

Page 80: Chapter – 1 System Analysis Fundamentals

Begins with specific question

Move towards general questions

Move towards general questions

Figure 1.7 Diamond Shaped Structure.

Page 81: Chapter – 1 System Analysis Fundamentals

Recording Interview Recording of interview is one of the important aspects of interview. Either you can make a report or you can make the notes with pen and paper. Making an audio record It is decided before the interview how you are going to record the interview. Tell your interviewee that you would like to make the audio recording of the interview. The audio recording is made with the tape. It will be listened to by you and by the other group members and then destroy. Audio recording has advantages and disadvantages. Advantages are as follows:1) It provides complete and accurate record.2) It allows better eye contact.3) It allows reply of interview for other group members.

.

Page 82: Chapter – 1 System Analysis Fundamentals

Disadvantages of audio record include the following:1) The interviewer may possibly be nervous and less apt to record freely.2) It is difficult to locate important passage on long tape.3) The cost of data gathering is increased. Note taking Note taking useful when interviewee refuses the request to make an audio tape. Note taking include following advantage: 1) It keeps interviewer alert.2) It aids recall of important questions.3) It helps to recall of important interview trends.4) It shows interviewer interest in the interview. 

.

Page 83: Chapter – 1 System Analysis Fundamentals

The disadvantages of note taking include the following: 1) It losing vital eye contact between interviewer and interviewee.2) Losing the train of the conversation.3) Causing excessive attention to facts and too little attention to feeling and opinions.

.

Page 84: Chapter – 1 System Analysis Fundamentals

Joint Application Development Joint Application Design (JAD) was developed by Chuck Morris of IBM Raleigh and Tony Crawford of IBM Toronto in the late 1970’s. In 1980 Crawford and Morris taught JAD in Toronto and Crawford led several workshops to prove the concept. The results were encouraging and JAD became a well accepted approach in many companies. In time, JAD developed and gained general approval in the data processing industry. Crawford defines JAD as an interactive systems design concept involving discussion groups in a workshop setting. Originally, JAD was designed to bring system developers and users of varying backgrounds and opinions together in a productive and creative environment. The meetings were a way of obtaining quality requirements and specifications. The structured approach provides a good alternative to traditional serial interviews by system analysts.

.

Page 85: Chapter – 1 System Analysis Fundamentals

Joint Application Design (JAD) can replace a series of interviews with the user community. JAD is a technique that allows the analyst to accomplish requirements analysis and design the user interface with the users in a group setting When to Use JAD Users are restless and want something newThe organizational culture supports joint problem-solving behaviorsAnalysts forecast an increase in the number of ideas using JADPersonnel may be absent from their jobs for the length of time required

.

Page 86: Chapter – 1 System Analysis Fundamentals

Key participants

Executive SponsorThe executive who charters the project, the system owner. They must be high enough in the organization to be able to make decisions and provide the necessary strategy, planning, and direction.

Subject Matter ExpertsThese are the business users, the IS professionals, and the outside experts that will be needed for a successful workshop. This group is the backbone of the meeting; they will drive the changes.

.

Page 87: Chapter – 1 System Analysis Fundamentals

Facilitator/Session LeaderChairs the meeting and directs traffic by keeping the group on the meeting agenda. The facilitator is responsible for identifying those issues that can be solved as part of the meeting and those which need to be assigned at the end of the meeting for follow-up investigation and resolution. The facilitator serves the participants and does not contribute information to the meeting.Scribe/Modeler/Recorder/Documentation ExpertRecords and publish the proceedings of the meeting and does not contribute information to the meeting.ObserversGenerally members of the application development team assigned to the project.

.

Page 88: Chapter – 1 System Analysis Fundamentals

Benefits of JAD Time is saved, compared with traditional interviewingRapid development of systemsImproved user ownership of the systemCreative idea production is improvedEasy integration of CASE tools into JAD workshops improves session productivity and provides systems analysts with discussed and ready to use models

.

Page 89: Chapter – 1 System Analysis Fundamentals

Drawbacks of Using JAD JAD requires a large block of time be available for all session participantsIf preparation is incomplete, the session may not go very wellIf the follow-up report is incomplete, the session may not be successfulThe organizational skills and culture may not be conducive to a JAD session

.

Page 90: Chapter – 1 System Analysis Fundamentals

QuestionnairesQuestionnaires are special purpose documents that allow the analyst to collect information and opinions from respondents. When it is impossible because of time, distance or cost constraint, to interview all the desired people involved in a system, then the analyst may consider the use of a questionnaire. A questionnaire is a research instrument consisting of a series of questions and other prompts for the purpose of gathering information from respondents. In other words, when information is gathered by requesting users to fill in a pre defined form then these forms are called questionnaire. Benefits  1) Data collected through questionnaires are relatively cheap, particularly when there is a scattered group of users and operators.2) Unlike the interview, which generally questions one person at a time, a questionnaire can be administrated to larger numbers of individuals simultaneously.3) Responses from questionnaire can be tabulated and analyzed more quickly. 

.

Page 91: Chapter – 1 System Analysis Fundamentals

Drawbacks 1) The number of responses sent for the questionnaires is often low.2) All the questions given in the questionnaire may not be answered completely. Moreover, there is no immediate opportunity to clarify a vague or incomplete answer to any question as in the case of the response in an interview.3) Good questionnaires are difficult to prepare.4) Lack of direct contact may mean that questions are interpreted in different ways by different respondents. Types of Questionnaire Questionnaire can be one of the following types:1) Structured Questionnaire2) Unstructured Questionnaire .

Page 92: Chapter – 1 System Analysis Fundamentals

Structured Questionnaire In structured questionnaire respondent needs to select from possible options for answers and thus the range of answer is limited. Structured questions, for example, could have answer options of the following types:a) Multiple choicesb) Selection on a ranking scalec) Selection of a rantingd) Fill in the blanks 

.

Page 93: Chapter – 1 System Analysis Fundamentals

Unstructured Questionnaire In this type of questionnaire, respondent’s opinions are asked. The respondent is made to answer freely. Such questions are open ended. No options or predefined categories are suggested. The respondent supplies their own answer without being constrained by a fixed set of possible responses. Examples of types of open ended questions include: Completely unstructured - For example, “What is your opinion on existing computerized system?”

.

Page 94: Chapter – 1 System Analysis Fundamentals

There are two ways to collect data from the questionnaire data. These are:1) Open ended questionnaire2) Closed ended questionnaire Open ended questionnaire No options or predefined categories are suggested. The respondent supplies their own answer without being constrained by a fixed set of possible responses. Benefits:1) This method is better to find opinions and general experiences of the respondents.2) They are also useful for exploring the solutions for a process or a problem.3) This type of questionnaires provides ample opportunity for the respondents to discuss the reasons for their ideas. 

.

Page 95: Chapter – 1 System Analysis Fundamentals

Closed ended questions Respondents’ answers are limited to a fixed set of responses. Most scales are closed ended. Other types of closed ended questions include:  Yes/no questions - The respondent answers with a “yes” or a “no”.Multiple choice - The respondent has several options from which to choose.Scaled questions - Responses are graded on a continuum (example: rate the appearance of the product on a scale from 1 to 10, with 10 being the most preferred appearance). Rank-order scale (See scale for a complete list of scaling techniques.).

.

Page 96: Chapter – 1 System Analysis Fundamentals

How to develop a Questionnaire A good questionnaire takes time and hard work to develop. The following guidelines may be followed while developing a questionnaire:1) The objective of the questionnaire should be explained to the participants in an introductory note.2) The recipient should also be informed regarding the confidentiality of their responses and the use of collected information. The deadline for return of the filled in questionnaire should be stated.3) Detailed instructions on form completion should be provided and sample answers should be given.4) Questions should be limited to one topic at a time. Simple sentences and familiar words should be used.5) Questions should appear in a logical order, with those on the same topic being grouped together.6) Adequate space should be provided for answers. Space should also be given at the end of the questionnaire for comments, criticism or any other suggestion.

    

.