Está en la página 1de 16

Chapter 1: Overview of System analysis and Design System Analysis: System analysis is a problem solving technique that decomposes

a system into its


components pieces for the purpose of studying how well these components part work and interact to accomplish their purpose. System Analysis addresses the data, process and interface building block from system owners perspectives.

System Design: It is a complementary problem solving technique to system analysis that reassembles a
system components pieces back into a complete system. The system is hoped an improved which may including, adding, updating, deleting pieces relative to the original system. Hence system is integration of submit which are combined together for performing certain specific task. System in our relevance is the information system. Hence system analysis and design is the complex, challenging organizational process whereby systems are built and re-built for organizational benefits. The result of system analysis and design is application software that support organizational function and process. Along with application software, the information system includes the hardware and system software, people using software , documentation and materials.

Information System : An information system is an arrangement of people, data, process


,communication and information technology that interacts to collect, process ,store, and provide as output the information needed to support to improve day to day operations in a business ,as well as to support the problem solving and decision making needs of management and users. Information System Analysis and Design is a complex challenging and simulating organizational process that a team of business and system professionals use to develop and maintain computer based information system. It is therefore an organizational improvements process where system are built and rebuilt for organizational benefits. Benefits results from adding value during the process of creating ,producing and supporting the organizational products and services. Thus , the analysis and design of information system is based on the understanding of the organizations objectives, structures and process as well as the knowledge of how to gain information technology for advantages.

Stakeholders of IS(Who is involved for building IS)


A stakeholder is any person who has an interest in an existing or new information system .He/She can be technical or non- technical person. The information system stakeholders are : a. System Owner: System owner pay for the system to be built and maintained. He owns the system, sets priorities for the system and determines policies for its use. In some cases system owner may also be the system user. b. System User: System user is the person who actually uses the system to perform or support work to be completed. System user defines the business requirements and performs expectations for the system to be built. c. System Analyst: System analyst is a person who facilitates the development of IS and computer application by bridging the communication gap that exist between non-technical system owner, user and technical team ,designers and builders. 1| System Analysis and Design

d. System Designers: System designer is a technical specialist who designs the system to meet the user requirements. e. System Builders: System Builder is a technical specialist who develop (Construct, test ) and delivers the system into operations. f. IT Vendors and Consultants: Who sales hardware, software and services to business for incorporation into there IS.

Types of Information System :


Several different people in an organization can be involved in developing information systems. Given the broad range of people and interest represented in system development , it could take different types of IS to satisfy all an organizations IS needs and classified as below: a. b. c. d. e. Transaction Processing System : Management Information System Decision Support System Expert System Office Automation System

a. Transaction Processing System (TPS) :A TPS collects and stores information about transactions and controls some aspects of transactions . A transaction is an event of interest to the organization. It is an information system that capture and process data generated during the day to- day transactions of an organizations . For example A sale at a store, Deposits ,payments ,orders or reservations. b. Management Information System (MIS): MIS takes the relatively raw data available through the TPS and converts them into a meaningful aggregated form that managers need to conduct their responsibilities. MIS is an information system that generates accurate, timely and organized information so that managers can make decisions, solve problems, supervise activities and track progress. It condenses and converts TPS data into information for monitoring performance and managing an organization. Transactions recorded in a TPS are analyzed and reported by an MIS . They have large quantities of input data and they produce summary reports as output. Used by middle level managers. For example : Annual Budgeting System. 2| System Analysis and Design

c. Decision Support System (DSS) :DSS is an system designed to support strategic management staff to make decisions by providing information , models or analysis tools. It is used for analytical work, rather than general office support. DSS uses data from internal/external sources. For example: 5 year operating plan. d. Expert System(ES) : ES is an information system that captures and stores the knowledge of human experts and then imitates human reasoning and decision making process for those who have less expertise. ES attempts to codify and manipulate knowledge rather than information. Typically user communicate with an ES through an interactive dialog. The ES ask questions that can expert would ask and the end user replies the answer .The answer then used to determine which rules apply and ES provides a recommendations based on these rules. For example ,Artificial Intelligence(AI) the application of human intelligence to computer (Speech recognition system, Medical Diagnosis System(MYCIN)). e. Office Automation System(OAS) OAS provides individual effective ways to process personal and organizational data, perform calculations and create documents. E.g. Word processing, spreadsheets, files management , personal calendars, presentation packages. They are used for increasing personal productivity and reducing paper warfare .

Methodologies, Techniques and Tools


A software engineering process is used to create information system which consists of , techniques and tools . An Organizational approach to system analysis and design is driven by methodologies, techniques and tools. An Engineering approach to building systems requires certain methods and tools to be used to ensure that systems are built in the most effective way. System development methodology is one term often used which defines the set of steps followed to built the system together with a collection of tools used to design a system. A large number of system developments methodologies and productivity tools are available for building computer based information system . Good methodology must includes a way to determine system requirements. The methodologies must also provide supporting methods and tools which ensure that a system is built in the quickest and cheapest way and they must pay special attention to simplifying user interaction with computer . We must chose the right method if we are to build a quality system. Usually sequence of steps in methodologies is to propose the solutions , develop a system specification and then design and built the system .Analysis is used during these activities to gain and understand of a existing system and what is required of it. Design follows the new system that meets these requirements . Once the design is approved the system is built. A new system may be built a fresh or by changing the existing systems . The methods and tools reduces the cost of building a system and the time needed to put into place.

3|

System Analysis and Design

Methodologies: A sequence of step-by-step approaches that help develop the information system Techniques: Process that the analyst follows to ensure thorough ,complete and comprehensive analysis and design Tools: Computer programs that aid in applying techniques

Organizational Roles/Responsibilities in System Developments:


1. 2. 3. 4. 5. IS manager System Analyst Programmers Business managers Other IS managers/ Technicians a. Database Administrator b. Network and Telecommunication Experts c. Human Factors specialists d. Internal Audits

System Analyst :
System analyst is a key person in the system development process. It is a organizational role most responsible for the analysis and design of information systems. System analyst is a specialist who studies the problems and needs of an organization to determine how people ,data, process and information technology can be best accomplish improvements for the business. System analyst is the person who guides through the development of an information system . In performing these tasks the system analyst must always match the information systems objectives with the goals of the organization. System analyst performs analysis and design based upon :

4|

System Analysis and Design

Understanding of organizations objectives ,structures and process Knowledge of how to exploit information technology for advantage

Roles of System Analyst: The main role of the system analyst is to perform system analysis and to prepare analysis model which clearly describes how the system works and how a requirements model must do for the new system. In order to perform these roles system analyst must need to discuss with user what they required from the system. 1. Review the specification : The analyst reviews and refines the specifications used to develop or write computer software. The analyst is expected to maintain an expert level of knowledge about the software programs, so they can provide advice and guidance about what is possible and how long it will take. 2. Review Test and Document: System analyst reviews the test , System testing forms a large part of an information systems analysts daily work. There are two types of testing functional and quality. And Parallel ,system analyst prepares proper documentations. Documentation is the process of writing down the steps for using the software. Technical documentation typically includes a list of all the data tables accessed , methodology used and a quick summary of the program logic. 3. System analysis , design and Developing : It includes systems study in order to get facts about business activity. It is about getting information and determining requirements. Here the responsibility includes requirement determination and also the design of the system .In some cases ,analyst should work closely with the development team and programmers.

Skills of Successful System Analyst:


1. Analytical skills a. Understanding of organizations b. Problem solving skills c. System thinking i. Ability to see organizations and information system as system 2. Technical Skills a. Understanding of potential and limitations of technology b. Computer Network c. Programming d. Database 3. Management skills a. Ability to manage projects ,resources , risk and change b. Resource management c. Project management d. Risk management e. Change Management 4. Interpersonal Skills a. Communication skill i. Interviewing and listening 5| System Analysis and Design

ii. Written and oral presentation b. Working alone and with a team c. Facilitating the groups d. Managing the expectations

Defining System :
System is an interrelated set of components with an identifiable boundary working together for some purpose. It is also defined as ,a purposeful collection of inter-related components working together some common objectives. A system mainly includes software ,mechanical .electrical and electronic hardware and be operated by people. System components are dependent on other system components. A System has nine Characteristics : 1. Components : An irreducible part or aggregate of parts that make up a system ,also called subsystem 2. Interrelationships between components: 3. Boundary: The line that marks the inside and outside of a system and that sets off the system from its environment 4. Purpose: The overall goal or function of a system 5. Environment: Everything external to a system that interacts with the system. 6. Interfaces: Point of contact where a system meets its environment or where subsystems meet each other. 7. Input: Whatever a system takes from its environments in order to fulfill its purpose 8. Output: Whatever a system returns to its environments in order to fulfill its purpose 9. Constraints: A limit to what a system can accomplish

Fig: General depiction of system

Components of Information System :


An information system includes various components. Among which some importants components are given below: i. People, process and data: Information is produced and used by people in an organization . They use this information in their everyday activities to make decision on what is to be done. Process determines a set of steps how things are done with data as it enters and passes through the system. 6| System Analysis and Design

ii.

iii.

Process must support the tasks carried out by each person as well as an interaction between persons. Data is the core information actually carried by an IS by receiving raw level and then resulting fine in the abstract. Many equipments used to store the data ,move it around the organization and carryout any computation in data which involves the computer itself, their disks drives, I/O devices , interfaces and communication device. Database: This term is often used to refer to the data stored in a computer. It not only includes the structure records but can also includes forms, letters, and notes that people may keep. In the past ,database used to be mainly the structured record such as accounts or orders , now it increasingly includes texts documents ,images and other kinds of artifacts an objects process by a computer. Computer System: System is a collection of components that work together to realize an objectives . Computer based information system is very simple system which supports the person keep track of their records using personal computer, laptops ,PDA. The Computer System may be: a. Personal Computer System b. Centralized System c. Distributed System

System Development Life Cycle (SDLC)


SDLC is a methodology used to develop, maintain and replace information system. SDLC is a collective framework for activities performed to create information system. Also SDLC is Series of steps used to manage the phases of development for an information system. Consists of following phases: Project Identification and Selection Project Initiation and Planning Analysis Design Implementation Maintenance

Fig: SDLC 7| System Analysis and Design

Project Identification and Selection Two Main Activities Identification of need Prioritization and translation of need into a development schedule Helps organization to determine whether or not resources should be dedicated to a project. Project Initiation and Planning Two Activities Formal preliminary investigation of the problem at hand Presentation of reasons why system should or should not be developed by the organization Analysis Study of current procedures and information systems Determine requirements Study current system Structure requirements and eliminate redundancies Generate alternative designs Compare alternatives Recommend best alternative Design Logical Design Concentrates on business aspects of the system Physical Design Technical specifications Implementation Implementation Hardware and software installation, Testing Programming User Training Documentation Maintenance System changed to reflect changing conditions System obsolescence, Support, Repairing and improvements

Different Lifecycle Models


A software life cycle model (also called process model) is a descriptive and diagrammatic representation of the software life cycle. A life cycle model represents all the activities required to make a software product transit through its life cycle phases. It also captures the order in which these activities are to be undertaken. In other words, a life cycle model maps the different activities performed on a software product from its inception to retirement. Different life cycle models may map the basic development activities to phases in different ways. Thus, no matter which life cycle model is followed, the basic 8| System Analysis and Design

activities are included in all life cycle models though the activities may be carried out in different orders in different life cycle models. Many life cycle models have been proposed so far. Each of them has some advantages as well as some disadvantages. A few important and commonly used life cycle models are as follows:

1.

Classical Waterfall model Iterative Waterfall Model Incremental/Evolutionary model Prototyping model Spiral model Rapid Application Development(RAD) Model Classical Waterfall Model This model can be considered to be a theoretical way of developing software. But all other life cycle models are essentially derived from the classical waterfall model. So, in order to be able to appreciate other life cycle models it is necessary to learn the classical waterfall model. The Waterfall Model was first Process Model to be introduced. It is also referred to as a linearsequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed fully before the next phase can begin. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or discard the project. In waterfall model phases do not overlap.

Advantages of waterfall model:


Simple and easy to understand and use. Easy to manage due to the rigidity of the model each phase has specific deliverables and a review process. Phases are processed and completed one at a time. Works well for smaller projects where requirements are very well understood.

Disadvantages of waterfall model:


Once an application is in the testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage. No working software is produced until late during the life cycle. High amounts of risk and uncertainty. Not a good model for complex and object-oriented projects. Poor model for long and ongoing projects. Not suitable for the projects where requirements are at a moderate to high risk of changing.

When to use the waterfall model:


Requirements are very well known, clear and fixed. Product definition is stable. Technology is understood. System Analysis and Design

9|

There are no ambiguous requirements Ample resources with required expertise are available freely The project is short.

Fig: Classical Waterfall Model 2. Iterative Waterfall

Fig: Iterative Waterfall model 3. Incremental/Evolutionary Model In incremental model the whole requirement is divided into various builds. Multiple development cycles take place here, making the life cycle a multi-waterfall cycle. Cycles are divided up into smaller, more easily managed modules. Each module passes through the requirements, design, implementation and testing phases. A working version of software is produced during the first 10 | System Analysis and Design

module, so you have working software early on during the software life cycle. Each subsequent release of the module adds function to the previous release. The process continues till the complete system is achieved.

Advantages of Incremental model: Generates working software quickly and early during the software life cycle. More flexible less costly to change scope and requirements. Easier to test and debug during a smaller iteration. Customer can respond to each built. Lowers initial delivery cost. Easier to manage risk because risky pieces are identified and handled during itd iteration.

Disadvantages of Incremental model:


Needs good planning and design. Needs a clear and complete definition of the whole system before it can be broken down and built incrementally. Total cost is higher than waterfall.

When to use the Incremental model:


Requirements of the complete system are clearly defined and understood. Major requirements must be defined; however, some details can evolve with time. There is a need to get a product to the market early. A new technology is being used Resources with needed skill set are not available There are some high risk features and goals.

4. Prototyping Model A prototype is a toy implementation of the system. A prototype usually exhibits limited functional capabilities, low reliability, and inefficient performance compared to the actual software. A prototype is usually built using several shortcuts. The shortcuts might involve using inefficient, inaccurate, or dummy functions. The shortcut implementation of a function, for 11 | System Analysis and Design

example, may produce the desired results by using a table look-up instead of performing the actual computations. A prototype usually turns out to be a very crude version of the actual system. Need for a prototype in system development There are several uses of a prototype. An important purpose is to illustrate the input data formats, messages, reports, and the interactive dialogues to the customer. This is a valuable mechanism for gaining better understanding of the customers needs: how the screens might look like how the user interface would behave how the system would produce outputs This is something similar to what the architectural designers of a building do; they show a prototype of the building to their customer. The customer can evaluate whether he likes it or not and the changes that he would need in the actual product. A similar thing happens in the case of a software product and its prototyping model. Another reason for developing a prototype is that it is impossible to get the perfect product in the first attempt. Many researchers and engineers advocate that if you want to develop a good product you must plan to throw away the first version. The experience gained in developing the prototype can be used to develop the final product. A prototyping model can be used when technical solutions are unclear to the development team. A developed prototype can help engineers to critically examine the technical issues associated with the product development. Often, major design decisions depend on issues like the response time of a hardware controller, or the efficiency of a sorting algorithm, etc. In such circumstances, a prototype may be the best or the only way to resolve the technical issues. Examples for prototype model A prototype of the actual product is preferred in situations such as: user requirements are not complete technical issues are not clear

Advantages of Prototype model:


Users are actively involved in the development Since in this methodology a working model of the system is provided, the users get a better understanding of the system being developed. System Analysis and Design

12 |

Errors can be detected much earlier. Quicker user feedback is available leading to better solutions. Missing functionality can be identified easily Confusing or difficult functions can be identified Requirements validation, Quick implementation of, incomplete, but functional, application.

Disadvantages of Prototype model:


Leads to implementing and then repairing way of building systems. Practically, this methodology may increase the complexity of the system as scope of the system may expand beyond original plans. Incomplete application may cause application not to be used as the full system was designed Incomplete or inadequate problem analysis. When to use Prototype model:

Prototype model should be used when the desired system needs to have a lot of interaction with the end users. Typically, online systems, web interfaces have a very high amount of interaction with end users, are best suited for Prototype model. It might take a while for a system to be built that allows ease of use and needs minimal training for the end user. Prototyping ensures that the end users constantly work with the system and provide a feedback which is incorporated in the prototype to result in a useable system. They are excellent for designing good human computer interface systems.

5. Spiral Model The Spiral model of software development is shown in fig. below. The diagrammatic representation of this model appears like a spiral with many loops. The exact number of loops in the spiral is not fixed. Each loop of the spiral represents a phase of the software process. For example, the innermost loop might be concerned with feasibility study. The next loop with requirements specification, the next one with design, and so on. Each phase in this model is split into four sectors (or quadrants) as shown in fig.. The spiral model is called a meta model since it encompasses all other life cycle models. Risk handling is inherently built into this model. The spiral model is suitable for development of technically challenging software products that are prone to several kinds of risks. However, this model is much more complex than the other models this is probably a factor deterring its use in ordinary projects. The following activities are carried out during each phase of a spiral model.

13 |

System Analysis and Design

Fig: Spiral Model

- First quadrant (Objective Setting) During the first quadrant, it is needed to identify the objectives of the phase. Examine the risks associated with these objectives.

- Second Quadrant (Risk Assessment and Reduction) A detailed analysis is carried out for each identified project risk. Steps are taken to reduce the risks. For example, if there is a risk that the requirement are inappropriate, a prototype system may be developed.

- Third Quadrant (Development and Validation) Develop and validate the next level of the product after resolving the identified risks.

- Fourth Quadrant (Review and Planning) Review the results achieved so far with the customer and plan the next iteration around the spiral. Progressively more complete version of the software gets built with each iteration around the spiral. Advantages of Spiral model:

High amount of risk analysis hence, avoidance of Risk is enhanced. Good for large and mission-critical projects. Strong approval and documentation control. Additional Functionality can be added at a later date. Software is produced early in the software life cycle.

Disadvantages of Spiral model:


Can be a costly model to use. Risk analysis requires highly specific expertise. System Analysis and Design

14 |

Projects success is highly dependent on the risk analysis phase. Doesnt work well for smaller projects.

When to use Spiral model:


When costs and risk evaluation is important For medium to high-risk projects Long-term project commitment unwise because of potential changes to economic priorities Users are unsure of their needs Requirements are complex New product line Significant changes are expected (research and exploration)

6. Rapid Application Development Model RAD model is Rapid Application Development model. It is a type of incremental model. In RAD model the components or functions are developed in parallel as if they were mini projects. The developments are time boxed, delivered and then assembled into a working prototype. This can quickly give the customer something to see and use and to provide feedback regarding the delivery and their requirements.

The phases in the rapid application development (RAD) model are: Business modeling: The information flow is identified between various business functions. Data modeling: Information gathered from business modeling is used to define data objects that are needed for the business. Process modeling: Data objects defined in data modeling are converted to achieve the business information flow to achieve some specific business objective. Description are identified and created for CRUD of data objects. 15 | System Analysis and Design

Application generation: Automated tools are used to convert process models into code and the actual system. Testing and turnover: Test new components and all the interfaces. Advantages of the RAD model: Reduced development time. Increases reusability of components Quick initial reviews occur Encourages customer feedback Integration from very beginning solves a lot of integration issues. Disadvantages of RAD model: Depends on strong team and individual performances for identifying business requirements. Only system that can be modularized can be built using RAD Requires highly skilled developers/designers. High dependency on modeling skills Inapplicable to cheaper projects as cost of modeling and automated code generation is very high. When to use RAD model: RAD should be used when there is a need to create a system that can be modularized in 2-3 months of time. It should be used if theres high availability of designers for modeling and the budget is high enough to afford their cost along with the cost of automated code generating tools. RAD SDLC model should be chosen only if resources with high business knowledge are available and there is a need to produce the system in a short span of time (2-3 months).

System analysis and Design Tools


1. 2. 3. 4. 5. 6. 7. 8. Data flow diagram(DFD) Entity Relationship Diagram(ERD) Data Dictionary(DD) Structured English Decision Tree Decision Table Structured Chart CASE Tools

16 |

System Analysis and Design

También podría gustarte