0% found this document useful (0 votes)
31 views30 pages

Tugas TI

The document discusses six steps in software development: specification, design, coding, testing, documentation, and maintenance. It then discusses program documentation and its importance for users, operators, and future programmers. Finally, it discusses CASE tools, object-oriented programming, and how OOP focuses on defining relationships between objects rather than procedures.

Uploaded by

Ryandhani Aje
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views30 pages

Tugas TI

The document discusses six steps in software development: specification, design, coding, testing, documentation, and maintenance. It then discusses program documentation and its importance for users, operators, and future programmers. Finally, it discusses CASE tools, object-oriented programming, and how OOP focuses on defining relationships between objects rather than procedures.

Uploaded by

Ryandhani Aje
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 30

Software development

BY:
WAHYUDI RAHMAT RYAN DANI
KALK II D/ 30
subject matter

01 Step 5: Program documentation

02 Step 6: Program maintenance

03 CASE and OOP

04 Generations of Programming
Language
Program specification 1 2 Program design

Program maintenance 6 3 Program code

Program documentation 5 4 Program test


Step 5: Program documentation
Documentation consists of written
descriptions and procedures about a
program and how to use it.
It is not something done just at the
end of the programming process. Program
documentation is carried on throughout all
the programming steps. In this step, all the
prior documentation is reviewed, finalized,
and distributed.
Documentation is important for people who
may be involved with the program in the
future.

These people may include


the following:
•Users.
•Operators.
•Programmers.
Users
Users need to know how to use the software. Some organizations may offer training
courses to guide users through the program. However, other organizations may expect
users to be able to learn a package just from the written documentation. Two examples
of this sort of documentation are printed manuals and the help option within most
applications.

PEOPLE AS:

Operators
Documentation must be provided for
computer operators. If the program sends
them error messages, for instance, they need Programmers
to know what to do about them. As time passes, even the creator of the original program may not remember
much about it. Other programmers wishing to update and modify it— that is,
perform program maintenance—may find themselves frustrated without
adequate documentation. This kind of documentation should include text and
program flowcharts, program listings, and sample output. It also might include
system flowcharts to show how the particular program relates to other programs
within an information system.
Step 6: Program maintenance
The final step is program maintenance. As
much as 75 percent of the total lifetime cost for
an application program is for maintenance. This
activity is so commonplace that a special job title,
maintenance programmer, exists.
The purpose of program maintenance is to
ensure that current programs are operating error-
free, efficiently, and effectively. Activities in this
area fall into two categories: operations and
changing needs.
Operations changing needs
All organizations change over
Operations activities concern time, and their programs must change
locating and correcting operational with them. Programs need to be
errors, making programs easier to use, adjusted for a variety of reasons,
and standardizing software using including new tax laws, new information
structured programming techniques. needs, and new company policies.
For properly designed programs, these Significant revisions may require that the
activities should be minimal. entire programming process begin again
with program specification.

Ideally, a software project sequentially follows


Programming modifications or corrections are the six steps of software development. However,
often referred to as patches. For software that is some projects start before all requirements are
acquired, it is common for the software manufacturer known. In these cases, the SDLC becomes a more
to periodically send patches or updates for its cyclical process, repeated several times throughout
software. If the patches are significant, they are the development of the software. For example, agile
known as software updates. development, a popular development methodology,
starts by getting core functionality of a program
working,
Summary of six steps in programming
Steps Primary Activity
1. Program specification Determine program objectives, desired output, required input, and
processing requirements
2. Program design Use structured programming techniques.
3. Program code Select programming language; write the program.
4. Program test Perform desk check (code review) and manual checks; attempt
translation; test using sample data; beta test with potential users.

5. Program documentation Write procedure for users, operators, and programmers

6. Program maintenance Adjust for errors, inefficient or ineffective operations, nonstandard


code, and changes over time.

*then expands on it until the customer is satisfied with the results. All six
steps are repeated over and over as quickly as possible to create
incrementally more functional versions of the application.
CASE and OOP
WHAT’S THE INCLUDE OF particularly
important for software development??

OBJECT-ORIENTED SOFTWARE
DEVELOPMENT

CASE TOOLS Traditional systems development is a careful,


step-by-step approach focusing on the
Professional programmers are
procedures needed to complete a certain
constantly looking for ways to make
objective. Object-oriented software
their work easier, faster, and more
development focuses less on the procedures
reliable. One tool we mentioned in
and more on defining the relationships
Chapter 12, CASE, is meeting this need.
between previously defined procedures or
Computer-aided software engineering
“objects.” Object-oriented programming
(CASE) tools provide some automation
(OOP) is a process by which a program is
and assistance in program design,
organized into objects. Each object contains
coding, and testing.
both the data and processing operations
necessary to perform a task.
Figure CASE tool: Providing
code-generation assistance
Let’s explain that means before !!!
Object-oriented programs use objects that
are reusable, self-contained components.
Programs built with these objects assume
that certain functions are the same. For
example, many programs, from
spreadsheets to database managers, have
an instruction that will sort lists of names in
alphabetical order.

In the past, programs were developed as A programmer might use this object for
giant entities, from the first line of code to alphabetizing in many other programs.
the last. This has been compared to There is no need to invent this activity anew
building a car from scratch. Object- every time. C++ is one of the most widely
oriented programming is like building a car used object-oriented programming
from prefabricated parts—carburetor, languages.
alternator, fenders, and so on.
Generations of Programming Language
Computer professionals talk about There are five generations of
levels or generations of programming programming languages:
languages, ranging from “low” to “high.”
Programming languages are called lower 1 machine languages
level when they are closer to the language
the computer itself uses. The computer
understands the 0s and 1s that make up bits 2 assembly languages
and bytes. Programming languages are
called higher level when they are closer to
the language humans use—that is, for 3 procedural languages
English speakers, more like English.
4 task-oriented languages

5 problem and constraint languages.


1 machine languages
We mentioned in Chapter 5 that a byte is made up of
bits, consisting of 1s and 0s. These 1s and 0s may
correspond to electricity’s being on or off in the computer.
They also may correspond to a magnetic charge being
present or absent on storage media such as disc or tape.

From this two-state system, coding schemes


have been developed that allow us to construct
letters, numbers, punctuation marks, and other
special characters. Examples of these coding
schemes, as we saw, are ASCII, EBCDIC, and Unicode.
Data represented in 1s and 0s is said to be written in
machine language.
To see how hard this is to understand,
imagine if you had to code this:
111100100111001111010010000100000111000000101011
*Machine languages also vary according to make of computer—another
characteristic that makes them hard to work with.
2 assembly languages

Before a computer can process or run any


program, the program must be converted or translated
into machine language. Assembly languages use
abbreviations or mnemonics such as ADD that are
automatically converted to the appropriate sequence
of 1s and 0s. Compared to machine languages,
assembly languages are much easier for humans to
understand and to use.
The machine language code we gave above
could be expressed in assembly language as…..

ADD 210(8,13),02B(4,7)

This is still pretty obscure, of course, and so assembly language is also


considered low level.
Assembly languages also vary from computer to computer. With the
third generation, we advance to high-level languages, many of which are
considered portable languages. That is, they can be run on more than one
kind of computer—they are “portable” from one machine to another.
3 high-Level Procedural Languages
People are able to understand languages that are more like their own
(e.g., English) than machine languages or assembly languages. These more
English-like programming languages are called “high-level” languages.
However, most people still require some training to use higher-level
languages. This is particularly true of procedural languages.

Procedural languages, also known as 3GLs (third-generation


languages), are designed to express the logic—the procedures—that can
solve general problems. Procedural languages, then, are intended to solve
general problems and are the most widely used languages to create
software applications. C++ is a procedural language widely used by today’s
programmers. For example, C++ was used in Advantage Advertising’s time-
and-billing report. (See again Figure 13-14 for the compute time module of
this program.)
Consider the following C++ statement from a program that
assigns letter grades based on the score of an exam:

if (score > = 90) grade = ‘A’;

This statement tests whether the score is greater than or


equal to 90. If it is, then the letter grade of A is assigned

Like assembly languages, procedural languages must be translated


into machine language so that the computer processes them. Depending
on the language, this translation is performed by either a compiler or an
interpreter.
An interpreter converts the
procedural language one statement
at a time into machine code just
before it is to be executed. No
object code is saved. An example of
a procedural language using an
A compiler converts the
interpreter is the standard version
programmer’s procedural language
of BASIC.
program, called the source code,
into a machine language code,
called the object code. This object
code can then be saved and run
later. Examples of procedural
languages using compilers are the
standard versions of C++ and Visual
Basic.
What is the difference between using
a compiler and using an interpreter?

When a program is run, the


compiler requires two steps. The first step is to convert the entire program’s
source code to object code.

The second step is to run the object code. The


interpreter, in contrast, converts and runs the program
one line at a time.

The advantage of a compiler language is that once the object code has been
obtained, the program executes faster. The advantage of an interpreter
language is that programs are easier to develop.
4 task-Oriented Languages
Task-oriented languages, also known as 4GLs (fourth-generation languages)
and very high level languages, require little special training on the part of
the user.
Unlike general-purpose languages, task-oriented languages are designed to
solve specific problems. While 3GLs focus on procedures and how logic can
be combined to solve a variety of problems, 4GLs are nonprocedural and
focus on specifying the specific tasks the program is to accomplish. 4GLs are
more English-like, easier to program, and widely used by nonprogrammers.
Some of these fourth-generation languages are used for very specific
applications. For example, IFPS (interactive financial planning system)
is used to develop financial models.

4GLs include query languages and application


generators:

Application generators
Query languages
Query languages enable nonprogrammers to use certain easily understood
commands to search and generate reports from a database. One of the most
widely used query languages is SQL (structured query language). For example,
let’s assume that Advantage Advertising has a database containing all customer
calls for service and that its management would like a listing of all clients who
incurred overtime charges. The SQL command to create this list is..
QUERY
SELECT client FROM dailyLog WHERE serviceEnd >17 LANGUAGES
This SQL statement selects or identifies all clients (a field name
from the dailyLog table) that required service after 17 (military
time for 5:00 p.m.). Microsoft Access can generate SQL commands
like this one by using its Query wizard.
An application generator or a program coder is a program that provides
modules of prewritten code. When using an application generator, a
programmer can quickly create a program by referencing the module(s) that Application
performs certain tasks. This greatly reduces the time to create an application.
For example, Access has a report generation application and a Report wizard generators
for creating a variety of different types of reports using database information.
5 Problem and constraint Languages

The next step in programming languages will be the fifth-generation language


(5GL), or computer languages that incorporate the concepts of artificial intelligence to
allow a person to provide a system with a problem and some constraints, and then
request a solution. Additionally, these languages would enable a computer to learn and
to apply new information as people do. Rather than coding by keying in specific
commands, we would communicate more directly to a computer using natural
languages.

Consider the following natural language statement that might


appear in a 5GL program for recommending medical treatment :
Get patient Diagnosis from patient Symptoms
“sneezing”, “coughing”, “aching”
When will fifth-generation
languages become a reality???

That’s difficult to say; however, researchers are


actively working on the development of 5GL
languages and have demonstrated some success.
Summary of five programming generations

generation Sample Statement


First: Machine 111100100111001111010010000100000111000000101011
Second: Assembly ADD 210(8,13),02B(4,7)
Third: Procedural if (score > = 90) grade = ‘A’;
Fourth: Task SELECT client FROM dailyLog WHERE serviceEnd > 17
Fifth: Problems and Constraints Constraints
Get patientDiagnosis from patientSymptoms “sneezing”,
“coughing”, “aching”
in addition..
Thank You
For your attention!

You might also like