Discovering Computers 2008 Fundamentals Fourth Edition Chapter 11 Information System Development and Programming Languages Chapter 11 Objectives Discuss the importance of project management, feasibility assessment, documentation, data and information gathering techniques, and information systems security during system development List other programming languages and other program development tools Discuss the purpose of each phase in the system development cycle Describe various ways to develop Web pages Differentiate between low-level languages and procedural languages List the six steps in the program development cycle Identify the benefits of object-oriented programming languages and program development tools Explain the basic control structures used in designing solutions to programming problems Next The System Development Life Cycle What is an information system (IS)? Hardware, software, data, people, and procedures that work together to produce quality information System—Set of components that interact to achieve common goal Businesses use many types of systems p. 406 Next The System Development Life Cycle What are the phases of the system development cycle? Phase 2. Analysis Phase 1. Planning Review project requests Prioritize project requests Allocate resources Form project development team Conduct preliminary investigation Perform detailed analysis activities: Study current system Determine user requirements Recommend solution Phase 5. Operating, Support, and Security p. 406 Fig. 11-1 Perform maintenance activities Monitor system performance Assess system security Phase 3. Design Acquire hardware and software, if necessary Develop details of system Phase 4. Implementation Develop programs, if necessary Install and test new system Train users Convert to new system Next The System Development Life Cycle What are guidelines for system development? Arrange tasks into phases of activities) Involve(groups users (anyone for whom system is being built) Develop clearly defined standards (procedures company expects employees to follow) p. 407 Next The System Development Life Cycle Who participates in the system development life cycle? p. 407 Fig. 11-2 Next The System Development Life Cycle What is a systems analyst? Responsible for designing and developing information system Users’ primary contact person p. 407 Next The System Development Life Cycle What is the project team? Formed to work on project from beginning to end Consists of users, systems analyst, and other IT professionals Project leader—one member of the team who manages and controls project budget and schedule p. 408 Next The System Development Life Cycle What is project management? p. 408 Process of planning, scheduling, and controlling activities during system development cycle Project leader identifies elements for project Goal, objectives, and expectations, collectively called scope Required activities Time estimates for each activity Cost estimates for each activity Order of activities Activities that can take place at same time Next The System Development Life Cycle What is a Gantt chart? Popular tool used to plan and schedule time relationships among project activities Click to view Web Link, click Chapter 11, Click Web Link from left navigation, then click PERT Charts below Chapter 11 p. 409 Fig. 11-3 Next The System Development Life Cycle What is feasibility? Operational feasibility Measure of how suitable system development will be to the company Four feasibility tests: Schedule feasibility Economic feasibility (also called cost/benefit feasibility) p. 409 Technical feasibility Next The System Development Life Cycle What is documentation? Collection and summarization of data and information Includes reports, diagrams, programs, and other deliverables p. 409 Next The System Development Life Cycle What are six data and information gathering techniques? Review documentation Observe Questionnaire Interview Joint-application design (JAD) session Research p. 410 Fig. 11-4 Next The System Development Life Cycle What are some reasons to create or modify an information system? p. 410 To correct problem in existing system To improve existing system Outside group may mandate change Competition can lead to change Next The System Development Life Cycle What is a request for system services? Formal request for new or modified information system p. 411 Fig. 11-5 Also called project request Next The System Development Life Cycle What is the planning phase? Begins when steering committee receives project request Steering committee— decision-making body for the company Function of committee: Review and approve project requests p. 412 - 413 Prioritize project requests Allocate resources Form project development team for each approved project Next The System Development Life Cycle What is the analysis phase? Conduct preliminary investigation, also called feasibility study p. 413 Perform detailed analysis Next The System Development Life Cycle What is the preliminary investigation? Determine exact nature of problem or improvement and whether it is worth pursuing Findings are presented in feasibility report p. 413 - 414 Fig. 11-6 Next The System Development Life Cycle What is detailed analysis? 1. Study how current system works 2. Determine user’s wants, needs, and requirements 3. Recommend solution Sometimes called logical design p. 415 Next The System Development Life Cycle What is the system proposal? Assesses feasibility of each alternative solution Recommends the most feasible solution for the project p. 415 Presented to steering committee, which decides how system will be developed Next The System Development Life Cycle What are possible solutions? Buy packaged software—prewritten software available for purchase Write own custom software—software developed at user’s request Horizontal market software—meets needs of many companies Vertical market software—designed for particular industry Outsource—have outside source develop software Click to view Web Link, click Chapter 11, Click Web Link from left navigation, then click Outsourcing below Chapter 11 p. 415 Next The System Development Life Cycle What is the design phase? Acquire hardware and software Develop all details of new or modified information system p. 416 Next The System Development Life Cycle Video: Facebook Announces New Platform CLICK TO START Next The System Development Life Cycle What is needed to acquire new hardware and software? p. 416 Identify all hardware and software requirements of new or modified system Identify technical specifications Solicit vendor proposals Test and evaluate vendor proposals Make a decision Next The System Development Life Cycle What are three basic documents used to summarize technical specifications? Identifies product(s) you want Request for quotation (RFQ) Vendor selects product(s) that meet(s) your requirements and then quotes price(s) Click to view Web Link, click Chapter 11, Click Web Link from left navigation, then click Request for Proposals below Chapter 11 p. 416 Vendor quotes price(s) for listed product(s) Request for proposal (RFP) Request for information (RFI) Less formal method that uses standard form to request information about product or service Next The System Development Life Cycle What is a value-added reseller (VAR)? Complete system provided by value-added reseller p. 417 Fig. 11-7 Value-added reseller (VAR) purchases products from manufacturer and then resells them, offering additional services with product Authorized VARs must meet certain manufacturerspecified requirements Next The System Development Life Cycle How do systems analysts test software products? p. 417 References from vendor Talk to current users of product Product demonstrations Trial version of software Benchmark test measures performance Next The System Development Life Cycle What is a detailed design? Detailed design specifications for components in proposed solution Includes several activities Database design p. 418 - 419 Input and output design Program design Next The System Development Life Cycle What is a mockup? Sample of input or output that contains actual data p. 418 Fig. 11-8 Next The System Development Life Cycle What is a layout chart? Input or output that contains programming-like notations for data items p. 419 Fig. 11-9 Next The System Development Life Cycle What is a prototype? Working model of proposed system Beginning a prototype too early may lead to problems p. 419 Next The System Development Life Cycle What is computer-aided software engineering (CASE)? Software tools designed to support activities of system development cycle p. 419 Fig. 11-10 Next The System Development Life Cycle What is the implementation phase? Purpose is to construct, or build, new or modified system and then deliver it to users Convert to new system Train users Install and test new system Develop programs p. 420 Next The System Development Life Cycle What are the four types of tests performed by system developers? p. 420 Unit Test Systems test Verifies each individual program works by itself Verifies all programs in application work together Integration Test Acceptance Test Verifies application works with other applications Verifies the new system works with actual data Next The System Development Life Cycle What is training? Showing users exactly how they will use new hardware and software in system p. 420 - 421 Fig. 11-11 Next The System Development Life Cycle What are conversion strategies? p. 421 Used to change from old system to new system Next The System Development Life Cycle What is the operation, support, and security phase? Provides ongoing assistance after system is implemented Perform maintenance activities Monitor system performance Assess system security p. 422 Next The System Development Life Cycle What is a computer security plan? Summarizes in writing all of the safeguards that are in place to protect a company’s information assets Identify all information assets of an organization p. 422 Identify all security risks that may cause an information loss For each risk, identify the safeguards that exist to detect, prevent, and recover from a loss Next Programming Languages What is a computer program? Set of instructions that directs computer to perform tasks p. 423 Fig. 11-12 Programming language—used to communicate instructions Next Programming Languages What are low-level languages and high-level languages? Low-level language Machine-dependent runs only on one type of computer Machine and assembly languages are low-level p. 424 High-level language Often machine-independent can run on many different types of computers and operating systems Next Programming Languages What is machine language? Only language computer directly recognizes Uses a series of binary digits (1s and 0s) with a combination of numbers and letters that represent binary digits p. 424 Fig. 11-13 Next Programming Languages What is assembly language? Instructions made up of symbolic instruction codes, meaningful abbreviations and codes Source program contains code to be converted to machine language p. 424 - 425 Fig. 11-14 Next Programming Languages What is a procedural language? Programmer writes instructions that tell computer what to accomplish and how to do it Uses series of English-like words to write instructions Often called third-generation language (3GL) p. 425 Next Programming Languages What is a compiler? Program that converts entire source program into machine language before executing it p. 425 Fig. 11-15 Next Programming Languages What is an interpreter? Program that translates and executes one program code statement at a time Does not produce object program p. 426 Fig. 11-16 Next Programming Languages What is COBOL? Designed for business applications English-like statements make code easy to read, write, and maintain COmmon Business-Oriented Language Click to view Web Link, click Chapter 11, Click Web Link from left navigation, then click COBOL below Chapter 11 p. 426 Fig. 11-17 Next Programming Languages What is C? Powerful language originally designed to write system software Requires professional programming skills p. 427 Fig. 11-18 Next Programming Languages What is an object-oriented programming (OOP) language? Used to implement object-oriented design Object is item that contains data and procedures that act on data p. 427 Major benefit is ability to reuse existing objects Event-driven— checks for and responds to set of events Java, C++, C#, and Visual Basic are complete object-oriented languages Event is action to which program responds Next Programming Languages What is Java? Developed by Sun Microsystems Similar to C++ but uses just-in-time (JIT) compiler to convert source code into machine code Click to view Web Link, click Chapter 11, Click Web Link from left navigation, then click Java Platforms below Chapter 11 p. 427 - 428 Fig. 11-19 Next Programming Languages What is C++? Includes all elements of C, plus additional features for working with object-oriented concepts Used to develop database and Web applications What is C#? Object-oriented programming language based on C++ Accepted as a standard for Web applications and XML-based Web services Click to view Web Link, click Chapter 11, Click Web Link from left navigation, then click C++ below Chapter 11 p. 428 Next Programming Languages What is Visual Studio? .NET is set of technologies that allows program to run on Internet Comprised of Visual Basic, Visual C++, Visual C#, and Visual J# Step 1. The Step 2. The developer developer designs the user interface. assigns properties to each object on the form. Step 3. The Click to view Web Link, click Chapter 11, Click Web Link from left navigation, then click Visual Studio Tools for Office below Chapter 11 p. 428 - 429 Fig. 11-20 Step 4. The developer tests the program. developer writes code to define the action of each command button. Next Programming Languages What is Delphi? Powerful visual programming tool Ideal for large-scale enterprise and Web applications What is PowerBuilder? p. 429 Another powerful visual programming tool Best suited for Web-based and large-scale object-oriented applications Next Programming Languages What is a visual programming language? Visual programming environment (VPE) allows developers to drag and drop objects to build programs Provides visual or graphical interface for creating source code Examples include Alice, Mindscript and Prograph p. 429 Next Programming Languages What is RPG (Report Program Generator)? Used for generating reports, performing computations, and updating files p. 430 Fig. 11-21 Next Programming Languages What is a fourth-generation language (4GL)? Nonprocedural language that allows access to data in database Popular 4GL is SQL, query language that allows users to manage data in relational DBMS p. 430 Fig. 11-22 Next Programming Languages What are other available programming languages? ALGOL ADA BASIC FORTH FORTRAN LOGO LISP PASCAL APL PILOT HYPERTALK MODULA-2 PL/1 PROLOG SMALLTALK p. 431 Next Programming Languages What is an application generator? Program that creates source code or machine code from specification Consists of report writer, form, and menu generator Form provides areas for entering data p. 431 - 432 Fig. 11-24 Next Programming Languages What is HTML (Hypertext Markup Language)? Used to create Web pages Click to view Web Link, click Chapter 11, Click Web Link from left navigation, then click HTML below Chapter 11 p. 433 Fig. 11-25 Next Programming Languages What is a scripting language? Typically easy to learn and use JavaScript Perl (Practical Extraction and Report Language) PHP (PHP: Hypertext Processor) Rexx (Restructured eXtended eXecutor) Tcl (Tool Command Language) VBScript (Visual Basic, Scripting Edition) p. 434 - 435 Fig. 11-26 Next Programming Languages What is dynamic HTML (DHTML)? p. 435 Fig. 11-27 Allows developers to include more graphical interest and interactivity in Web page Next Programming Languages What are XHTML, XML, and WML? XHTML (Extensible HTML) enables Web sites to be displayed more easily on microbrowsers XML (Extensible Markup Language) allows developers to create customized tags WML (Wireless Markup Language) allows developers to design pages specifically for microbrowsers p. 436 Includes features of HTML and XML Server sends entire record to client, enabling client to do much of processing without going back to server RSS 2.0 Many PDAs and smart phones use WML as their markup language Next Programming Languages What is Ajax? Stands for Asynchronous JavaScript and XML Method of creating interactive Web applications designed to provide immediate response Combines JavaScript, HTML or XHTML, and XML Google Maps and Flickr use Ajax Click to view Web Link, click Chapter 11, Click Web Link from left navigation, then click Ajax below Chapter 11 p. 436 Next Programming Languages What is Ruby on Rails (RoR)? p. 436 Also called Rails Open source framework that provides technologies for developing object-oriented, database-driven Web sites Ruby is derived from a variety of languages, including Ada, LISP, Perl, and Smalltalk Next Programming Languages What is Web page authoring software? Creates sophisticated Web pages without using HTML Generates HTML Dreamweaver p. 436 - 437 Expression Web Flash Next Programming Languages What is multimedia authoring software? Combines text, graphics, animation, audio, and video into interactive presentation Used for computerbased training (CBT) and Web-based training (WBT) Software includes Toolbook, Authorware, and Director p. 437 Fig. 11-28 Next The Program Development Cycle What is the program development cycle? Steps programmers use to build computer programs Programming team—Group of programmers working on program p. 438 - 439 Fig. 11-29 Next The Program Development Cycle What is a sequence control structure? Control structure that shows actions following each other in order p. 440 Fig. 11-30 Control structure depicts logical order of program instructions Next The Program Development Cycle What is a selection control structure? Tells program which action to take, based on a certain condition Two types p. 440 Fig. 11-31 Case control structure If-then-else control structure—yields one of two possibilities: true or false Next The Program Development Cycle What is a case control structure? Yields one of three or more possibilities p. 440 - 441 Fig. 11-32 Next The Program Development Cycle What is a repetition control structure? Enables program to perform one or more actions repeatedly Do-while control structure—repeats as long as condition is true Do-until control structure—repeats until condition is true p. 441 - 442 Figs. 11-33–11-34 Next Companies on the Cutting Edge Video: Electronic Arts Going Mobile CLICK TO START Next Summary of Information System Development and Programming Languages Phases in the system development life cycle Various programming languages and program development tools used to write and develop computer programs Guidelines for system development Web development and multimedia development tools Activities that occur during the entire system development cycle Program development cycle Chapter 11 Complete