technology in action chapter 10 © 2006 prentice-hall, inc.1 technology in action chapter 10 behind...
TRANSCRIPT
© 2006 Prentice-Hall, Inc.
1
Technology In Action Chapter 10
Technology In ActionTechnology In ActionTechnology In ActionTechnology In Action
Chapter 10Chapter 10
Behind the Scenes: Software ProgrammingBehind the Scenes: Software ProgrammingChapter 10Chapter 10
Behind the Scenes: Software ProgrammingBehind the Scenes: Software Programming
NEXT SLIDE
© 2006 Prentice-Hall, Inc.
2
Technology In Action Chapter 10
TopicsTopicsTopicsTopics
• System development life cycleSystem development life cycle• Life cycle of a programLife cycle of a program• Programming languagesProgramming languages
• System development life cycleSystem development life cycle• Life cycle of a programLife cycle of a program• Programming languagesProgramming languages
NEXT SLIDE
© 2006 Prentice-Hall, Inc.
3
Technology In Action Chapter 10
SystemsSystemsSystemsSystems
• System: System: – A collection of pieces working together to achieve a common A collection of pieces working together to achieve a common
goalgoal
• Information system includes:Information system includes:– DataData– PeoplePeople– ProceduresProcedures– HardwareHardware– SoftwareSoftware
• System development life cycle (SDLC):System development life cycle (SDLC):– An organized process used to develop systems in an orderly An organized process used to develop systems in an orderly
fashionfashion
• System: System: – A collection of pieces working together to achieve a common A collection of pieces working together to achieve a common
goalgoal
• Information system includes:Information system includes:– DataData– PeoplePeople– ProceduresProcedures– HardwareHardware– SoftwareSoftware
• System development life cycle (SDLC):System development life cycle (SDLC):– An organized process used to develop systems in an orderly An organized process used to develop systems in an orderly
fashionfashion
NEXT SLIDE
© 2006 Prentice-Hall, Inc.
4
Technology In Action Chapter 10
System Development Life CycleSystem Development Life CycleSystem Development Life CycleSystem Development Life Cycle
Problem/ Opportunity Identification
Analysis
DesignDevelopment
& Documentation Testing
& Installation Maintenance
& Evaluation
System Development Life Cycle
NEXT SLIDE
© 2006 Prentice-Hall, Inc.
5
Technology In Action Chapter 10
DesignDesignDesignDesign
• A detailed plan for programmers is A detailed plan for programmers is developeddeveloped
• Flow charts and data-flow diagrams are Flow charts and data-flow diagrams are used for the current and proposed systemused for the current and proposed system
• A detailed plan for programmers is A detailed plan for programmers is developeddeveloped
• Flow charts and data-flow diagrams are Flow charts and data-flow diagrams are used for the current and proposed systemused for the current and proposed system
Data-flow diagram Flowchart
© 2006 Prentice-Hall, Inc.
6
Technology In Action Chapter 10
The Life Cycle of a ProgramThe Life Cycle of a ProgramThe Life Cycle of a ProgramThe Life Cycle of a Program• aa computer programcomputer program is a set of detailed is a set of detailed
directions telling the computer exactly directions telling the computer exactly what to do, one step at a timewhat to do, one step at a time
• ProgrammingProgramming is the process of translating is the process of translating a task into a series of commands a a task into a series of commands a computer will use to perform that taskcomputer will use to perform that task
• Programming involves:Programming involves:– Identifying the parts of a task the computer can Identifying the parts of a task the computer can
performperform– Describing tasks in a specific and complete mannerDescribing tasks in a specific and complete manner– Translating the tasks into a language that is Translating the tasks into a language that is
understood by the computer’s CPUunderstood by the computer’s CPU
• aa computer programcomputer program is a set of detailed is a set of detailed directions telling the computer exactly directions telling the computer exactly what to do, one step at a timewhat to do, one step at a time
• ProgrammingProgramming is the process of translating is the process of translating a task into a series of commands a a task into a series of commands a computer will use to perform that taskcomputer will use to perform that task
• Programming involves:Programming involves:– Identifying the parts of a task the computer can Identifying the parts of a task the computer can
performperform– Describing tasks in a specific and complete mannerDescribing tasks in a specific and complete manner– Translating the tasks into a language that is Translating the tasks into a language that is
understood by the computer’s CPUunderstood by the computer’s CPU
NEXT SLIDE
© 2006 Prentice-Hall, Inc.
7
Technology In Action Chapter 10
Program Development Life CycleProgram Development Life CycleProgram Development Life CycleProgram Development Life Cycle• Click on the steps for more informationClick on the steps for more information• Click on the steps for more informationClick on the steps for more information
Step 5Finishing the Project
Step 4Debugging
Step 3Coding
Step 2Making a Plan
Step 1Describing the Problem
NEXT SLIDE
© 2006 Prentice-Hall, Inc.
17
Technology In Action Chapter 10
Programming LanguagesProgramming LanguagesProgramming LanguagesProgramming Languages
• Selecting the right language:Selecting the right language:– Space availableSpace available– Speed requiredSpeed required– Organizational resources availableOrganizational resources available– Type of target applicationType of target application
• Selecting the right language:Selecting the right language:– Space availableSpace available– Speed requiredSpeed required– Organizational resources availableOrganizational resources available– Type of target applicationType of target application
Visual Basic
C / C++Java HTMLJavaScriptVBScriptASP / JSPFlash /
XML
NEXT SLIDE
© 2006 Prentice-Hall, Inc.
18
Technology In Action Chapter 10
Low-level LanguageLow-level LanguageLow-level LanguageLow-level Language
• Z=X+YZ=X+Y• Z=X+YZ=X+Y
0000000000000100 0011000000000101 0001000000000110 1111000000000000 0000000000000001 0000000000000111 0000111100000000
Machine Language Assembly Language
Load X add Y store Z Halt
X: .data 3 Y: .data 4 Z: .data 0
© 2006 Prentice-Hall, Inc.
19
Technology In Action Chapter 10
C and C++C and C++C and C++C and C++
• C:C:– Developed for system Developed for system
programmersprogrammers– Combines high and low Combines high and low
level programming level programming featuresfeatures
– Modern operating Modern operating systems were written in systems were written in CC
• C++:C++:– Uses the same features Uses the same features
as Cas C– Includes object-oriented Includes object-oriented
designdesign
• C:C:– Developed for system Developed for system
programmersprogrammers– Combines high and low Combines high and low
level programming level programming featuresfeatures
– Modern operating Modern operating systems were written in systems were written in CC
• C++:C++:– Uses the same features Uses the same features
as Cas C– Includes object-oriented Includes object-oriented
designdesign
Sample C
Sample C++
NEXT SLIDE
© 2006 Prentice-Hall, Inc.
20
Technology In Action Chapter 10
JavaJavaJavaJava
• Object-oriented Object-oriented featuresfeatures
• Large set of Large set of existing classesexisting classes
• Architecture Architecture neutralneutral
• Java applets:Java applets:– Small Java-based Small Java-based
programsprograms
• Object-oriented Object-oriented featuresfeatures
• Large set of Large set of existing classesexisting classes
• Architecture Architecture neutralneutral
• Java applets:Java applets:– Small Java-based Small Java-based
programsprograms
Sample Java
NEXT SLIDE
© 2006 Prentice-Hall, Inc.
21
Technology In Action Chapter 10
Web ApplicationsWeb ApplicationsWeb ApplicationsWeb Applications
• Hypertext Markup language (HTML):Hypertext Markup language (HTML):– Not a true programming languageNot a true programming language– Uses special symbols (tags) to control how Web Uses special symbols (tags) to control how Web
pages are viewedpages are viewed
• JavaScript:JavaScript:– Used to make Web pages more visually appealing Used to make Web pages more visually appealing
and interactiveand interactive
• VBScript:VBScript:– A subset of Visual BasicA subset of Visual Basic– Used to add interactivity to Web pagesUsed to add interactivity to Web pages
• Hypertext Markup language (HTML):Hypertext Markup language (HTML):– Not a true programming languageNot a true programming language– Uses special symbols (tags) to control how Web Uses special symbols (tags) to control how Web
pages are viewedpages are viewed
• JavaScript:JavaScript:– Used to make Web pages more visually appealing Used to make Web pages more visually appealing
and interactiveand interactive
• VBScript:VBScript:– A subset of Visual BasicA subset of Visual Basic– Used to add interactivity to Web pagesUsed to add interactivity to Web pages
NEXT SLIDE
© 2006 Prentice-Hall, Inc.
22
Technology In Action Chapter 10
Web ApplicationsWeb ApplicationsWeb ApplicationsWeb Applications
• Active Server Pages (ASP) and Java Server Active Server Pages (ASP) and Java Server Pages (JSP):Pages (JSP):– Adds interactivity capabilities to Web pagesAdds interactivity capabilities to Web pages– Translates user information into a request for more Translates user information into a request for more
information from a company’s computerinformation from a company’s computer
• Flash:Flash:– Enables elaborate animations to be created for Web Enables elaborate animations to be created for Web
pagespages
• Extensible Markup Language (XML):Extensible Markup Language (XML):– Enables computers to efficiently transfer information Enables computers to efficiently transfer information
between Web sitesbetween Web sites
• Active Server Pages (ASP) and Java Server Active Server Pages (ASP) and Java Server Pages (JSP):Pages (JSP):– Adds interactivity capabilities to Web pagesAdds interactivity capabilities to Web pages– Translates user information into a request for more Translates user information into a request for more
information from a company’s computerinformation from a company’s computer
• Flash:Flash:– Enables elaborate animations to be created for Web Enables elaborate animations to be created for Web
pagespages
• Extensible Markup Language (XML):Extensible Markup Language (XML):– Enables computers to efficiently transfer information Enables computers to efficiently transfer information
between Web sitesbetween Web sites
NEXT SLIDE
© 2006 Prentice-Hall, Inc.
23
Technology In Action Chapter 10
Team TimeTeam TimeTeam TimeTeam Time
• TopicTopic– Write a software program that tells a vending machine how to Write a software program that tells a vending machine how to
make proper change from the bills or coins the customer insert. make proper change from the bills or coins the customer insert. The program needs to deliver the smallest possible amount of The program needs to deliver the smallest possible amount of coins for each transaction.coins for each transaction.
• Four teamsFour teams– Description team. Generate a problem statement, including: Description team. Generate a problem statement, including:
Goal, inputs, outputs, process, error handlingGoal, inputs, outputs, process, error handling– Algorithm design team. Present the problem as a top-down Algorithm design team. Present the problem as a top-down
design sequence of steps. Using flowchart.design sequence of steps. Using flowchart.– Testing team. Creating a testing plan for the program. Develop a Testing team. Creating a testing plan for the program. Develop a
table listing combinations of inputs and correct outputstable listing combinations of inputs and correct outputs
• TopicTopic– Write a software program that tells a vending machine how to Write a software program that tells a vending machine how to
make proper change from the bills or coins the customer insert. make proper change from the bills or coins the customer insert. The program needs to deliver the smallest possible amount of The program needs to deliver the smallest possible amount of coins for each transaction.coins for each transaction.
• Four teamsFour teams– Description team. Generate a problem statement, including: Description team. Generate a problem statement, including:
Goal, inputs, outputs, process, error handlingGoal, inputs, outputs, process, error handling– Algorithm design team. Present the problem as a top-down Algorithm design team. Present the problem as a top-down
design sequence of steps. Using flowchart.design sequence of steps. Using flowchart.– Testing team. Creating a testing plan for the program. Develop a Testing team. Creating a testing plan for the program. Develop a
table listing combinations of inputs and correct outputstable listing combinations of inputs and correct outputs