slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Chapter Goals PowerPoint Presentation
Download Presentation
Chapter Goals

Loading in 2 Seconds...

play fullscreen
1 / 51

Chapter Goals - PowerPoint PPT Presentation


  • 122 Views
  • Uploaded on

Chapter Goals. Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations Explain the function and operation of program translation software, including assemblers, compilers, and interpreters.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Chapter Goals' - chelsey


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
chapter goals
Chapter Goals
  • Describe the application development process and the role of methodologies, models, and tools
  • Compare and contrast programming language generations
  • Explain the function and operation of program translation software, including assemblers, compilers, and interpreters

Systems Architecture, Fifth Edition

chapter goals continued
Chapter Goals (continued)
  • Describe link editing, and contrast static and dynamic linking
  • Describe integrated application development software, including programmer’s workbenches and CASE tools

Systems Architecture, Fifth Edition

the application development process
The Application Development Process
  • Follows a development methodology
  • Develops a set of models
  • Uses automated tools

Systems Architecture, Fifth Edition

systems development life cycle sdlc
Systems Development Life Cycle (SDLC)
  • Follow disciplines and iterations of the Unified Process (UP)
  • Usually includes two sets of models
    • System requirements model
    • Design model

Systems Architecture, Fifth Edition

methodologies and models
Methodologies and Models
  • Methodology
    • Integrated collection of models, tools, and techniques
  • UP employs object-oriented analysis, design, and deployment models
  • Class diagrams document user and system requirements

Systems Architecture, Fifth Edition

tools
Tools
  • Wide array to support or completely automate software development tasks
  • Proper tool selection is a critical and difficult undertaking

Systems Architecture, Fifth Edition

programming languages
Programming Languages
  • Instruct computer to perform a task
  • Sometimes called code
  • Programmer goals
    • Make language easier for people to understand
    • Develop languages and development approaches that require people to write fewer instructions to accomplish a task

Systems Architecture, Fifth Edition

programming languages1
Programming Languages
  • Summary of capabilities of recent generations
    • Instruction explosion
    • Database access
    • Support for GUIs
    • Nonprocedural programming
  • All but 1GL must be translated into CPU instructions prior to execution (compilers and interpreters)

Systems Architecture, Fifth Edition

first generation languages
First-Generation Languages
  • Required programmers to remember binary codes that represented each CPU instruction and to specify all operands as binary numbers
  • Tedious to program; error-prone

Systems Architecture, Fifth Edition

second generation languages
Second-Generation Languages
  • Use mnemonics to represent variables (program instruction memory address) and labels (data item memory address)
  • Easier to manipulate than binary numbers; assembler translates program into binary CPU instructions
  • Common in 1950s

Systems Architecture, Fifth Edition

third generation languages
Third-Generation Languages
  • Use mnemonics to represent instructions, variables, and labels
  • Have degree of instruction explosion greater than 1:1
  • Translated with compilers, link editors, and interpreters
  • Machine independent
  • Developed before GUIs, database managers, and Internet

Systems Architecture, Fifth Edition

fourth generation languages
Fourth-Generation Languages
  • Majority were proprietary; many were optional components of database management systems
  • Most support mixture of procedural and nonprocedural instructions

Systems Architecture, Fifth Edition

fifth generation languages
Fifth-Generation Languages
  • Nonprocedural language suitable for developing software that mimics human intelligence
  • Rule processor accepts a starting state as input and iteratively applies rules to achieve a solution
  • First appeared in 1960s; not widely used until 1980s

Systems Architecture, Fifth Edition

object oriented programming oop languages
Object-Oriented Programming (OOP) Languages
  • View data and programs as two parts of integrated whole (object)
  • Promote reusability and portability of source code
  • Uniquely suited to developing real-time programs
  • Not clear successors to 5GLs; neither nonprocedural nor exclusively used for developing artificial intelligence

Systems Architecture, Fifth Edition

slide21

OOP languages: Objects reside in a specific location, wait for messages to arrive, and return a response.

Systems Architecture, Fifth Edition

scripting languages
Scripting Languages
  • Enable programmers to develop applications that do most of their work by calling other applications and system software
  • Enable rapid assembly of application software by “gluing” together capabilities of other programs
  • Evolved from 4GLs, though most now incorporate OOP concepts

Systems Architecture, Fifth Edition

programming language standards
Programming Language Standards
  • Set by ANSI and ISO
  • Include definitions of:
    • Language syntax and grammar
    • Machine behavior for each instruction or statement
    • Test programs with expected warnings, errors, and execution behavior
  • Guarantee program portability among operating systems and application programs

Systems Architecture, Fifth Edition

compilation
Compilation
  • Translates an entire source code file, building a symbol table and object code file as output

Systems Architecture, Fifth Edition

compiler
Compiler
  • Checks for syntax and other errors; issues warning or error messages
  • Updates internal tables that store information about data items and program components
  • Generates CPU instructions or library calls to carry out the source code instruction

Systems Architecture, Fifth Edition

source code instruction types
Source Code Instruction Types
  • Data declarations
  • Data operations
  • Control structures
  • Function, procedure, or subroutine calls

Systems Architecture, Fifth Edition

data declarations
Data Declarations
  • Define name and data type of program variables
  • Stored in memory allocated by compiler

Systems Architecture, Fifth Edition

slide29

The compiler updates a symbol table to keep track of data names, types, and assigned memory addresses.

Systems Architecture, Fifth Edition

data operations
Data Operations
  • Instructions that update or compute a data value
  • Translated by compiler into equivalent sequence of data movement and data transformation instructions for target CPU
  • Compiler refers to entries in symbol table to determine source and destination memory addresses for data movement instructions

Systems Architecture, Fifth Edition

control structures
Control Structures
  • Source code instructions that control the execution of other source code instructions
  • Common thread is transfer of control among CPU instructions

Systems Architecture, Fifth Edition

function calls
Function Calls
  • Named instruction sequences executed by call instructions
  • Transfer control to the instruction following the call by executing a return instruction

Systems Architecture, Fifth Edition

implementing call and return instructions
Implementing Call and Return Instructions
  • Compiler generates CPU instructions to:
    • Pass input parameters to the function
    • Transfer control to the function
    • Execute CPU instructions within the function
    • Pass output parameters back to the calling module
    • Transfer control back to the calling module at the statement immediately following the function call statement

Systems Architecture, Fifth Edition

link editing
Link Editing
  • Statically links external reference calls in object code to library functions; combines them into a single file containing executable code
  • Can dynamically link external calls by statically linking them to an OS service function that loads and executes dynamic-link library (DLL) functions at run time
  • Always used by interpreters

Systems Architecture, Fifth Edition

key benefits of link editors in program translation
Key Benefits of Link Editors in Program Translation
  • A single executable program can be constructed from multiple object code files compiled at different times
  • A single compiler can generate executable programs that run under multiple operating systems

Systems Architecture, Fifth Edition

dynamic and static linking
Dynamic and Static Linking
  • Static linking
    • Library and other subroutines cannot be changed once inserted into executable code
  • Dynamic linking
    • Performed during program loading or execution

Systems Architecture, Fifth Edition

advantages of dynamic and static linking
Advantages of Dynamicand Static Linking
  • Dynamic
    • Smaller application program executable files
    • Flexibility
  • Static
    • Execution speed
    • Improves reliability and predictability of executable programs

Systems Architecture, Fifth Edition

interpreters
Interpreters
  • Interleave source code translation, link editing, and execution, one source code instruction at a time
  • Advantage (vs. compilation)
    • Provide flexibility to incorporate new or updated code into an application program (dynamic linking)
  • Disadvantage (vs. compilation)
    • Increase memory and CPU requirements during program execution

Systems Architecture, Fifth Edition

slide42
Java
  • Object-oriented programming language and program execution environment
  • Maximizes reliability of applications and reusability of existing code
  • Has a standardized target machine language for Java interpreters and compilers
  • Drawback: Reduced execution speed due to use of interpreted byte codes and OS translation

Systems Architecture, Fifth Edition

features of java
Features of Java
  • Provision of compilers and virtual machines at little or no cost
  • Incorporation of JVMs into Web browsers
  • Increasing development of application software that uses a Web browser as primary I/O device
  • Ability of Java programs to execute on any combination of computer hardware and OS

Systems Architecture, Fifth Edition

symbolic debugging
Symbolic Debugging
  • Use of an automated tool for testing executable programs; able to:
    • Trace calls to specific source code statements or subroutines
    • Trace changes to variable contents
    • Execute source code instructions one at a time
    • Detect and report run-time errors to programmer

Systems Architecture, Fifth Edition

symbolic debugger
Symbolic Debugger
  • Uses symbol table, memory map, and source code files to trace memory addresses to specific source code statements and variables
  • Inserts debugging checkpoints after each source code instruction; program execution can be paused
    • Debugging vs. production/distribution version
  • Incorporated directly in most interpreters

Systems Architecture, Fifth Edition

integrated application development tools
Integrated Application Development Tools

Systems Architecture, Fifth Edition

programmer s workbench components
Programmer’s Workbench Components
  • Smart program editor
  • Compiler and/or interpreter
  • Link editor and large library of classes or subroutines
  • Interactive tool for prototyping and designing user interfaces
  • Symbolic debugger
  • Integrated window-oriented GUI

Systems Architecture, Fifth Edition

case tools
CASE Tools
  • Front-end CASE tools
    • Support development of requirements and design models
  • Back-end CASE tools
    • Generate program source code from models

Systems Architecture, Fifth Edition

summary
Summary
  • Software development process
  • Programming languages
  • Compilation and link editing
  • Interpretation
  • Symbolic debugging
  • Application development tools

Systems Architecture, Fifth Edition