Unit - 1 (Introduction To SAD)
Unit - 1 (Introduction To SAD)
Unit - 1 (Introduction To SAD)
Structure
1.0 1.1 1.2 Introduction Objectives Fundamentals of Systems
1.2.1 1.2.2 1.2.3 Important Terms related to Systems Classification of Systems Real Life Business Subsystems
Introduction to SAD
Page No.
5 5 5
1.3 Real Time Systems 1.4 Distributed Systems 1.5 Development of a Successful System 1.6 Various Approaches for Development of Information Systems
1.6.1 1.6.1 1.6.2 Structured Analysis and Design Approach Prototype Joint Application Development
7 8 9 11
15 15 16
1.0
INTRODUCTION
In general, a System is based on Input-Process-Output (IPO model). Manual work can be replaced by computerized system for accuracy and speed of processing. So, before the development of any computerized system, developers should also understand all basic concepts about the system. To develop a system, a standard Methodology must be considered. Different approaches are available for the development of a system. Selecting the best approach is the responsibility of systems analyst and this selection is based on the requirements of end user, problem definition and the infrastructure provided. Standard principles should be followed for the development of good quality software.
1.1
OBJECTIVES
After going through this unit, you should be able to: learn the concepts related to Systems; know about Real Time Systems; know about Distributed Systems; and learn the process of developing a successful system.
day operations in a business as well as support the problem solving and decision making needs of management and users. The characteristics of a System are as follows: Organization implies structure and order. It is an arrangement of components that helps to achieve objectives. Interaction refers to the procedure in which each component functions with other components of the system. Interdependence means that one component of the system depends on another component. Integration is concerned with how a system is tied together. It is more than sharing a physical part. It means that parts of system work together within the system even though each part performs a unique function. Central Objective is quite common that an organization may set one objective and operate to achieve another. The important point is that the users must be aware about the central objective well in advance.
a) A Formal System is one that is planned in advance and is used according to schedule. In this system policies and procedures are documented well in advance. A real life example is to conduct a scheduled meeting at the end of every month in which agenda of the meeting has already been defined well in advance. An Informal System is the system that is not described by procedures. It is not used. According to a schedule. It works on as need basis. For example, Sales order processing system through telephone calls. b) Physical Systems are tangible entities that may be static or dynamic. Computer Systems, Vehicles, Buildings etc. are examples of physical systems. Abstract systems are conceptual entities. Example: Company c) Open System is a system within its environment. It receives input from environment and provides output to environment. Example: Any real life system, Information System, Organization etc.
Closed System: It is isolated from environment influences. It operates on factors within the System itself. It is also defined as a System that includes a feedback loop, a control element and feedback performance standard. Figure1.1 shows a Closed loop system. Performance Standard is defined as objective that the System has to meet. A Feedback loop is defined as a portion of the System that enables the System to regulate itself. Signals are obtained from the System describing the System Status and are transmitted to the Control Mechanism. A Control Element compares the output with the performance standard and adjusts the system input accordingly.
Introduction to SAD
d) Manual and Automated systems: The system, which does not require human intervention is called Automated system. In this system, the whole process is automatic. Example: Traffic control system for metropolitan cities. The system, which requires human intervention, is called a Manual System. Example: Face to face information centre at places like Railway stations etc.
2. The person in an organization who has the primary responsibility for systems analysis and design is _________. a) b) c) d) The end user The systems analyst The internal auditor Business manager.
3. An overall strategy to information systems development that focuses on the ideal organization data, rather than where and how data are used best defines the ____. a) b) c) d) Process-oriented approach Data-organization approach Data-oriented approach Information-oriented approach.
4. Which of the following is not a true statement concerning the differences between the process-oriented and data-oriented approaches to systems development? a) b) c) d) The process oriented approach has limited design stability Much uncontrolled data duplication exists with the data oriented approach The data oriented approach designs data files for the enterprise None of the above.
5. Non-information system professionals in an organization who specify the business requirements and who use software applications are called: a) b) c) d) Programmers Network managers Code designers End users.
6. Which of the following is not one of the four classes of information systems? a) b) c) d) Transaction processing systems Decision support systems Expert systems Production systems.
microprocessors, workstations, minicomputers, and large general-purpose computer systems. The implementation of a distributed system is complicated and difficult, but still is in demand. Some of the reasons are that modern businesses are already distributed. So, they need distributed solutions. In general, solutions developed using a distributed systems paradigm are user-friendlier. They have the following advantages: Resource sharing Computation speedup Reliability Communication.
Introduction to SAD
The five Layers of Distributed System architecture are: Presentation Layer is the actual user interface. The inputs are received by this layer and the outputs are presented by this layer. Presentation Logic layer includes processing required to establish user interface. Example: Editing input data, formatting output data. Application Logic Layer includes all the logic and processing required to support the actual business application and rules Example: Calculations. Data Manipulation Layer includes all the command and logic required to store and retrieve data to and from the database. Data Layer is actual stored data in the database.
2. What is the difference between information requirements determination and specification? 3. What are the characteristics of a good information system?
next phase. But now concept of Repository is introduced in SDLC and it is known as FAST methodology where work is done across shared repository. It means that all the inputs and outputs of phases must be stored in the repository. At any time developers can backtrack to previous phase and they can also work on two phases simultaneously.
Preliminary Investigation Determination of system requirements Design of system Development of software System testing Implementation & evaluation
For making a successful system, the following principles should be followed: (1) (2) Both customers and developers should be involved for accuracy in the information. A problem solving approach should be adopted. The classic problem solving approach is as follows: a) b) c) d) e) (3) (4) Study, understand the problem and its context Define the requirements of a solution Identify candidate solutions and select the best solution Design and implement the solution Observe and evaluate the solutions impact and refine the solution accordingly.
Phases and activities should be established. For consistent development of a system, some standards should be established.
These standards are: Documentation standards: It should be an ongoing activity during the system development life cycle. Quality Standards: Checks should be established at every phase for ensuring that the output of every phase meets the business and technology expectations. Automated Tool standards: Hardware and software platforms should be finalized for the development of Information system. Automated tool standards prescribe technology that will be used to develop and maintain information systems and to ensure consistency, completeness, and quality. (5) Development of information system should be considered as capital investment: The developer of an information system should think about several solutions of a particular problem and every solution should be evaluated for costeffectiveness and risk management. Cost-effectiveness is defined as the result obtained by striking a balance between the cost of developing and operating an
10
information system and the benefits derived from that system. Risk management is defined as the process of identifying, evaluating and controlling what might go wrong in a project before it becomes a threat to the successful completion of the project or implementation of the information system. Multiple feasibility checkpoints should be built into system development methodology. At each feasibility checkpoint, all costs are considered sunk (i.e. not recoverable). Thus, the project should be re- evaluated at each checkpoint to determine if it remains feasible to continue investing time, effort, and resources. At each checkpoint, the developers should consider the following options: (6) Cancel the project if it is no longer feasible. Re-evaluates and adjusts the cost and schedule if project scope is to be increased. Reduce the scope if the project budget and schedule are frozen and not sufficient to cover all the project objectives.
Introduction to SAD
Divide and Conquer approach is the way of making a complex problem easier. In this approach, the larger problem (System) is divided into smaller problems (Subsystem). For development of a successful system, the system should be designed for growth and change. When the System is implemented, it enters the operations and support stage of Life Cycle (Please refer to figure 1.3).
(7)
During this stage, the developers encounter the need for changes that range from correcting simple mistakes to redesigning the system to accommodate changing technology to making modifications to support changing user requirements. These changes direct the developers to rework formerly completed phases of the life cycle.
1.6
Various approaches are available for development of Information Systems. They are: Model Driven: It emphasizes the drawing of pictorial system models to document and validate both existing and/or proposed systems. Ultimately, the system model becomes the blueprint for designing and constructing an improved system. Accelerated approach: A prototyping approach emphasizes the construction of model of a system. Designing and building a scaled-down but functional version of the desired system is known as Prototyping. A prototype is a working system that is developed to test ideas and assumptions about the new system. It consists 11
of working software that accepts input, perform calculations, produces printed or display information or perform other meaningful activities. Joint Application Development: It is defined as a structured approach in which users, managers, and analysts work together for several days in a series of intensive meetings to specify or review system requirements. In this approach, requirements are identified and design details are finalized.
It is a process-centred technique that is used to model business requirements for a system. Structured analysis introduced a process-modeling tool called the Data flow diagram, used to illustrate business process requirements. With the help of DFD, the systems analyst can show the system overview. Data modeling tools such as Entity relationship diagrams are used to illustrate business data requirements. With the help of ERD, the analyst, can show database overview. Structured Design utilizes graphic description (Output of system analysis) and focuses on development of software specifications. The goal of structured design is to lead to development of programs consisting of functionally independent modules that perform relatively independently of one another. It is a specific program design technique, not a comprehensive design method. Thus it does not specify file or database design, input or output layout or the hardware on which the application will run. It provides specification of program modules that are functionally independent. It is a process-centred technique that transforms the structured analysis models into good software design models. Structured Design introduced a modeling tool called Structure Charts. They are used to illustrate software (program) structure to fulfil business requirements. Structure charts describe the interaction between independent module and the data passing between the modules. These module specifications can be passed to programmers prior to the writing of program code. In structure chart the whole application is divided into modules (set of program instructions) and modules are designed according to some principles of design. These principles are: Modularity and partitioning: Each system should consist of a hierarchy of modules. Lower level modules are generally smaller in scope and size compared to higher level modules. They serve to partition processes into separate functions. Coupling: Modules should be loosely coupled. It means that modules should have little dependence on other modules in a system. 12
Cohesion: Modules should be highly cohesive. It means that modules should carry out a single processing function. Span of control: Modules should interact with and manage the functions of a limited number of lower level modules. It means that the number of called modules should be limited (in a calling module). Size of Module: The number of instructions contained in a module should be limited so that module size is generally small. Shared use of Functions: Functions should not be duplicated in separate modules may be shared. It means that functions can be written in a single module and it can be invoked by any other module when needed.
Introduction to SAD
1.6.2 Prototype
A prototyping approach emphasizes the construction model of a system. Designing and building a scaled-down but functional version of a desired system is the process known as Prototyping. A prototype is a working system that is developed to test ideas and assumptions about the new system. It consists of working software that accepts input, performs calculations, produces printed or displayed information or performs other meaningful activities. It is the first version or iteration of an information system i.e. an original model. Customer evaluates this model. This can be effectively done only if the data are real and the situations are live. Changes are expected as the system is used. This approach is useful when the requirements are not well defined. A prototype is usually a test model. It is an interactive process. It may begin with only new functions and be expanded to include others that are identified later. The steps of Prototyping process are depicted in Figure 1.4. They are: Identify the users known information requirements and features needed in the system. Develop a working prototype. Revise the prototype based on feedback received from customer Repeat these steps as needed to achieve a satisfactory system.
Actual development of a working prototype is the responsibility of a systems analyst. The difference between a prototype model and an actual information system is that, a prototype will not include the error checking, input data validation, security and processing completeness of a finished application. It will not offer user help as in the final system. But, sometimes, the prototype can evolve into the product to be built. The prototype can be easily developed with tools of fourth generation languages (4GLs) and with the help of Computer Aided Software Engineering (CASE) tools. Prototyping approach is a form of rapid application development (RAD).
1.6.3
It is defined as a structured approach in which users, managers, and analysts work together for several days in a series of intensive meetings to specify or review system requirements. The important feature of JAD is joint requirements planning, which is a process whereby highly structured group meetings are conducted to analyze problems and define requirements. The typical participants in a JAD are listed below: JAD session leader: The JAD leader organizes and runs the JAD. This person is trained in group management and facilitation as well as system analysis. The JAD leader sets the agenda and sees that it is met. The JAD leader remains neutral on issues and does not contribute ideas or opinions but rather concentrates on keeping the group on the agenda, resolving conflicts and disagreements, and soliciting all ideas. (1) Users: The key users of the system under consideration are vital participants in a JAD. They are the only ones who have a clear understanding of what it means to use the system on a daily basis. Managers: The role of managers during JAD is to approve project objectives, establish project priorities, approve schedules and costs and approve identified training needs and implementation plans. Sponsors: A JAD must be sponsored by someone at a relatively high level in the company i.e. the person from top management. If the sponsor attends any session, it is usually at the very beginning or at the end. Systems Analysts: Members of the systems analysis team attend the JAD session although their actual participation may be limited. Analysts are there to learn from customers and managers, but not to run or dominate the process. Scribe: The scribe takes down the notes during the JAD sessions. This is usually done on a personal computer or a laptop. Notes may be taken using a word processor. Diagrams may directly be entered into a CASE tool. IS staff like systems analysts, other IS staff such as programmers, database analysts, IS planners and data centre personnel may attend to learn from the discussions and possibly to contribute their ideas on the technical feasibility of proposed ideas or on technical limitations of current systems.
(2)
(3)
(4)
(5)
(6)
The following are the various benefits of Joint Application Development: actively involves users and management in project development, reduces the amount of time required to develop a system, and incorporates prototyping as a means for confirming requirements and obtaining design approvals.
14
1.7 SUMMARY
In this unit, all the basic concepts that are necessary to understand the system, types and characteristics are given. Concepts about real and distributed systems are also discussed. Development of a successful information system depends on principles of SDLC. Different approaches are available for development of information systems. These are Model Driven (structure analysis and design approach), Accelerated (prototype) and JAD approach. Selection of the approach is based on the end user requirements, problem identified and infrastructure provided.
Introduction to SAD
15
16