sir M.pdf
Document Details
Uploaded by Deleted User
Full Transcript
BSIS Dept. Bago City College What is a SYSTEM ? What is in the system? Why need to analyze ? A system is a set of interrelated components that work together to accomplish a purpose. Basically, there are three major components in every system, namely input, processing and output. The following...
BSIS Dept. Bago City College What is a SYSTEM ? What is in the system? Why need to analyze ? A system is a set of interrelated components that work together to accomplish a purpose. Basically, there are three major components in every system, namely input, processing and output. The following simple diagram may be used to explain the conceptual Examples of IT systems include: 1. Computer hardware - desktops, laptops, servers, storage devices, networking equipment 2. Computer software - operating systems, productivity applications, enterprise software, databases, security tools 3. Telecommunication systems - telephone systems, video conferencing, internet connectivity, mobile networks 4. Information management systems - content management systems, customer relationship management (CRM) tools, enterprise resource planning (ERP) software 5. Cybersecurity systems - firewalls, intrusion detection/prevention, antivirus/anti-malware, identity management 6. Cloud computing platforms - public, private, and hybrid cloud services 7. Internet of Things (IoT) systems - connected devices, sensors, automation and control systems 8. Data analytics platforms - business intelligence tools, predictive analytics, big data frameworks 9. Project management and collaboration tools - project planning software, file sharing, team chat Classification of systems Systems can be classified either as open or closed systems. This classification is based on how a system interacts with its environment. A system`s environment includes all factors surrounding the system. The description of open and closed systems are given below. Closed and Open Systems In systems theory, a distinction is made between open systems and closed systems. A CLOSED system is a system, which is isolated from its environment and independent of it. That is, a closed system does not interact with its environment. An OPEN system is a system connected to and interacting with its environment. It can also adapt to changing conditions. It can receive inputs from, and delivers output to the outside of system. The diagram in figure 2. Illustrate the idea of open and closed systems. As it can be seen from the diagram, an open systems receives different kinds of inputs and gives different output depending on the input. Figure 2 Information System Information in organizations is considered as a strategic resource. information systems can so drastically boost a firm`s productivity and efficiency that businesses view information as a weapon against competition and a strategic resource. An information system is a set of information technologies that enables people in organization to accomplish tasks effectively. People: All members of an organization need to use information to perform their jobs. As a group, these people are referred to as information system users or end users. The structure and design of an information system is defined by another group of people- the system designers. Another group of people in the organization – managers – decides how money, time, and other resources should be categorized into areas: tasks related to communication among people in the organization, and tasks related to the strategic management of the organization. Information: As a commodity, information refers to facts, statistics or other data that are valuable or useful to a person for accomplishing a task. Organization: A business or other organization can be defined by its purpose, the tasks or activities that performs, and its structure. Environment: The global, competitive business environment presents problems and opportunities that a business organization must cope with to thrive. Types of Information Systems 1. Transaction Processing Systems TPS processes business transactions of the organization. Transaction can be any activity of the organization. Transactions differ from organization to organization. For example, take a railway reservation system. Booking, cancelling, etc are all transactions. Any query made to it is a transaction. However, there are some transactions, which are common to almost all organizations. Like a new employee, maintain their leave status, maintain employees accounts, etc. TPS provides high speed and accurate processing of record keeping of basic operational processes. These include calculation, storage and retrieval. They can be programmed to follow routines functions of the organizations. Examples of Transaction Processing Systems include; Point of Sale Systems – records daily sales Payroll systems – processing employees salary, loans management, etc. Stock Control systems – keeping track of inventory levels Airline booking systems – flights booking management 2. Management Information system These systems assist lower management in problem solving and making decisions. They use the results of transaction processing and some other information also. It is a set of information processing functions. It should handle queries as quickly as they arrive. An important element of MIS is database. A database is a non-redundant collection of interrelated data items that can be processed through application programs and available to many users. Examples of management information systems include; Sales management systems – they get input from the point of sale system Budgeting systems – gives an overview of how much money is spent within the organization for the short and long terms. Human resource management system – overall welfare of the employees, staff turnover, etc. 3. Decision Support System These systems assist higher management to make long term decisions. These types of systems handle unstructured or semi structured decisions. A decision is considered unstructured if there are no clear procedures for making the decisions and if not all the factors to be considered in the decision can be readily identified in advance. These are not recurring nature. Some recur infrequently or occur once. A decision supply system must be very flexible. The user should be able to produce customized reports by giving particular data and format specific to particular situations. Examples of decision support systems include; Financial planning systems – it enables managers to evaluate alternative ways of achieving goals. The objective is to find the optimal way of achieving the goal. For example, the net profit for a business is calculated using the formula Total Sales less (Cost of Goods + Expenses). A financial planning system will enable senior executives to ask what if questions and adjust the values for total sales, the cost of goods, etc. to see the effect of the decision and on the net profit and find the most optimal way. Bank loan management systems – it is used to verify the credit of the loan applicant and predict the likelihood of the loan being recovered. Artificial intelligence techniques in business Artificial intelligence systems mimic human expertise to identify patterns in large data sets. Companies such as Amazon, Facebook, and Google, etc. use artificial intelligence techniques to identify data that is most relevant to you. Facebook as an example, Facebook usually makes very accurate predictions of people that you might know or went with to school. They use the data that you provide to them, the data that your friends provide and based on this information make predictions of people that you might know. Amazon uses artificial intelligence techniques too to suggest products that you should buy also based on what you are currently getting. Google also uses artificial intelligence to give you the most relevant search results based on your interactions with Google and your location. These techniques have greatly contributed in making these companies very successful because they are able to provide value to their customers. Roles of System Analyst The system analyst is the person (or persons) who guides through the development of an information system. In performing these tasks, the analyst must always match the information system objectives with the goals of the of the organization. Role of System analyst differs from organization to organization. Most common responsibilities of System Analyst are the following. 1) System analysis It includes system`s study in order to get facts about business activity. It is about getting information and determining requirements. Here the responsibility includes only requirement determination, not the design of thesystem. 2) System analysis and design: Here apart from the analysis work, Analyst is also responsible for the designing of the new system/application. 3) Systems analysis, design, and programming: Here Analyst is also required to perform as programmer, where he actually writes the code to implement the design of the proposed application. Due to the various responsibilities that a system analyst requires to handle, he has to be multifaceted with varied skills required at various stages of the life cycle. In addition to the technical know-how of the information system development a system analyst should also have the following knowledge. Business Knowledge: As the analyst might have to develop any kind of a business, he should be familiar with the general functioning of all kind of businesses. Interpersonal skills: Such skills are required at various stages of development process for interacting with the users and extracting the requirements out of them. Problem solving skills: A system analyst should have enough problem occurring at the various stages of the development process The Systems Development Life Cycle (SDLC) Why Organizations Develop Information Systems. The systems development process begins when someone recognizes that a problem needs to be solved or an opportunity exists that can be taken advantage of system development is a problem-solving process of investigating a situation, designing a system solution to improve the situation, acquiring the human, financial, and technological resources to implement the solution, and finally evaluating the success of the solution. An organization may face several problems and opportunities, each of which may require the company to develop new IT applications. Each project requires people, money and other organizational resources, so aa steering committee is formed. System Development Life Cycle The System Development Life Cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project from an initial feasibility study through maintenance of the completed application. Various SDLC methodologies have been developed to guide the processes involved including the waterfall model (the original SDLC method), and application development (RAD), joint application development (JAD), the fountain model and the spiral model. Mostly, several models are combined into some sort of hybrid methodology. Documentation is crucial regardless of the type of model chosen are devised for any application, and is usually done in parallel with the development process. Some methods work better for specific types of projects, but in the final analysis, the most important factor for the success of a project may be how closely a particular plan was followed. Figure, below is the classic waterfall model methodology which is the first SDLC method and it describes the various phases involved in the development of an Information System. Stages of the typical system development life cycle I. Feasibility study (Investigation) The purpose of the investigation phase is to study the existing business problem or opportunity and determine whether it is feasible to develop a new system or design the existing system if one exists. During this stage the following activities are performed; The project team conduct a feasibility study to identify the nature of the problem The team also examines the current system to determine how well it needs of the users and the organisation. Assess whether a new or improved information system is a feasible solution. In carrying out the above activities the project team tries to answer the feasibility questions related to the following. Technical Feasibility In technical feasibility the following issues are taken into consideration. Whether the required technology is available or not. Whether the required resources are available – the resources include Manpower (that is Programmers, testers, debuggers, etc) and the software and hardware. Once the technical feasibility is established, it is important to consider the monetary factors also. Since it might happen that developing a particular system may be technically possible but it may require huge investments and benefits may be less. Economic and Financial feasibility For any system if the expected benefits equal or exceed the expected costs, the system can be judged to be economically feasible. In economic feasibility, the most effective is cost-benefit analysis. As the name suggests, it is an analysis of the costs to be incurred in the system and benefits derivable out of the system. Using the given link https://www.projectcubicle.com/co st-benefit- analysis-example/ Study the given example and prepare your own detailed CBA using any project of your choice. Submit : 1.Detailed CBA showing your cost and benefit calculation table. 2.Detailed CBA showing your cost and benefit comparison table. Operational feasibility Operational feasibility is mainly concerned with issues like whether the system will be used if it is developed and implemented. Whether there will be resistance from users that will affect the possible application benefits? The essential questions that help in testing the operational feasibility of a system are the following. Does management support the project? Are the users not happy with current business practices? Will it reduce the time (operation) considerably? If yes, then will welcome the change and the new system. Have the users been involved in the planning and development of the project? Early involvement reduces the probability of resistance towards the new system. Will the proposed system really benefits the organization? Does the overall response increase? Will accessibility of information be lost? Will the system affect the customers in considerable ways? Based on its investigation, the project team can make three possible recommendations. The three possible recommendations that the project team can make are: a)To leave the system the way as it is; b)To improve or enhance the current system; or c) To develop an entirely new system Note: Systems can also look at organizational feasibility and legal feasibility but the major areas considered are the ones mentioned above. II.Analysis During the analysis phase, the systems analyst gathers documents, interviews users of the current system (if one exists), observes the system in action, and gathers and analyses data to understand the current system and identify new requirements – features or capabilities that must be included in the system to meet the needs of the users. The system analyst identifies the requirements related to each subsystem of the following in a proposed system: (i) Input/output requirements: The characteristics of the user interface, including the content, format, and timing requirements for data-entry screens and managerial reports (ii)Storage requirements: the content of records and databases and the procedures for data retrieval (iii)Control requirements: the desired accuracy, validity, and security of the system; for example, tom prevent data entry errors and guarantee an easy-to-use, user-friendly system The systems analyst documents the work done in the analysis phase in a written functional requirements report. The following are the main issues that the functional requirements report should outline; Explains the current business procedures How the current system works Identifies problems with the current procedures and system Describes the requirements for the new or modified system Note: A system requirement is a feature that must be included in the new system. And may include a way of capturing or processing data, producing information, controlling a business activity or supporting management. III. Design The investigation phase focuses on why, the analysis phase focuses on what and the design phase focuses on how. In the design phase, the system analyst develops the system specifications that describe how exactly the system requirements, identified in the analysis phase, will be met. The three main categories of the how-to questions that the systems analyst considers in design phase are; User interface design: How will the various outputs of the system be designed? Where will input data come from, and how will it be entered into system? How will the various windows, menus and other user-computer dialogue characteristics be designed? Database design: how will the data elements and structure of the files that oppose the database be designed? IV.Development After the design phase is complicated, the actual system development can begin. The development phase is a process of turning the design specifications into a real working system. The fundamental activities of the development phase include; Hardware, software and communications purchasing; Documentation; and Programming, that is writing the code to solve the tasks involved. V. Testing In this phase the system is tested. Normally programs are written as a series of individual modules, these are subjected to separate and detailed test. The system is the tested as a whole. The separate modules are brought together and tested as a complete system. The system is tested to ensure that interfaces between modules work (integration testing), the system works on the intended platform and with the expected volume of data (volume testing) and that system does wait the user requires (acceptance/beta testing). Note: The good student has been asked to differentiate between Alpha and Beta testing. VI. Implementation The implementation phase occurs when the testing phase is completed and the new system is ready to replace the old one. For commercial software packages, this phase typically involves extensive training and technical user support to supplement sales and marketing efforts. For large customs systems, implementation includes end- user education and training, equipment replacement, file conversion, and careful monitoring of the new system of problems. The approaches for converting the new system that the system analyst one can choose from are: The direct changeover approach simply replaces the old system with the new system. The organization relies fully on the new system with the risk that parts of the new system might work correctly. The parallel system approach operates the old system along with the new system for a period of time. The old system is gradually phased out as users gain skills and confidence that the new system is stable and reliable.The pilot approach implements the new system in one in one department or work in an organization. The new system is used and modified at this test site until the systems analyst believes the system can be successfully implemented throughout the organization. End user training is critical to implementing an information system successfully. During training, clerical and managerial end users learn to use the features of the new system effectively. They learn how to handle problems that may arise when they use the system. VII. Maintenance The maintenance phase involves monitoring, evaluating, repairing and enhancing the system throughout the lifetime of the system. Some software problems don’t surface until the system has been operational for a while or the organization needs change. System ned to adjusted to keep up to update with new products, services, customers, industry standards, and government regulations. The following are the main reasons for evaluation during system maintenance; The system is evaluated periodically to determine whether it is providing the anticipated benefits and meeting organisational needs. Also, evaluation provides the feedback necessary for management to assess whether the system was developed on schedule and within budget and To identify what adjustments to make in the system development process in future. Summary of SDLC Stages The stages involved in a systems development, starting with the original identification of the problem by management and ending with a report back on successful (or otherwise) implementation are the following: Preliminary investigation – review of problem through project proposals Detailed investigation – feasibility study (technical, economical, social, and operational feasibility tests) Analysis – questionnaire, interviews, records review, observationDesign – logical system representation (DFDS), decision tables, Decision trees, Structured English) Development – coding and testing (unit testing, system testing, integration testing, user acceptance testing, bottom up testing, top down testing, black box testing, white box testing, valid data and invalid data testing etc). Implementation – site preparation, hardware installation, software installation, live testing, training (onsite training and offsite training), changeover (direct changeover, parallel, phase change and pilot change). Post implementation review and evaluation – report on system`s impact on workers, management and business in general. Advantages and limitations of the Waterfall Model a)Advantages of Waterfall Life Model 1.Easy to explain to the user 2.Stages and activities are well defined 3.Helps to plan and schedule and project 4.Verification at each stage ensures early detection of errors/ misunderstanding b)Limitations of the Waterfall Life Cycle Model The traditional model has the following limitations: The model implies that you should attempt to complete a given stage before moving on to the next stage Does not account for the fact that requirements constantly change. It also means that customers cannot use anything until the entire system is complete. The model makes that once the product is finished, everything else is maintenance. Due to the limitations of the waterfall model, a number or models have been proposed to present the System development lifecycle. These include the Spiral Model, Prototyping System Development Life Cycle Model and Object-Oriented methodology among other users. The top 7 SDLC methodologies REALIZATION: Tech is an ever-evolving industry, so it’s vital to keep up with the latest technologies and to be constantly upskilling yourself to ensure you’re an asset to any software development team. As a software development professional, it’s no longer just about programming: you need to demonstrate that you can design, develop, test and optimise software for a user’s needs. A proven track record in software testing, software development, integration testing and a clear understanding of the development process is a great thing for prospective employers to see when hiring for roles of this nature. What does SDLC stand for? SDLC stands for Software Development Life Cycle or sometimes System Development Life Cycle models, and these are a variety of processes of design, development and testing that are used in the industry today. While there’s no best or standout when it comes to SDLC methodologies, so it’s essential to be across the most common models that can be applied to projects as companies are sure to have unique or specific software testing or SDLC process in place for their software development team. Here are the top seven types of software development methodologies you should know about to help you optimise your software life cycle and software development cycle: 1. Lean Methodology Lean methodology is focused on eliminating waste, making decisions as late as possible, delivering outcomes as fast as possible and focusing on the big picture. Project teams working with the Lean model find opportunities to cut waste at every step of the SDLC process – in other words, skipping unimportant meetings and reducing documentation as this is sure to streamline the software development process. Lean methodology is cost-effective and empowers the entire development team in the decision-making process. However, with limited meetings and documentation, communication needs to be sound for senior stakeholders to stay in the project loop. Thankfully, by utilizing an efficient means of communicating for the team, you can keep everyone in the loop throughout each stage of the software development process without having to pull people out for meetings constantly. 2. Agile Methodology Agile is a combination of an incremental and iterative approach, where the product is released on an ongoing cycle then tested and improved at each iteration. Fast failure is encouraged in agile methodology: the theory is that if you fail fast and early, you can solve minor issues before they grow into major issues. Agile is one of the most common SDLC methodologies out there today but it’s technically more of a framework than a distinct model. Within Agile, there are sub-models in place such as extreme programming (XP), Rapid Application Development (RAD), Kanban and Scrum methodology. 3.Waterfall Model/ Methodology The Waterfall model and methodology is one of the oldest surviving SDLC methodologies. It follows a straightforward approach: the project development team completes one phase at a time, and each phase uses information from the last one to move forward. While this methodology does make the needs and outcomes clear, and gives each stage of the model a well-defined starting and ending point, there are downsides in Waterfall’s rigidity. In fact, some experts believe the Waterfall model was never meant to be a working SDLC methodology for software development because of how fixed it is in nature. Because of this, the SDLC Waterfall model is best used for extremely predictable projects. 4. DevOps DevOps is used by some of the biggest companies out there, such as Atlassian. A hybrid of Agile and Lean, DevOps evolved from the growing need for collaboration between operations and development teams throughout the SDLC process. In DevOps, both developers and operations teams work together to accelerate and innovate the deployment and creation of software. There are small but frequent updates and DevOps encourages continuous feedback, process improvement and the automation of previously manual processes. DevOps methodology saves time and improves communication because both operations and development teams get to know about the potential obstructions at the same time. However, DevOps may open software to more security issues, as this approach generally favours speed over security. 5. Spiral As one of the most flexible SDLC models out there, the Spiral model is used by the world’s leading software companies. Spiral enables project teams to build a highly customised product. Spiral methodology passes through four phases repeatedly until the project is finished: planning, risk analysis, engineering, and evaluation. The biggest difference between Spiral and other SDLC methodologies is that it is focused on risk analysis, with each iteration it focuses on mitigating potential risks. The model also emphasizes customer feedback, and as the prototype build is done in small increments, cost estimation becomes easier. 6. Iterative The Iterative model is all about repetition. Instead of starting out with a comprehensive overview of the requirements, development teams build the software piece by piece and identify further requirements as they go along. As a result, each new phase in the Iterative model produces a newer, more- refined version of the software under development. Iterative allows developers and testers to identify functional or design flaws early, and can easily adapt to the ever-changing needs of the client. Like Spiral, Iterative suits larger projects and requires more management and oversight to work well. 7. V-Model Similar to the waterfall methodology where testing is done at the end of a project, with the V-model, testing happens at every stage of development. The next stage of the V-model starts only when the previous stage is entirely finished. As part of the V-Model, a software tester has to verify if the requirements of a specific development phase are met. They also have to validate that the system meets the needs of the user, customer or other stakeholders, which includes both verifications and validations. A word of advice: There’s no one size fits all solution when it comes to Software Development Life Cycle methodologies.