2nd Unit
2nd Unit
2nd Unit
The analyst beings by creating a model of the reality (facts, relationships, procedures, etc.) with which the system is concerned. Every computer system deals with the real world, a problem area, or a reality outside itself. For examples, a telephone switching system is made up of subscribers, telephone handsets, dialing, conference calls, and the like. The analyst beings by modeling this reality before considering the functions that the system is to perform. Various business system models are used to show the benefits of abstracting complex system to model form. The major models are schematic, flow, static and dynamic system models. Schematic Models: A schematic model is a two dimensional chart depicting system elements and their linkages. Different arrows are used to depict information flow, material flow and information feedback. Various elements of the system are depicted in boxes.
Flow system Models. A flow system model shows the flow of the material, energy and information that hold the system together. There is an orderly flow of logic in such models. A widely known example is PERT (Program Evaluation and Review Technique). It is used to abstract a real world system in model form, manipulate specific values to determine the critical path, interpret the relationships and relay them back as a control. The probability of completion within a time period is considered in connection with time, resources and performance specifications as shown in the figure1.2. Figure 1.2 PERT an example
Static system models: This type of model exhibits one pair of relationships such as activity time or cost quantity. The Gantt chart, for example, gives a static picture of an activity- time relationship. Planned activities (stamping, sanding etc.) are plotted in relation to time are shown in figure 1.3. The date column has light lines that indicate the amount of time it takes to complete a given activity. The heavy line represents the cumulative time schedule for each activity. The stamping department, for example, is scheduled to start working on order number 25 Wednesday morning and complete the job by the same evening. One day is also scheduled for order number 28, two days for order number 28, two days for order number 22 and two days (May 10-11) for order number 29. The heavy line opposite the stamping department represents the total of six days. The broken line indicates that the department is two days behind schedule. The arrowhead indicates the date when the chart is to be in effect.
Dynamic System Models: Business organizations are dynamic systems. A dynamic model approximates the type of organization or application that analysts deal with. It depicts an ongoing, constantly changing system. It consists of (1) inputs that enter the system, (2) the processor through which transformation takes place, (3) the program(s) required for processing and (4) the output(s) that result from processing.
Environment The environment is the suprasystem within which an organization operates. It is the source of external elements that impinge on the system. In fact, it often determines how a system must function. For example, the organizations environment, consisting of vendors, competitors, and others, may provide constraints and, consequently, influence the actual performance of the business. Boundaries and interface A system should be defined by its boundaries the limits that identify its components, processes and interrelationship when it interfaces with another system. For example, a teller system in a commercial bank is restricted to the deposits, withdrawals and related activities of customers checking and savings accounts. It may exclude mortgage foreclosures, trust activities, and the like. Each system has boundaries that determine its sphere of influence and control. For example, in an integrated banking wide computer system design, a customer who has a mortgage and a
checking account with the same bank may write a check through the teller system to pay the premium that is later processed by the mortgage loan system. Recently, system design has been successful in allowing the automatic transfer of funds form a bank account to pay bills and other obligations to creditors, regardless of distance or location. This means that in systems analysis, knowledge of the boundaries of a given system is crucial in determining the nature of its interface with other systems for successful design. OR Environment: The environment represents everything that is important to understanding the functioning of the system, but is not part of the system. The environment it is that part of the world that can be ignored in the analysis except for its interaction with the system. It includes: competition, people, technology, capital, raw materials, data, regulation and opportunities.
Boundary: The boundary defines the difference between the environment and the system; the correct boundary is a function of the problem under consideration.
Hard Real Time system guarantee deadlines To guarantee deadlines, we need to know worst case execution times Predictability: need to know if deadlines may be missed
Soft Real Time system try to meet deadlines If a deadline is missed, there is a penalty Provides statistical guarantees (probabilistic analysis) Need to know the statistical distribution of execution times
Applications: Safety critical systems, control and command systems, robotics,Communication, multimedia
Distributed systems: A distributed system is one that looks to its users like an ordinary, centralized, system but runs on multiple independent CPUs. Symptoms? Shroeder: Multiple, independent processing units Processors communicate via a hardware interconnect Processing unit failures are independent Manage resource sharing State is shared among processors
Communication Messages can have many characteristics: Length, priority, streams Communication medium properties affect communication performance bandwidth, latency, multi-cast capability, message prioritization
Consistency Since we assume network links can fail at anytime, replication is required to maintainconsistency for longer computations
Replication of data Replication of computation Costs associated with consistency: Reduction in the amount of effective resources Managing extended failures
Load Sharing Local vs. non-local e.g., communication failure less likely in local clusters of processors Process migration can be expensive What about a system that knows the load of each machine, then assigns computation? n Doesn't scale well Issues - Turning Completeness, Propagation Delay
Remote Procedure Call Introduced by Birrell and Nelson in 1985 (Xerox PARC) Abstracts the notion of where a computation runs Semantics can include: notion that computation may fail (e.g., errors, faults, deadlocks) blocking or non-blocking synchronous vs. asynchronous at least once, at most once, exactly once Insight - Many functions can be built at the ends of the network (e.g., RPC). Thus, building these functions in at lower layers will have significant tradeoffs e.g., In the 70's, everyone used the DARPAnet to log into computers. If "sessions" had been built into the lower layers of the Internet, web-based traffic in the 90's would not have scaled well
Basic principles behind a successful system: 1. Well-documented: The system should be well documented. There should be well-labelled documentation, from where a user can know how to operate the system. 2.Usability:
The system should be of use to the user ,it should be capable of solving the users need requirements. 3. Efficient: The system should be efficient ,it should not make wasteful use of resources viz. memory or processor cycles. - It should fully utilize the system resources. 4. In time produced: it should be produced in time so as to prevent project delay or termination. 5. Maintenance: the system should be well maintained viz. correctively as well as preventively. 6.Beneficiary: It should give a higher throughput so as to , regain the resources.
The need for analysis stems from the following point of view. System Objective: It is necessary to define the system objective(s). Many a times, it is observed that the systems are historically in operation and have lost their main purpose of achievement of the objectives. The users of the system and the personnel involved are not in a position to define the objective(s). Since you are going to develop a computer based system, it is necessary to redefine or reset the objective(s) as a reference point in the context of the current business requirement. System Boundaries: It is necessary to establish the system boundaries which would define the scope and the coverage of the system. This helps to sort out and understand the functional boundaries of the system, the department boundaries in the system, and the people involved in the system. It also helps to identify the inputs and the outputs of the various sub-systems covering the entire system.
System Importance: It is necessary to understand the importance of the system in the organization. This would throw more light on its utility and would help the designer to decide the design features of the system. It would be possible then to position the system in relation to the other systems for deciding the design strategy and development. Nature of The System: The analysis of the system will help the system designer to conclude whether the system is the closed type or open, and a deterministic or probabilistic. Such an understanding of the system is necessary, prior to design the process to ensure the necessary design architecture. Role of the System as an Interface: The system, many a times, acts as an interface to the other systems. Hence through such an interface, it activates or promotes some changes in the other systems. It is necessary to understand the existing role of the system, as an interface, to safeguard the interests of the other systems. Any modifications or changes made should not affect the functioning or the objective of the other systems. Participation of Users: The strategic purpose of the analysis of the system is to seek the acceptance of the people to a new development. System analysis process provides a sense of participation to the people. This helps in breaking the resistance to the new development and it also ensure the commitment to the new system. Understanding of Resource Needs: The analysis of the system helps in defining the resource requirements in terms of hardware and software. Hence, if any additional resources are required, this would mean an investment. The management likes to evaluate the investment form the point of view of return on such investment. If the return on the investment is not attractive, the management may drop the project. Assessment of Feasibility: The analysis of the system helps to establish the feasibility from different angles. The system should satisfy the technical, economic and operational feasibility. Many times, the systems are feasible from the technical and economic point of view: but they may be infeasible from the operational point of view. The assessment of feasibility will save the investment and the system designer's time. It would also save the embarrassment to the system designer as he is viewed as the key figure in such projects. One can approach the system analysis and design exercise in a systematic manner in steps, as shown in the Table below : Steps Need for information Elaboration Explanation Define the nature of Identify the users and information. Also who application of the wants and who uses. information for achieving the objectives. Decide the nature, type of Helps to determine the the system and its scope system ownership, its benefits and complexity. Technical success Hardware and software
Feasibility
Economic viability
availability and capability, for implementation. Study the investment and benefits. Assess the improvement in value of the information. Determine the return on investment. Examine whether the system will perform as desired in terms of time and results. Are the users ready to use the system? Study the sources of generating the Information. Establish I/O linkages. Modify the existing system to satisfy the needs. Conceptualization is necessary to understand the system process. Helps in bringing a clarity in the data-flow. The responsibility centres and the process centres are identified.
Operational effectiveness
Identify in precise terms, the strategic, functional and operational information needs.
Conceptual system
Determine the inputs, process and outputs, and design a conceptual model. Detailing the system Draw the document flow charts and the data-flow diagrams, the data and system hierarchy diagrams, the data information versus its users mapping table. Structuring the system Break the system into its Helps in understanding the design hierarchical structure. data-flow from one level to the other and the processes carried out at each level. Conceptual model of Define step by step the Helps to put down the data computer system usage of files, processes and processing flow in the interface. Define the data computerized system. Draw structures and the validation the computer system charts. procedures. Break the system in Make a physical conversion Modules will be data entry, programme modules of the system into the data validation, data programme structures in a processing, reporting and logical order. storing. Develop the test data for Test the modules and the Confirms whether the checking the system ability integrity of the system in system design is terms of input versus satisfactory. Suggests the output. Plan while box and modifications.
Implementation
Train the personnel. Run the system in parallel. Prepare a system manual. Review the system through audit trail and test data, also confirm whether the objective is fulfilled. Carry out the modifications, if any.
Install, test and run the system before the user is exposed in alive mode. Help to identify the problems and provide solutions. Helps to maintain the system quality and the quality of information through modification, if necessary.
Role and Tasks of System Analyst: The primary objective of any system analyst is to identify the need of the organization by acquiring information by various means and methods. Information acquired by the analyst can be either computer based or manual. Collectionof information is the vital step as indirectly all the major decisions taken in the organizations are influenced. Thesystem analyst has to coordinate with the system users, computer programmers, manager and number of people who are related with the use of system. Following are the tasks performed by the system analyst: Defining Requirement: The basic step for any systemanalyst is to understand the requirements of the users. This is achieved by various fact finding techniques like interviewing, observation, questionnaire etc. The information should be collected in such a way that it will be useful to develop such a system which can provide additional features to the users apart from the desired. Prioritizing Requirements: Number of users use the systemin the organization. Each one has a different requirement and retrieves different information. Due to certain limitations incomputing capacity it may not be possible to satisfy the needs of all the users. Even if the computer capacity is good enough is it necessary to take some tasks and update the tasks as per the changing requirements. Hence it is important to create list of priorities according to users requirements. The best way to overcome the above limitations is to have a common formal or informal discussion with the users of the system. This helps the system analyst to arrive at a better conclusion. Gathering Facts, data and opinions of Users: After determining the necessary needs and collecting useful information the analyst starts the development of the systemwith active cooperation from the users of the system. Time to time, the users update the analyst with the necessary information for developing the system. The analyst while developing
the system continuously consults the users and acquires their views and opinions. Evaluation and Analysis: As the analyst maintains continuous he constantly changes and modifies the systemto make it better and more user friendly for the users. Solving Problems: The analyst must provide alternate solutions to the management and should a in dept study of the system to avoid future problems. The analyst should provide with some flexible alternatives to the management which will help the manager to pick the system which provides the best solution. Drawing Specifications: The analyst must draw certain specifications which will be useful for the manager. The analyst should lay the specification which can be easily understood by the manager and they should be purely non-technical. The specifications must be in detailed and in well presented form.