Information System Development and Programming Languages

advertisement
Discovering Computers
Fundamentals,
2012 Edition
Your Interactive Guide
to the Digital World
Objectives Overview
Discuss the importance of
project management,
feasibility assessment,
documentation, and data
and information gathering
techniques
Discuss the purpose of each
system development phase
Differentiate between lowlevel languages and
procedural languages
Identify the benefits of
object-oriented
programming languages and
program development tools
See Page 417
for Detailed Objectives
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
2
Objectives Overview
List other programming
languages and other
program development
tools
Describe various ways
to develop Web pages
List the six program
development steps
Explain the basic
control structures used
in designing solutions
to programming
problems
See Page 417
for Detailed Objectives
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
3
System Development
System development is a set of activities
used to build an information system
A system is a set of
components that
interact to achieve a
common goal
Page 418
An information
System development
system (IS) is a
collection of
activities are grouped
into phases, and is
hardware, software,
called the system
data, people, and
development life
procedures that work
together to produce
cycle (SDLC)
quality information
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
4
System Development
Page 418
Figure 11-1
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
5
System Development
• System development should follow three general
guidelines:
Group activities or tasks into phases
Involve users
Define standards
Page 419
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
6
System Development
• System development should involve representatives from each
department in which the proposed system will be used
Page 419
Figure 11-2
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
7
System Development
• Project management is the process of planning,
scheduling, and then controlling the activities during
system development
• To plan and schedule a project efficiently, the project
leader identifies:
Page 420
Project scope
Required
activities
Time estimates
for each activity
Cost estimates
for each activity
Order of
activities
Activities that
can take place at
the same time
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
8
System Development
A popular tool
used to plan
and schedule
the time
relationships
among project
activities is a
Gantt chart
Pages 420 - 421
Figure 11-3a
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
9
System Development
A PERT chart
also can be
used for
planning and
scheduling time
Pages 420 - 421
Figure 11-3b
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
10
System Development
• Feasibility is a measure of how suitable the
development of a system will be to the
organization
Operational
feasibility
Page 421
Schedule
feasibility
Technical
feasibility
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
Economic
feasibility
11
System Development
• Documentation is the collection and
summarization of data and information and
includes:
– Reports
– Diagrams
– Programs
– Other information generated during system
development
Page 422
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
12
System Development
• During system development, members of the project
team gather data and information using several
techniques
Review
documentation
Observe
Survey
Interview
JAD Sessions
Research
Pages 422 - 423
Figure 11-4
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
13
System Development
A user may request a new or modified system
Organizations may want to improve hardware, software, or other
technology
Situations beyond an organization’s control might require a change
Management might mandate a change
A user may request a new or modified information system using a request
for system services or a project request
Page 423
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
14
System Development
Page 424
Figure 11-5
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
15
System Development
• The planning phase for a project begins when the
steering committee receives a project request
• Four major activities are performed:
Review and
approve the
project requests
Page 425
Prioritize the
project requests
Allocate
resources
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
Form a project
development
team
16
System Development
• The analysis phase consists of two major
activities:
Conduct a preliminary
investigation
Perform detailed
analysis
• Determines and
defines the exact
nature of the problem
or improvement
• Interview the user who
submitted the request
• Study how the current
system works
• Determine the users’
wants, needs, and
requirements
• Recommend a solution
Pages 425 - 427
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
17
System Development
Page 426
Figure 11-6
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
18
System Development
• The system proposal assesses the feasibility of
each alternative solution
• The steering committee discusses the system
proposal and decides which alternative to pursue
Packaged
software
Pages 427 - 428
Custom
software
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
Outsourcing
19
System Development
• The design phase consists of two major activities
Acquire hardware
and software
Page 428
Develop all of the
details of the new
or modified
information system
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
20
System Development
• To acquire the necessary hardware and software:
• Use research
techniques such as
e-zines
Identify technical
specifications
Pages 428 - 430
Solicit vendor
proposals
• RFQ, RFP, or RFI is
sent to potential
vendors or VARs
• Various techniques
are used to
determine the best
proposal
Make a decision
• Systems analyst
makes
recommendation to
steering committee
Test and evaluate
vendor proposals
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
21
System Development
• The next step is to develop detailed design
specifications
– Sometimes called a physical design
Database
design
Page 430
Input and
output
design
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
Program
design
22
System Development
• Systems analysts typically develop two types of
designs for each input and output
Mockup
Pages 430 - 431
Figures 11-8 – 11-9
Layout chart
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
23
System Development
• A prototype (proof of concept) is a working model
of the proposed system
– Prototypes have inadequate or missing documentation
– Users tend to embrace the prototype as a final system
– Should not eliminate or replace activities
Page 431
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
24
System Development
• Computer-aided software engineering (CASE)
tools are designed to support one or more
activities of system development
Page 432
Figure 11-10
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
25
System Development
• The purpose of the implementation phase is to
construct the new or modified system and then
deliver it
Develop
programs
Page 432
Install and
test the new
system
Train users
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
Convert to
the new
system
26
System Development
• Various tests should be performed on the new
system
Unit test
Systems test
• Verifies that
each
individual
program or
object works
by itself
• Verifies that
all programs
in an
application
work
together
properly
Page 433
Integration
test
• Verifies that
an
application
works with
other
applications
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
Acceptance
test
• Checks the
new system
to ensure
that it works
with actual
data
27
System Development
• Training involves showing users exactly how they
will use the new hardware and software in the
system
– One-on-one sessions
– Classroom-style lectures
– Web-based training
Page 433
Figure 11-11
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
28
System Development
• One or more of four conversion strategies can be
used to change from the old system to the new
system
– Direct conversion
– Parallel conversion
– Phased conversion
– Pilot conversion
Pages 433 - 434
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
29
System Development
• The purpose of the operation, support, and
security phase is to provide ongoing assistance for
an information system and its users after the
system is implemented
Perform
maintenance
activities
Page 434
Monitor
system
performance
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
Assess system
security
30
System Development
• A computer security plan should do the following:
Identify all
information
assets of an
organization
Page 434
Identify all
security risks
that may cause
an information
asset loss
For each risk,
identify the
safeguards that
exist to detect,
prevent, and
recover from a
loss
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
31
Video: Create a Hidden Operating System
CLICK TO START
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
32
Programming Languages and Program
Development Tools
• A computer program is a series of instructions
that directs a computer to perform tasks
– Created by a programmer using a programming
language
Pages 435 - 436
Figure 11-12
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
33
Programming Languages and Program
Development Tools
• Machine language is the
first generation of
programming languages
• Only language the
computer directly
recognizes
Page 436
Figure 11-13
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
34
Programming Languages and Program
Development Tools
• Assembly language is the
second generation of
programming languages
• Programmer writes
instructions using
symbolic instruction
codes
• A source program
contains the code to be
converted to machine
language
Page 437
Figure 11-14
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
35
Programming Languages and Program
Development Tools
• In a procedural language, the programmer writes
instructions that tell the computer what to
accomplish and how to do it
– Third-generation language (3GL)
A compiler
translates an entire
program before
executing it
Page 438
An interpreter converts
and executes one code
statement at a time
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
36
Programming Languages and Program
Development Tools
Pages 438 – 439
Figures 11-15 – 11-16
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
37
Programming Languages and Program
Development Tools
• The C programming language is used to write
many of today’s programs
Page 439
Figure 11-17
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
38
Programming Languages and Program
Development Tools
• COBOL (COmmon Business-Oriented Language) is
designed for business applications, but easy to
read because of the English-like statements
Page 440
Figure 11-18
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
39
Programming Languages and Program
Development Tools
• An object-oriented programming (OOP) language allows
programmers the ability to reuse and modify existing
objects
• Other advantages include:
Page 440
Objects can be
reused
Programmers
create applications
faster
Work well in a
RAD environment
Most program
development tools
are IDEs
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
40
Programming Languages and Program
Development Tools
• Java is an object-oriented programming language
developed by Sun Microsystems
• The Just-in-time (JIT) compiler to convert the bytecode
into machine-dependent code
Pages 440 - 441
Figure 11-19
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
41
Programming Languages and Program
Development Tools
• The Microsoft .NET Framework allows almost any
type of program to run on the Internet or an
internal business network, as well as computers
and mobile devices
Page 441
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
42
Programming Languages and Program
Development Tools
• C++ is an extension of the C programming
language
– Additional features for working with objects, classes,
events, and other object-oriented concepts
• C# is based on C++ and was developed by
Microsoft
• C# combines the benefits of an object-oriented
language with the benefits of a functional
language
Page 441
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
43
Programming Languages and Program
Development Tools
Visual Studio is Microsoft’s suite of
program development tools
Visual C# combines
the programming
Visual Basic is
based on the BASIC Visual C++ is based elements of C++
with an easier,
programming
on C++
language
rapid-development
environment
Pages 441 - 443
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
44
Programming Languages and Program
Development Tools
Pages 442
Figure 11-20
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
45
Programming Languages and Program
Development Tools
A visual programming language is a language that
uses a visual or graphical interface for creating all
source code
Borland’s Delphi is a powerful program
development tool that is ideal for building largescale enterprise and Web applications in a RAD
environment
Page 443
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
46
Programming Languages and Program
Development Tools
• PowerBuilder is a powerful program development
RAD tool
• Best suited for Web-based, .NET, and large-scale
enterprise object-oriented applications
Page 443
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
47
Programming Languages and Program
Development Tools
• A 4GL (fourth-generation language) is a
nonprocedural language that enables users and
programmers to access data in a database
– One popular 4GL is SQL
Page 443
Figure 11-21
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
48
Programming Languages and Program
Development Tools
• Classic programming languages include:
Page 444
Figure 11-22
Ada
ALGOL
APL
BASIC
Forth
FORTRAN
HyperTalk
LISP
Logo
Modula-2
Pascal
PILOT
PL/1
Prolog
RPG
Smalltalk
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
49
Programming Languages and Program
Development Tools
• An application generator is a program that creates
source code or machine code from a specification of the
required functionality
– Often bundled as part of a DBMS
Pages 444 - 445
Figure 11-23
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
50
Programming Languages and Program
Development Tools
• A macro is a series of statements that instructs an
application how to complete a task
• You usually create the macro in one of two ways:
– Record the macro with a macro recorder
– Write the macro
Page 445
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
51
Programming Languages and Program
Development Tools
• HTML is a special
formatting language
that programmers use
to format documents
for display on the Web
• XHTML is a markup
language that allows
Web sites to be
displayed more easily
on mobile devices
Page 446
Figure 11-24
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
52
Programming Languages and Program
Development Tools
• XML allows Web developers to create customized
tags and use predefined tags to display content
appropriately on various devices
– WML is a subset of XML and is used to design pages
for microbrowsers
• Two applications of XML are RSS 2.0 and ATOM
Pages 446 - 447
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
53
Programming Languages and Program
Development Tools
• Web browsers can execute short programs to add
interactive elements to Web pages
• To send and receive information between your computer
and a Web server, these programs use the CGI (common
gateway interface)
Page 447
Scripts
Applets
Servlets
ActiveX
controls
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
54
Programming Languages and Program
Development Tools
• Programmers write scripts, applets, servlets, or
ActiveX controls using a variety of languages
JavaScript
Perl
PHP
Rexx
Tcl
VBScript
Pages 447 - 448
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
55
Programming Languages and Program
Development Tools
Dynamic HTML (DHTML) allows Web
developers to include more graphical
interest and interactivity
Ruby on Rails (RoR) provides technologies
for developing object-oriented, databasedriven Web sites
Page 448
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
56
Programming Languages and Program
Development Tools
• Web 2.0 allows Web sites to provide a means for
users to:
Share personal
information
Allow users to
modify Web site
content
Have application
software built
into the site
Page 448
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
57
Programming Languages and Program
Development Tools
• Most Web 2.0 sites use APIs
– An API enables programmers to interact with an
environment such as a Web site or operating system
Page 448
Figure 11-26
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
58
Programming Languages and Program
Development Tools
• Web page authoring software can create
sophisticated Web pages that include images,
video, audio, animation, and other effects
Page 449
Dreamweaver
Expression
Web
Flash
SharePoint
Designer
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
59
Programming Languages and Program
Development Tools
• Multimedia authoring software allows
programmers to combine text, graphics,
animation, audio, and video in an interactive
presentation
ToolBook
Page 449
Director
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
60
Programming Languages and Program
Development Tools
Page 449
Figure 11-27
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
61
Program Development Cycle
• Program development consists of a series of steps
programmers use to build computer programs
Pages 450 - 451
Figure 11-28
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
62
Program Development Cycle
• The sequence control structure shows one or
more actions following each other in order
Page 452
Figure 11-29
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
63
Program Development Cycle
• The selection control
structure tells the
program which action
to take, based on a
certain condition
– If-then-else
– Case
Page 452
Figure 11-30
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
64
Program Development Cycle
Page 453
Figure 11-31
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
65
Program Development Cycle
• The repetition control structure enables a program to
perform one or more actions repeatedly as long as a
certain condition is met
Page 453
Figures 11-32 – 11-33
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
66
Video: Electronic Arts Going Mobile
CLICK TO START
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
67
Summary
System development
phases
Guidelines for system
development
Activities that occur
during system
development
Various programming
languages and
program
development tools
Web development
and multimedia
development tools
Program
development and the
tools used in this
process
Page 454
Discovering Computers Fundamentals, 2012 Edition
Chapter 11
68
Discovering Computers
Fundamentals,
2012 Edition
Your Interactive Guide
to the Digital World
Chapter 11 Complete
Download