Vt8e PPT Ch12 Accessible

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 42

Visualizing Technology

Eighth Edition

Chapter 12
Program Development

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Learning Objectives
12.1 Describe the System Development Life Cycle
12.2 Describe the Program Development Cycle
12.3 Compare Various Programming Languages
12.4 Explain the Term Artificial Intelligence

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Learning Objective 12.1
• Describe the System Development Life Cycle

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Describe the System Development
Life Cycle

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Getting from Idea to Product—System
Development Life Cycle (1 of 8)
• Also called waterfall approach
• Each phase must be completed in order for the next phase to begin
• This method is rigid
• Process begins with request for new system or replacement for old one

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Getting from Idea to Product—System
Development Life Cycle (2 of 8)

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Getting from Idea to Product—System
Development Life Cycle (3 of 8)
• Planning phase of the SDLC
– Project team
▪ Stakeholders, software developers, and a project manager (P M)
– Feasibility study
▪ Economic
▪ Technical
▪ Operational
▪ Political

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Getting from Idea to Product—System
Development Life Cycle (4 of 8)
• Analysis phase of the SDLC
– Data flow diagram (D F D)
▪ Shows data flow and highlights
system deficiencies
– Requirements analysis
▪ Results in a system specification
report
– System specification report
▪ A logical model of the new system

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Getting from Idea to Product—System
Development Life Cycle (5 of 8)
• Design phase of the S DLC
– Select solution that meets
the requirements
– Cost-effective options
– Design of system begins
– Application specifications
written, if system will be built
instead of purchased

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Getting from Idea to Product—System
Development Life Cycle (6 of 8)
• Implementation and testing phase of the SDLC
– Programmers use designs and specifications to create the system
– Programs written in modules
– Unit and integration or link testing
– Volume testing
– Acceptance testing
– User training takes place

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Getting from Idea to Product—System
Development Life Cycle (7 of 8)
• Maintenance phase of the SDLC
– System may change or be updated
– Security holes and bugs fixed
– New features added
– Retraining as needed
– Documentation updated

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Getting from Idea to Product—System
Development Life Cycle (8 of 8)
• Maintenance phase of the SDLC
– Day-to-day operational maintenance
▪ Monitoring performance
▪ Installing updates and patches
▪ Creating and restoring backups

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Getting from Idea to Product—Other
Development Models (1 of 2)
• Joint Application Development (J A D)
• Rapid Application Development (R AD)
• Agile Development

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Getting from Idea to Product—Other
Development Models (2 of 2)
• Waterfall SDL —best used when system
requirements are clear and structured
• Spiral Method (SDM—best for high-risk projects
• V model (Verification and Validation)
• Incremental model
• Iterative model

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Learning Objective 12.2
• Describe the Program Development Cycle

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Describe the Program Development
Cycle

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Coding the System Program
Development Cycle (1 of 9)
• Defining the problem
– What data will be provided (input)?
– What will the program do (processing and output)?
• Designing the solution
– Algorithm
▪ Set of steps to solve problem
▪ Each step performs a single task

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Coding the System Program
Development Cycle (2 of 9)
• Flowchart
– Graphic view of algorithm
▪ Arrows to show direction
▪ Other symbols to show actions and data
• Control structures
– Show logic and flow of data processing

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Coding the System Program
Development Cycle (3 of 9)
• Pseudocode
– Steps of an algorithm
▪ More detail
▪ English-like statements
▪ Focuses on logic, not syntax
▪ Contains control structures
▪ Not executable

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Coding the System Program
Development Cycle (4 of 9)
• Coding
– Converting algorithm into instructions computer can understand
– Considerations
▪ Type of task
▪ Platform
▪ Expertise of the programmer

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Coding the System Program
Development Cycle (5 of 9)
• Choosing the right language
– Procedural programming
– Object-oriented programming
– Syntax rules – the correct construction of commands in a language

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Coding the System Program
Development Cycle (6 of 9)
• Debugging – the process of detecting and fixing errors
– Syntax error
▪ Error in way code is written
▪ Typo, missing parameter, incorrect use of symbols
▪ Easy to spot by reviewing line-by-line

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Coding the System Program
Development Cycle (7 of 9)
– Logic error
▪ Error in programming logic
▪ Results in unexpected outcome
▪ More difficult to detect
▪ Does not prevent a program from running

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Coding the System Program
Development Cycle (8 of 9)
– Runtime error
▪ Occurs when program is running and something entered causes it to
crash
▪ Memory issues are common cause of runtime errors

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Coding the System Program
Development Cycle (9 of 9)
• Testing and documentation
– Beta testing
▪ Testing done under actual working conditions
– Documentation
▪ Created throughout programming cycle
▪ For users and programmers

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Learning Objective 12.3
• Compare Various Programming Languages

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Compare Various Programming
Languages

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Tools of the Trade—Programming
Languages (1 of 4)
• Low-level
– First-generation (1GL)
 Machine language
 Written in binary
– Second-generation (2GL)
 Assembly language
 Closer to what humans speak

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Tools of the Trade—Programming
Languages (2 of 4)
• High-level
– Third-generation (3GL)
 Procedural and object-oriented languages
 Require considerable amount of programming knowledge
 Compiler converts code into machine language

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Tools of the Trade—Programming
Languages (3 of 4)
– Fourth-generation (4GL)
 Closer to natural language than 3GL
– Fifth-generation (5GL)
 Primarily used in artificial intelligence applications

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Tools of the Trade—Programming
Languages (4 of 4)
• Software development kit (S D K)
– A bundle of libraries and tools for a particular platform
• Integrated development environment (I DE)
I

– Complete system for developing software


• Platform-as-a-Service (P aaS)
– Online programming environment
– Develop, test, and deploy custom applications

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Tools of the Trade—Web
Programming (1 of 3)
• Select right language for task
• Simplest form of a webpage is a static H TML page
• Dynamic elements
– Menus
– Rollovers
– Searches
– Videos and animation

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Tools of the Trade—Web
Programming (2 of 3)
• Server-side
– Processing takes place on server
– Results sent to client as HTML
– Client does not need special software other than a browser

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Tools of the Trade—Web
Programming (3 of 3)
• Client-side
– Coding is within webpage
– Downloaded to client computer
– Compiled and executed by browser or plug-in

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Tools of the Trade—Mobile App
Features
• Work well
• Market appeal
• Generate income
– Pay-per-download
– Subscription
– In-app purchases – charge for
other features
– In-app advertising

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Learning Objective 12.4
• Explain the Term Artificial Intelligence

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Explain the Term Artificial Intelligence

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Artificial Intelligence – Applications
• Branch of science
• Uses 5G languages
– LISP
– Prolog

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Artificial Intelligence—Expert Systems
• Make decisions in real-life situations
• Simulate human judgment
• Use fuzzy logic
– Answer questions that do not have
clear yes-or-no answer
– Recognizes that not everything
can be broken down to a true-or-
false answer

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Artificial Intelligence—Machine
Learning and Neural Networks
• Machine learning ( L)
M

• Deep learning
• Neural networks
– Emulate biological connections or neurons of the human brain
– Three layers – Input, output, and middle

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Questions

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved


Copyright

Copyright © 2020, 2019, 2018 Pearson All Rights Reserved

You might also like