AIMP222 Lecture 03: Systems Development Tools And Methods PDF
Document Details
Uploaded by WellBehavedOrchid
Tags
Summary
This lecture covers systems development tools and methods, including modeling, prototyping, and computer-aided systems engineering tools. It also discusses various systems development methods, such as structured analysis, object-oriented analysis, and agile methods. The material helps to understand these concepts to plan, analyze, design, and implement information systems.
Full Transcript
SYSTEMS DEVELOPMENT TOOLS AND METHODS INFORMATION ANALYSIS AND DESIGN SYSTEMS DEVELOPMENT TOOL In addition to understanding business operations, system analysts must know how to use a VARIETY OF TECHNIQUES, such as MODELING, PROTOTYPING, and COMPUTER-AIDED SYSTEMS ENGINEERING TOOLS to...
SYSTEMS DEVELOPMENT TOOLS AND METHODS INFORMATION ANALYSIS AND DESIGN SYSTEMS DEVELOPMENT TOOL In addition to understanding business operations, system analysts must know how to use a VARIETY OF TECHNIQUES, such as MODELING, PROTOTYPING, and COMPUTER-AIDED SYSTEMS ENGINEERING TOOLS to plan, design, and implement INFORMATION SYSTEMS. SYSTEMS ANALYST work with these tools in a TEAM ENVIRONMENT, where input from users , managers and IT staff contributes to a system design. MODELING MODELING produces a graphical representation of a computer or process that systems developers can analyze, test and modify. A SYSTEM ANALYST can describe and simplify an information system by using a set of business, data, object, network and process models. BUSINESS MODELS describes the information that a system must provide. Analysts also create models to represent data, objects, networks, and other system components. SYSTEM DEVELOPERS often use multipurpose charting tools such as MICROSOFT VISIO to display related models. PROCUREMENT PROCESS 1 PROCUREMENT PROCESS 2 FLOWCHART MAKER AND DIAGRAMMING SOFTWARE, MICROSOFT VISIO PROTOTYPING PROTOTYPINGS tests sytem concepts and provides an opportunity to examine input, output, and user interfaces before final decisions are made. A PROTOTYPE is an early working version of an information system. A PROTOTYPE can serve as an initial model that is used as a BENCHMARK to evaluate the finished system, or the prototype itself can develop into the final version of the system. PROTOTYPE EXAMPLE COMPUTER-AIDED SYSTEMS ENGINEERING (CASE) TOOLS Is a technique that uses powerful software, called CASE TOOLS to help SYSTEM ANALYSTS develop and maintain information systems. CASE TOOLS provide an overall framework for systems development and support a wide variety of design methodologies, including STRUCTURED ANALYSIS and OBJECT-ORIENTED ANALYSIS. Visible Analyst (VA) is one example of a CASE tool that enables systems analysts to do graphical planning, analysis, and design in order to build complex client/server applications and databases. CASE TOOLS Components of CASE Tools CASE tools can be broadly divided into the following parts based on their use at a particular SDLC stage: Central Repository - CASE tools require a central repository, which can serve as a source of common, integrated and consistent information. Central repository is a central place of storage where product specifications, requirement documents, related reports and diagrams, other useful information regarding management is stored. Central repository also serves as data dictionary. Upper Case Tools - Upper CASE tools are used in planning, analysis and design stages of SDLC. Lower Case Tools - Lower CASE tools are used in implementation, testing and maintenance. Integrated Case Tools - Integrated CASE tools are helpful in all the stages of SDLC, from Requirement gathering to Testing and documentation. CASE TOOLS UPPER CASE TOOLS Diagram Tools Project Modeling Tools Project Management Tools Documentation Tools Analysis Tools Design Tools LOWER CASE TOOLS Configuration Management Tools Change Control Tools Programming Tools Prototyping Tools Web Development Tools Quality Assurance Tools Maintenance Tools Benefits of CASE TOOLS Cost saving through all the dev't phases Improves product quality Helps to provide high quality and consistent documents Makes maintenance easier and reduce maintenance cost Easy to use and reduce the development time LIMITATIONS OF CASE TOOLS Tool Mix Learning curve Cost SELECT THE RIGHT CASE TOOL Which of the following term is best define by the statement:”Each object is stored only once, but is accessible by all CASE tools that need it.”? Non-redundant data storage Data independence Transaction control Adhoc data queries and reports CASE tools are used only during the software testing phase. TRUE FALSE Can't say SYSTEMS DEVELOPMENT METHODS STRUCTURED ANALYSIS OBJECT-ORIENTED (O-O) ANALYSIS AGILE METHODS (ADAPTIVE METHODS) SYSTEMS DEVELOPMENT METHODS STRUCTURED ANALYSIS is a traditional systems development technique that is time-tested and easy to understand. Uses a series of phases, called SYSTEMS DEVELOPMENT LIFE CYCLE(SLDC) to plan, analyze, design, implement, and support an information system. uses a set of processes models to describe a system graphically. Because it focuses on processes that transform data in useful information, structured analysis is called a process-centered technique. DATA AND PROCEDURE ARE DIFFERENT THINGS SYSTEMS DEVELOPMENT METHODS OBJECT-ORIENTED (O-O) ANALYSIS Whereas STRUCTURED ANALYSIS treats processes and data as separate components, object-oriented analysis combines data and the processes that act on the data into things called objects (views the system in terms of objects) The objects represent actual people, things, transactions and events. Ex. invoice, phonecall, employees SYSTEM ANALYSTS use O-O to model real-world business processes and operations. The result is a set of software objects that represent actual people, things, transactions, and events. Usually follow a series of analysis and design phases that are similar to SLDC but are more interactive. O-O ANALYSIS Using O-O programming language, a programmer then writes the code that creates the objects. An object is a member of class, which is a collection of similar objects. Objects possess characteristics called properties, which inherits from its class or possesses on its own. Uses object model to represent data and behavior, and to show how objects and methods needed to support a business operation, a system developer can design reusable components that speed up system implementation and reduce development cost. AGILE METHODS AGILE METHODS attempt to develop a system incrementally by building a series of prototypes and constantly adjusting them to user requirements. As the AGILE process continues, developers arise, extend, and merge earlier versions into the final product. An AGILE approach emphasizes continuous feedback, and each incremental step is affected by what was learned in the prior steps. AGILE MANIFESTO We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: INDIVIDUALS AND INTERACTIONS over processes and tools WORKING SOFTWARE over comprehensive documentation CUSTOMER COLLABORATION over contract negotiation RESPONDING TO CHANGE over a following a plan 12 Principles of Agile 1. CUSTOMER SATISFACTION. Our highest priority is to satisfy the customer through early and continous delivery of valuable software. 2. EMBRACING CHANGES. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage. 3. SPEED DELIVERY. Deliver working software frequently, from a couple of weeks, to a couple of months, with a preference to the shorter timescale. 4. COLLABORATION. Business people and developers must work together daily thoughout the project. 5. EMPOWERMENT. Build projects around motivated individuals. GIve them the environment and support they need, and trust them to get the job done. 6. EFFECTIVE COMMUNICATION. The most efficient and effective method of converying information to and within a development team is face-to-face conversation. 7.GOOD METRICS. Working software is the primary measure of progress. 12 Principles of Agile 8. STEADINESS. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. OPERATIONAL EXCELLENCE. Continous attention to technical excellence and good design enhances agility. 10. Simplicity - the art of maximizing the amount of work not done - is essential. 11. SELF-ORGANIZATION. The best architectures, requirements, and designs emerge from self-organizing teams. 12. CONTINOUS IMPROVEMENT. At regular intervals, the team reflects on how to become more effective, then tunes and adjust its behavior accordingly.