5System Analysis and Design (SAD) Analysis: defining the problemFrom requirements to specificationDesign: solving the problemFrom specification to implementation
6System Analysis and Design (SAD) Systems Analysis: understanding and specifying in detail what a system should doSystem Design: specifying in detail how the parts of an system should be implementedDefinition of SAD:The complex organizational process whereby computer-based information systems are developed and maintained.
8SoftwareIEEE (Institute of Electrical and Electronic Engineers) defines software as“collection of computer programs, procedures, rules and associated documentation and data“
9Characteristic of Software It is intangible part of the computer systemSoftware is intrinsically complex.Software does not wear out but deteriorates.Software is not manufactured but developed.Software is prone to failure.Software is costly to maintain.
10Software CategoriesSoftware products may be developed for a particular customer or may be developed for a general market.It can be classified into two categoriesGeneric - developed to be sold to a range of different customers e.g. PC software such as Excel or Word.customized - developed for a single customer according to their specification (Hospital management system)
11What is software engineering? Software engineering is an art of developing quality software in an effective and efficient way.According to IEEE definition“Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software”.
15Management Myths Myths Realities ‘We already have books full of standards and procedures for building software. That will provide my people with everything they need to know’‘My people do have state-of-the-art hardware’ which is essential ingredient for successful software production.Standards are rarely usedDevelopers rarely know about themStandards are often out-of-date and incompleteSoftware tools are usually more important than hardware tools for achieving quality and productivity.
16Management Myths Myths Realities ‘If we get behind schedule we can add more programmers and catch up’Adding more manpower to the project, which is already behind schedule, further delays the project.New workers take longer time to learn about the project as compared to those already working on the project
17Management Myths Myths Realities ‘If I decide to outsource the software project to a third party, I can just relax and let that firm build itOutsourcing software to a third party does not help the organization
18User’s Myths Myth Realities Insufficient knowledge about requirements is the major cause of software failureFormal and detailed descriptions of data, functionality, design constraints are essentialCommunication between user and developer is vital‘A general statement of objectives is sufficient to begin writing software - we can fill in the details later’
19User’s Myths Myth Realities ‘Project requirements continually change but change can be easily accommodated because software is flexible’The impact of change varies according to the time when it is introducedEarly requests for change can be easily made and can be much cheaperChanges made during design, implementation and installation have a severe impact on cost
20Developer’s Myths Myth Realities ‘Once we write the program and get it to work, our job is done’‘Until I get the program running I really have no way of assessing its quality’‘The only deliverable for a successful project is the working program’50% to 70% of all the efforts are expended after the software is delivered to the user.The success of a project does not depend only on the quality of programs. Documentation and software configuration are also essential
21Why Software Engineering? Major Goals:- To increase software productivity and quality.- To effectively control software schedule and planning.- To reduce the cost of software development.- To meet the customers’ needs and requirements.- To improve the current software engineering practice.- To support the engineers’ activities in a systematic and efficient manner.
22What are the key challenges facing software engineering? Coping with legacy systems, coping with increasing diversity and coping with demands for reduced delivery timesLegacy systemsOld, valuable systems must be maintained and updatedHeterogeneitySystems are distributed and include a mix of hardware and softwareDeliveryThere is increasing pressure for faster delivery of software
24System 1. System’s Concept Def. A System is a set of components that interact with one another and serve for a common purpose or goal.
251. System’s Concept system has nine main characteristics : Components Input.Interrelationships Output.Boundary Interface.Purpose Constraints.Environment.
26System’s Concept (cont’d) FIGURE 1-1 Characteristics of a system
272. System’s Characteristics • A component is either an irreducible part or an aggregate of parts, also called a subsystem.• The components are interrelated; that is, the function of one is somehow tied to the function of the others.• A system has a boundary, within which all of its components are contained and which establishes the limits of a system, separating it from other systems.• All of the components work together to achieve some overall purpose: the system’s reason for existing.
28System’s Characteristics (cont’d) • A system operates within an environment – everything outside the system’s boundary. The environment surrounds the system, both affecting it and being affected by it.• The point at which the system meets its environment are called interface.• A system must face constraints in its functioning because there are limits to what it can do and how it can achieve its purpose within its environment.• A system interact with the environment by means of inputs and outputs. Input is anything entering the system from the environment; output is anything leaving the system crossing the boundary to the environment .
29Elements of a System Outputs and inputs Processor(s) Control Feedback EnvironmentBoundaries and interface
313. Feedback and Control in a System Very often output’s data are returned to the input of the system, and used to regulate the system’s activity.Such a process is called feedback. It helps to adjust the system to changes so that the system operates in a balanced state, or equilibrium. This feature of a system is used in control.Def. Control is the process that measures current performance and guides it towards a predetermined goal. It is the decision making subsystem that controls the pattern of activities governing i/p, processing and o/p
32Feedback and Control in a System (cont’d) Two types of feedback are related to system control.• Negative feedback is corrective feedback that helps maintain the system within a critical operating range and reduces performance fluctuations around the norm or standard. Negative feedback is transmitted in feedback control loops. A sensor detects the effect of output on the external environment; this information is returned to the system as an input, and necessary adjustments are made according to predetermined goal.• positive feedback reinforces the operation of a system by causing it to continue its performance and activities without changes.
33Types of Systems Physical or Abstract system Physical system are tangible entities . For e.g. computer systemAbstract System are non physical entities. For e.g. models
34Types of Systems Open or Closed system An open system has many interfaces with its environment. It permits interaction across its boundary. It receives inputs from and delivers outputs to the outside.A closed system is isolated from environmental influences
35Types of Systems Information Systems Interrelated components working together toCollectProcessStoreDisseminate informationTo support decision making, coordination, control, analysis and visualization in an organization
36What is an Information System? A SYSTEM THAT PROVIDES THE INFORMATION NEEDED TO ACCOMPLISH THE ORGANIZATION’S TASKSWHAT IS A COMPUTER BASED INFORMATION SYSTEM?A SYSTEM THAT USES COMPUTERS TO PROVIDE THE NEEDED INFORMATION
37Computer-based Information Systems (CBIS) vs Manual Systems Information system that rely on computer hardware and software for processing and disseminating informationManual systemsUse paper + pencil technology
38Difference between manual IS and computer based IS Manual IS works without the help of technologyManual IS is slow and may be inaccurateRetrieving information in manual IS is quite hectic and time consuming task.Computer based ISCBIS uses computer technology to perform its tasksCBIS is very accurate and provide results faster than the manual ISData processing and fetching information is fast
39...contThrough CBIS it is easy to convert and present info in a presentable manner e.g. graphs, charts tables etc.Huge amount of information can be easily stored, copied, moved from a systemIt is expensive compared to the manual ISit provides more security and have many options like password, login ID’sManual IS is less capable of presenting information in a systematic way.Manual IS in not suitable for storing huge dataManual IS is less expensive than CBISIt provides less security for information stored
40Components of Computer based Information System It is an organized combination ofDataHardwareSoftwareCommunications networksPeoplePolicies and proceduresThis is a simple definition that we will expand upon laterWhat’s an example?Smoke signals to transmit informationCard catalogs in a libraryBook bag with day planner, notebooks, that allows you organize inputs from lectures, presentations and discussions. The output is homework and good exam gradesCash register at restaurantOther examples?40
41The Components of a Computer-Based Information System (continued)The Components of a Computer-Based Information System41
42Data: Input that the system take to produce information
43Hardware: Computer and its peripheral equipments Hardware: Computer and its peripheral equipments. The equipments are input and output devices, storage devices and communications devices
44Software: Set of instructions that tell the computer how to take the data in, how to process it, how to display the output and how to stores the data and information
45Communication Network: Hardware and software that facilitates the fast transmission and reception of texts, pictures, sound and animation in the form of electronic data
46People: IS professional and users who analyses the organizational information needs designs, constructs and uses information system
47Policies and procedures: Rules for achieving optimal and secure operation in data processing
48Computer based Information System Types Transaction Processing Systems (TPS)Management Information Systems (MIS)Decision Support Systems (DSS)Expert System and Artificial Intelligence (ES &AI)
49Transaction Processing Systems (TPS) TPS are computerized information systems that were developed to process large amounts of data for routine business transaction.Data about each transaction are captured,Transactions are verified and accepted/rejected,Validation transactions are stored for later aggregation.Report may be produced to provide summarization of the transactions, andTransaction may be moved from process to process in order to handle all aspects of the business activities.
50Management Information Systems (MIS) Information system at the management level of an organization that serves the functions of planning, controlling, and decision making by providing routine summary and exception reports.It takes the relatively raw data available through a TPS and converts them into a meaningful aggregated form that mangers need to conduct their responsibilities.
51Decision Support systems (DSS) Information system at the management level of an organization that combines data and sophisticated analytical models or data analysis tools to support semi- structured and unstructured decision making.DSS are designed to help organizational decision making.A DSS is composed of a:Database ( may be extracted from a TPS/MIS)Graphical/mathematical models for business processUser interface that provides a way to communicate with DSS
52Expert Systems An expert system is… A computer application that performs a task that would otherwise be performed by a human expertgives the computer the ability to make suggestions and to act like an expert in a particular fieldExamples: diagnose human illnesses, make financial forecasts
56Waterfall modelIn waterfall model the development of system proceeds linearly and sequentially from requirement analysis to design, coding, testing, implementation and maintenance. So it also known an Linear Sequential model.It has different phases and each phase has its distinct goal.Once a phase is completed, the development of system proceeds to the next phase.Each phase modifies the intermediate product to develop a new product as an outputThe new product becomes the input of the next process
57Waterfall Deficiencies Requirements need to be specified before the development proceedsDeliverables created for each phase are considered frozen – inhibits flexibilityDoes not reflect problem-solving nature – iterations of phasesLittle opportunity for customer to preview the system
58Throwaway prototype model The development of the product starts with the part of the system which is poorly understood by the developer.It is then designed and exposed to the user to get more and refined requirements.The revised specifications are again designed and developed into another enhanced prototype of the software.
59Throwaway prototype model The reviewing , revising specifications and implementing continues until final specifications are documented.The final specifications are regarded as the base of the delivery and all the developed prototypes are discarded.
62Incremental development Rather than deliver the system as a single delivery, the development and delivery is broken down into increments with each increment delivering part of the required functionality.User requirements are prioritised and the highest priority requirements are included in early increments.Once the development of an increment is started, the requirements are frozen though requirements for later increments can continue to evolve.
63Incremental development The first increment is available to the user within short time. This increment meets most of the critical requirements of the user for immediate use. Hence he need not wait for delivery of the entire system.Exposure of early increments to the user helps refining the requirements for subsequent incrementsSubsequent increments would address the shortcomings of the earlier increments. This minimizes the risk of overall project failure
65Spiral model sectors Planning Specific objectives for the phase are identified. The products and its constraints are identified. The alternatives and risk factor for the development of the products with constraints are identifiedRisk assessmentRisks are assessed and activities put in place to reduce the key risks.EngineeringA development model for the system is chosen .User EvaluationThe project is reviewed and the next phase of the spiral is planned.
66The model demands a high level expertise to deal with the risk analysis and control For small project, this model may not time and cost effective