Bài giảng Using Information Technology 11e - Chapter 10: Building Systems & Applications: Software Development, Programming, & Languages

Tài liệu Bài giảng Using Information Technology 11e - Chapter 10: Building Systems & Applications: Software Development, Programming, & Languages: ChapterBuilding Systems & Applications: Software Development, Programming, & Languages10Chapter Topics2UNIT 10A: Systems Development & Programming10.1 Systems Development & the Life Cycle of a Software Project 10.2 Programming: Traditionally a Five-Step Procedure UNIT 10A: Programming Languages10.3 Five Generations of Programming Languages10.4 Programming Languages Used Today10.5 Object-Oriented & Visual Programming10.6 Markup & Scripting LanguagesUNIT 10A: Systems Development & ProgrammingLearning to tell a computer what to do—that is, learning systems development and programming, the subject of this chapter—can be a great career booster.You can do some computer-related projects yourself—including apps.You can become a better communicator.310.1 Systems Development & the Life Cycle of a Software Project4Purpose of a SystemA system is a collection of related components that interact to perform a task in order to accomplish a goal.A computer-based system consists of hardware, software,...

pptx57 trang | Chia sẻ: honghanh66 | Lượt xem: 749 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Bài giảng Using Information Technology 11e - Chapter 10: Building Systems & Applications: Software Development, Programming, & Languages, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ChapterBuilding Systems & Applications: Software Development, Programming, & Languages10Chapter Topics2UNIT 10A: Systems Development & Programming10.1 Systems Development & the Life Cycle of a Software Project 10.2 Programming: Traditionally a Five-Step Procedure UNIT 10A: Programming Languages10.3 Five Generations of Programming Languages10.4 Programming Languages Used Today10.5 Object-Oriented & Visual Programming10.6 Markup & Scripting LanguagesUNIT 10A: Systems Development & ProgrammingLearning to tell a computer what to do—that is, learning systems development and programming, the subject of this chapter—can be a great career booster.You can do some computer-related projects yourself—including apps.You can become a better communicator.310.1 Systems Development & the Life Cycle of a Software Project4Purpose of a SystemA system is a collection of related components that interact to perform a task in order to accomplish a goal.A computer-based system consists of hardware, software, people, procedures, and data, as well as communications setups.5How It Starts, Who’s InvolvedUsers: The new system must ALWAYS be developed in consultation with the people who will be using the completed systemManagement: Managers within an organization should be consulted about the system, because they control the budget and resourcesTechnical staff: The Information Systems or IT staff must be involved, because they will have to execute the project or work with the people who doSystems Analyst: Information specialist who performs systems analysis, design, and implementation6Six Phases of Systems Analysis and DesignSystems analysis and design is a six-phase problem-solving procedure for examining an information systems and improving it.The systems development life cycle (SDLC) is the particular step-by-step process followed during systems analysis and design.7Systems Development Life Cycle:Preliminary investigationSystems analysisSystems designSystems developmentSystems implementationSystems maintenanceInformation systems are frequently revised and upgradeSteps in the cycle often overlap8SDLC Phase 1: Conduct a Preliminary InvestigationConduct a preliminary analysisPropose alternative solutionsInterview people within the organizationStudy what competitors are doingDecide to leave the system as is, improve it, or develop a new systemDescribe costs and benefitsSubmit a preliminary plan with recommendationsThis should be a written reportGet management approvals for next phase9SDLC Phase 2: Analyze the SystemGather dataInterview employees and managersDevelop, distribute, analyze questionnairesReview current written documentsObserve people and processes at workAnalyze the dataUse modeling tools, such as CASE toolsCreate a data flow diagram to show how data flows through the systemWrite a reportDocument how the current system worksDocument problems with the current systemDescribe the requirements for the new systemRecommend what to do next and get management approval to proceed1011Data Flow Diagram ExampleSDLC Phase 3: Design the SystemDo a preliminary designOften involves prototyping and continued use of CASE tools Do a detail design, showing:Output requirementsInput requirementsStorage requirementsProcessing requirementsSystem controlsBackupWrite a report and get approval for next phase12SDLC Phase 4: Develop the SystemDevelop or acquire the softwareMake-or-buy decisionIf creating own system, programming (coding must be done)Acquire or upgrade the hardwareTest the systemUnit testing: performance of system’s individual parts testedSystem testing: parts are linked and tested to see if they work together properly; real data may be used13SDLC Phase 5: Implement the SystemChoose a strategy to convert to the new systemDirect implementation: quit the old and start using the newParallel implementation: use both the old and the new side by side, until the new system has been proved reliablePhased implementation: phase in parts of new in gradually as parts of old are phased outPilot implementation: have the new system tried out by a few usersTrain the users14SDLC Phase 6: Maintain & Update the SystemPerform system audits and periodic evaluationsMake changes to the system based on new conditionsFinalize documentationNote that documentation should have been continuously maintained during the entire SDLC15UNIT 10B: Programming LanguagesOne of the first requirements for being a software developer or engineer is to learn not just the steps in programming but also programming languages.1610.2 ProgrammingTraditionally a Five-Step Procedure17A program is a list of instructions that the computer must follow to process data into information.Programming is done during phase 4 of the SDLC.The five steps:Clarify/define the problemDesign a solutionCode the programTest the programDocument and maintain the program18Programming Step 1: Clarify the Programming NeedsClarify objectives & usersClarify desired outputsClarify desired inputsClarify the desired processingDouble-check the feasibility of implementing the programDocument the analysis19Programming Step 2: Design the ProgramCreate an algorithm, or set of clear steps, to solve the problemDetermine program logic using top-down approach and modules, using a hierarchy chart (graphic form), pseudocode (narrative form), and flowcharts that use control structures2021The taxi algorithm:Go to the taxi stand.Get in a taxi.Give the driver my address.The call-me algorithm:When your plane arrives, call my cellphone.Meet me outside baggage claim.The rent-a-car algorithm:Take the shuttle to the rental car place.Rent a car.Follow the directions to get to my house.The bus algorithm:Outside baggage claim, catch bus number 70.Transfer to bus 14 on Main Street.Get off on Elm street.Walk two blocks north to my house.www.ask.comALGORITHM EXAMPLES22Hierarchy Chart23Pseudocode24Program Flowchart & SymbolsStep 2: Design the Program (continued)Structured programmingUse control structures (logic structures), structures that control the logical sequence in which computer program instructions are executed. In structured program design, three control structures are used to form the logic of a program: sequence, selection, and iteration (or loop).Sequence: one statement follows another in logical orderSelection: IF-THEN-ELSEIteration (loop): DO UNTIL / DO WHILE2526Three Control Structures123Programming Step 3: Code the ProgramCoding: Translating the logic requirement from flowcharts and pseudocode into a programming languageSelect a programming language (set of rules that tells the computer what operations to do)Each programming language has a syntax, or set of grammatical rules to follow to write valid expressionsSyntax rules must be followed or there will be syntax errorsComputers don’t understand what you want, only what you type in27Programming Step 4: Test the ProgramDesk checking is reading through, or checking, the program for syntax errors and logic errorsDebugging is the process of detecting, locating, and removing all syntax errors and logic errors in a computer programBeta testing is the process of testing the program using real dataOne phase of testing uses correct dataOnce the program works, the next phase of testing uses invalid data and untrained users to root out hidden errors28Programming Step 5: Document and Maintain the ProgramDocumentation is written descriptions of what a program is and how to fix it; should be done through all 5 stepsUser documentation – for the people who will use the program (e.g., user manual – hardcopy or CD, and online)Operator documentation – for the computer operators, so they know what to do if the program or hardware malfunctionsProgrammer documentation – for the next programmer who must modify and maintain what has been writtenMaintain the program – keep everything in working condition2930Summary of Programming Steps10.3 Five Generations of Programming Languages31The five generations of programming languages start at the lowest level with (1) machine language. They then range up through (2) assembly language, (3) high-level languages (procedural languages and object-oriented languages), and (4) very-high-level languages (problem-oriented languages). At the highest level are (5) natural languages.32First Generation: Machine LanguageThe basic language of the computer – all 0s and 1sEach CPU model has its own machine language, thus machine language is machine dependentNot convenient for people to read and useEvolution of languages started in 1945Second Generation: Assembly LanguageLow-level mnemonic version of machine language; uses abbreviations and simple wordsFaster to program in than machine languageIs also machine dependentAssembler program needed to translate assembly language into machine language3536Third Generation: High-level Languages (Procedural Languages)These languages resemble human language (e.g., English) and are portable (not machine dependent)Examples are FORTRAN, COBOL, BASIC, Pascal, CThe programmer writes the source code, then uses a translator program to interpret or compile the code into machine language (object code)Interpreter translates and executes immediatelyCompiler translates and saves the code as an entire unit to be executed later3738CompilerFourth Generation: Very-High-Level or Problem-Oriented LanguagesEasier to program in than third-generation languagesThree types:Report generators (RPGIII)Query languages (SQL)Application generators (NOMAD, FOCUS)—used to create parts for other programs39Fifth Generation: Natural LanguagesUsed mainly for artificial intelligence (AI) and neural networksUse regular human languages4010.4 Programming Languages Used Today41FORTRANThe language of mathematicsThe first high-level language writtenA machine-independent procedural languageCOBOLThe most-frequently used language for business legacy applications on large computersA machine-independent procedural language42BASICDesigned to be an easy language to use and learn programming withUsually run from an interpreter, but can be compiledProcedural languageSupplanted by Microsoft’s Visual Basic for commercial/business use PascalDesigned to be a language to teach programmingStructured, compiled languageNot used in business or commercial companies43CGeneral-purpose machine-independent compiled language developed for mid-range computersUsed for portability, operating systems. And scientific useUsed to write the Unix operating systemWidely used for writing common software applications and is necessary for programmers to knowC++Enhanced object-oriented version of C; used for Microsoft system software and many web applications44LISP: For Artificial Intelligence ProgramsThird-generation languageUsed to control AI programsUsed to write expert systems and natural language programs4510.5 Object-Oriented & Visual Programming46In object-oriented programming (OOP), data and processing instructions are combined into a self-sufficient object that can be reused.ObjectSelf-contained module consisting of reusable codeMessageThe instruction received by the object indicating it is time to perform an actionMethodThe processing instructions within the object to perform the specified action47Three basic concepts of OOPEncapsulationOne object contains (encapsulates) both data and relevant processing instructionsInheritanceOne object can be used as the foundation for other objectsObjects can be arranged in hierarchies – classes and subclassesObjects can inherit actions and attributes from one anotherPolymorphismAllows a single definition to be used with different data types and different functionsMeans a message produces different results depending on the object it is sent to48Examples of OOP languagesC++ Object-oriented language that was developed after COften used to write computer games and CPU- and graphics-intensive applicationsJavaDeveloped at Sun Microsystems in early 1990sDerivative of C++ with simpler memory management and syntaxUsed to develop Java applets to be downloaded into web browsers to make websites interactive and more attractive (e.g., with animations)49Visual programming is a method of creating programs in which the programmer makes connections by clicking on objects, diagrams, and icons and by interacting with flowchartsUsing a mouse, the programmer drags and drops objects on screenThis makes it fast and easy to build prototype user interfaces and get end-user approval before doing a lot of programmingVisual BASIC is an example of visual programming5010.6 Markup & Scripting Languages51A markup language is a kind of coding (“tags”) inserted into text that embeds details about the structure and appearance of the textHTML is a markup language (Internet use)Has codes for indicating layout and styling (such as boldface, italics, paragraphs, insertion of graphics, etc.)SGML: improved markup languageSpecifies a syntax for including the markup in documentsAllows users to create and use any markup they wishScript: short list of self-executing commands embedded in a web page that perform a specified function or routine52HTML Hypertext markup languageUsed to create 2-D web pagesAlso lets you insert hypertext links in web pagesVRMLVirtual Reality Modeling (Markup) Language is used to create 3-D web pages, including interactive animationRequires special VRML browser to view VRML pagesUsed by web designers, along with HTML53XMLeXtensible Markup Language is a metalanguage written in SGML that allows one to facilitate easy document interchange on the InternetXML lets you create your own tags (“extensible”)XML statements define data contentJavaScriptNot the same language as JavaAn object-oriented scripting language that adds interactive functions to HTML web pages54FlashBrowser add-on that uses Adobe Flash to support animation, streaming audio and video, and games on the InternetActiveXDeveloped by Microsoft as an alternative to Java for creating interactive web pagesSet of controls or components that enable programs or content of almost any type to be embedded in a web page; comprises reusable components that can be plugged into other applicationsActiveX controls are written in C, C++, Visual BASIC, and JavaOften used by crackers to propagate viruses and/or Trojans; before you allow an ActiveX component to download from your browser to your computer, make sure you trust that website55CGI (Common Gateway Interface)Standard protocol for interfacing external application software with a web serverManages the exchange of information and makes web pages more interactivePerlA general-purpose programming language developed for text manipulation.Used for web development, network programming, system administration, GUI development, other tasksWidely used for web server programs to perform automatic tasks such as updating user accounts and newsgroup postings56PHP (Personal Home Page, or PHP Hypertext Preprocessor)Allows creation of dynamic content that interacts with databasesNormally found on Linux servers with MySQL databasesGeneral-purpose scripting language57

Các file đính kèm theo tài liệu này:

  • pptxuit11e_ch10_ppt_2932.pptx
Tài liệu liên quan