Chapter 10 Application Development - PowerPoint PPT Presentation

1 / 66
About This Presentation
Title:

Chapter 10 Application Development

Description:

Most have significant limitations with respect to modern hardware, GUIs and DBMSs. ... Instructions or prewritten functions to implement interactive I/O and GUIs. ... – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 67
Provided by: Ernes57
Learn more at: http://cob.jmu.edu
Category:

less

Transcript and Presenter's Notes

Title: Chapter 10 Application Development


1
Chapter 10Application Development
2
Chapter Goals
Chapter 10
Systems Architecture
  • Describe the application development process and
    the role of methodologies, models and tools.
  • Compare and contrast programming language
    generations.

3
Chapter Goals
Chapter 10
Systems Architecture
  • Explain the function and operation of program
    translation software, including assemblers,
    compilers and interpreters.
  • Describe link editing and contrast static and
    dynamic linking.

4
Chapter Goals
Chapter 10
Systems Architecture
  • Describe integrated application development
    software, including programmers work-benches and
    CASE tools.

5
Chapter Topics
Chapter 10
Systems Architecture
  • Software development process
  • Programming languages
  • Compilation and link editing
  • Interpretation
  • Symbolic debugging
  • Application development tools

6
Chapter 10
Systems Architecture
7
The Application Development Process
Chapter 10
Systems Architecture
  • Definition of the Application Development Process
  • Systems Development Life Cycle
  • Methodologies and Models
  • Tools

8
The Application Development Process
Chapter 10
Systems Architecture
  • The process of designing and constructing
    software translates users information processing
    needs into CPU instructions that, when executed,
    address those needs.
  • Software development is a complex process that
    requires significant effort and resources.

9
The Application Development Process
Chapter 10
Systems Architecture
  • The complexity of software development creates
    many possibilities for error.

10
The Application Development Process
Chapter 10
Systems Architecture
11
The Application Development Process
Chapter 10
Systems Architecture
  • Software Development Life Cycle
  • The SDLC breaks the complex process of software
    development into smaller and more management
    pieces.
  • The output of each phase of the SDLC produces
    input to the next phase.

12
The Application Development Process
Chapter 10
Systems Architecture
13
The Application Development Process
Chapter 10
Systems Architecture
  • Methodologies and Models
  • Developers attempt to minimize errors during the
    SDLC by using proven development methodologies.
  • Structured methods document requirements by
    modeling the flow of data and the relationship of
    various parts of the process.

14
The Application Development Process
Chapter 10
Systems Architecture
15
Chapter 10
Systems Architecture
16
The Application Development Process
Chapter 10
Systems Architecture
  • Tools
  • Software development is supported by many
    automated tools.
  • Software development tools vary with the target
    system deployment environment.

17
The Application Development Process
Chapter 10
Systems Architecture
  • Tools
  • The declining cost of computer hardware and the
    increasing cost of application development labor
    have spurred the development of automated system
    and software development tools.

18
Programming Languages
Chapter 10
Systems Architecture
  • First Generation Languages
  • Second Generation Languages
  • Third Generation Languages
  • Fourth Generation Languages
  • Fifth Generation Languages
  • Object-Oriented Languages
  • Programming Language Standards

19
Programming Languages
Chapter 10
Systems Architecture
  • A programming language is a language that is used
    to instruct a computer to perform a task.
  • Program instructions are called code.
  • Programs are written by a programmer or coder.

20
Programming Languages
Chapter 10
Systems Architecture
  • Two ways to make programs easier to write and
    applications easier to develop are
  • 1. Make the programming language easier for
    people to understand.
  • 2. Develop languages and program development
    approaches that require people to write fewer
    instructions.

21
Programming Languages
Chapter 10
Systems Architecture
22
Programming Languages
Chapter 10
Systems Architecture
  • First Generation Languages
  • Programs written using machine language.
  • Disadvantages
  • Difficult for people to remember to code.
  • Difficult to find errors.
  • Tedious to write program statements.

23
Programming Languages
Chapter 10
Systems Architecture
  • Second Generation Languages
  • Programs are written using assembly language.
  • Assembly language uses short mnemonics to
    represent CPU instructions.
  • Easier for people to remember and manipulate than
    binary code.
  • Must be translated to binary code.

24
Programming Languages
Chapter 10
Systems Architecture
  • Third Generation Languages
  • Allow programmers to specify many CPU actions
    with a single program instruction.
  • Uses mnemonics to represent instructions,
    variables, and labels.
  • Must be translated to binary code.
  • Most have significant limitations with respect to
    modern hardware, GUIs and DBMSs.

25
Programming Languages
Chapter 10
Systems Architecture
  • Fourth Generation Languages
  • Instructions or prewritten functions to implement
    interactive I/O and GUIs.
  • Instructions to interact directly with an
    internal or external relational databases.
  • Ability to describe processing requirements
    without precisely specifying solution procedures.

26
Chapter 10
Systems Architecture
27
Programming Languages
Chapter 10
Systems Architecture
  • Fifth Generation Languages
  • Nonprocedural language suitable for developing
    software that mimics human intelligence.
  • Contains a set of nonprocedural rules that mimic
    rules people use to solve problems.

28
Chapter 10
Systems Architecture
29
Programming Languages
Chapter 10
Systems Architecture
  • Object-Oriented Programming Languages
  • OOP allows for program reuse and long-term
    software maintenance.
  • OOP views data and programs as two parts or
    procedures that manipulate the data called
    methods.
  • OOP is uniquely suited to developing real-time
    programs such as operating systems.

30
Chapter 10
Systems Architecture
31
Programming Languages
Chapter 10
Systems Architecture
  • Programming Language Standards define
  • Language syntax and grammar.
  • Machine behavior for each instruction or
    statement.
  • Test programs with expected warnings, errors and
    execution behavior.

32
Compilation
Chapter 10
Systems Architecture
  • Data Declarations
  • Data Operations
  • Control Structures
  • Function Calls

33
Compilation
Chapter 10
Systems Architecture
34
Compilation
Chapter 10
Systems Architecture
  • Program Editor used to input the program into
    the computer system. (Source code)
  • Compiler translates some source code
    instructions directly into executable code and
    other source code instructions into library
    calls, which are further processed by the Link
    Editor. (Object Code)

35
Compilation
Chapter 10
Systems Architecture
  • Link Editor searches an object code file for
    external function calls. (Executable code)

36
Compilation
Chapter 10
Systems Architecture
  • Data Declarations defines the name and data
    type of one or more program variables.

37
Compilation
Chapter 10
Systems Architecture
  • Data Operations
  • Any instruction that updates or computes a data
    value.
  • The compiler translates data operation
    instructions into an equivalent sequence of data
    movement and data transformation instructions for
    the target CPU.

38
Compilation
Chapter 10
Systems Architecture
  • Data Operations
  • For Example f_temperature 212

39
Compilation
Chapter 10
Systems Architecture
  • Control Structures - a source code instruction
    that controls the execution of other source code
    instructions
  • Control structures include
  • Unconditional branches (Goto statements)
  • Conditional branches (If statements)
  • Loops

40
Compilation
Chapter 10
Systems Architecture
  • Unconditional Branch Example
  • F_temperature 0
  • Loop F_temperature F_temperature 1
  • Goto Loop

41
Compilation
Chapter 10
Systems Architecture
  • Conditional Branch Example
  • If (c_temperature gt -273.16)
  • f_temperature (c_temperature 1.8) 32
  • Else
  • f_temperature -999

42
Compilation
Chapter 10
Systems Architecture
  • Loop Example
  • F_temperature 0
  • While (F_temperature lt 10)
  • F_temperature F_temperature 1

43
Compilation
Chapter 10
Systems Architecture
  • Function Calls a call instruction transfers
    control to the first instruction in the function
    and the function transfers control to the
    instruction following the call by executing a
    return instruction.

44
Compilation
Chapter 10
Systems Architecture
  • Function Example
  • float Fahrenheit_to_Celsius(float F)
  • float Cel
  • Cel (F 32) / 1.8
  • return (Cel)

45
Compilation
Chapter 10
Systems Architecture
  • To implement the call and return instructions,
    the 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.

46
Chapter 10
Systems Architecture
47
Link Editing
Chapter 10
Systems Architecture
  • A link editor searches an object code for
    external function calls.
  • When an external function call is found, the link
    editor searches other object code files or
    compiler libraries to find executable code that
    implements the function.

48
Link Editing
Chapter 10
Systems Architecture
  • Benefits of a link editor
  • 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.

49
Chapter 10
Systems Architecture
50
Chapter 10
Systems Architecture
51
Dynamic and Static Linking
Chapter 10
Systems Architecture
  • Dynamic Linking linking is performed during
    program loading or execution.
  • Static Linking library and other subroutines
    cannot be changed once they are inserted into the
    executable code.

52
Dynamic and Static Linking
Chapter 10
Systems Architecture
  • Dynamic Linking Advantages
  • Smaller application program files
  • Flexibility
  • Static Linking Advantages
  • Execution speed
  • Improved reliability and predictability of
    executable programs

53
Interpreters
Chapter 10
Systems Architecture
  • Reads a single source code instruction,
    translates it into CPU instructions or a DLL
    call.
  • Advantage flexibility to incorporate new or
    updated code into an application program.
  • Disadvantage increased memory and CPU
    requirements during program execution.

54
Chapter 10
Systems Architecture
55
Technology Focus - Java
Chapter 10
Systems Architecture
56
Symbolic Debugging
Chapter 10
Systems Architecture
  • A symbolic debugger is an automated tool for
    testing executable programs.
  • Symbolic debugger features
  • Trace calls to specific source code statements or
    subroutines
  • Trace changes to variable contents
  • Execute source code instructions one at a time
  • Detect run-time errors and report them to the
    programmer in terms of specific source code
    instructions and variables

57
Symbolic Debugging
Chapter 10
Systems Architecture
58
Symbolic Debugging
Chapter 10
Systems Architecture
59
Integrated Application Development Tools
Chapter 10
Systems Architecture
  • Tools are needed during each phase of the SDLC

60
Integrated Application Development Tools
Chapter 10
Systems Architecture
61
Integrated Application Development Tools
Chapter 10
Systems Architecture
  • Programmers Workbenches an integrated set of
    automated support tools to speed development and
    testing.
  • Smart program editor
  • Compiler and/or interpreter
  • Link editor and a large library of classes or
    subroutines

62
Integrated Application Development Tools
Chapter 10
Systems Architecture
  • Programmers Workbenches cont.
  • Interactive facility for prototyping and
    designing user interfaces
  • Symbolic debugger
  • Integrated window-oriented graphical user
    interface

63
Technology Focus
Chapter 10
Systems Architecture
64
CASE Tools
Chapter 10
Systems Architecture
  • Computer Assisted Software Engineering (CASE)
    tool a tool that supports the SDLC analysis and
    design phases.
  • Supports a broad range of system development
    activities with particular emphasis on model
    development.

65
Summary
Chapter 10
Systems Architecture
  • Application systems are developed by following
    the steps of the systems development life cycle.
    (SDLC)
  • Executable software consists entirely of CPU
    instructions.
  • All programming language generations other than
    the first must be translated into CPU
    instructions prior to execution.

66
Summary
Chapter 10
Systems Architecture
  • Compiled and interpreted programs must be linked
    to libraries of executable functions or methods.
  • Application development is more efficiently
    supported by integrated suites of automated
    tools.
Write a Comment
User Comments (0)
About PowerShow.com