0% found this document useful (0 votes)
5 views14 pages

Ch6 Software Engineering

Uploaded by

Israa M Alqatow
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)
5 views14 pages

Ch6 Software Engineering

Uploaded by

Israa M Alqatow
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/ 14

CHAPTER 6

Computer
Programming and
Software Development

1
Overview
• Definition of Software engineering
• Software development Cycle
• Analysis
• Design
• Encoding
• Testing
• Evaluation
• Complexities of software development
• Development of Commercial Software
2
Definition of Software and Programs
• A program is a list of instructions that
direct the computer’s processes
• The computer system executes binary-
encoded machine language programs
designed for that type of processor
• Programs are developed and written
using symbolic programming
languages which are easier to 3
comprehend and use.
A Sample Program
<HTML>
<HEAD>
<TITLE>image script</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--HIDE
var counter = 0
function changer() {
counter += 1
if (counter == 4) {
counter = 0
}
document.images[0].src = counter + ".jpg"
}
//STOP HIDING--></SCRIPT>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<P>Click on the image to change it.</P>
<P>
<A HREF="#" onClick="changer()">
<IMG SRC="0.jpg" WIDTH=279 HEIGHT=184 BORDER=0 ALIGN=bottom>
</A>
</P>
</BODY> 4
</HTML>
The Software Development Cycle
• Analysis: analyzing and understanding
the problem
• Design: Devising a plan to solve the
problem
• Coding: Creating an executable
program that implements the plan
• Testing: Correcting the program errors
• Maintenance: upgrading the program 5
Software Development Cycle

7
Step1: Analysis
To design and create a program, the
developer must…
• Envision the sequence of events that
would implement it;
• Understand the task in general terms as
well as specific cases.
• Collect and Analyze Requirements
• Sec#2 , Sec#3 8
Step 2: Design
There are two main phases:

• UI design (concept wireframes and


flowcharts to express the user’s
interface)

• Data Design (data models)


8
Step 3: Encoding
• To execute the program on a computer, it should be
encoded using a standard programming language.

• A programming language is an artificial language


designed to express computations that can be
performed by a machine, particularly a computer.

• Programming languages vary in their level in regards to


their level of abstraction from the computer. .

9
Executing
• Executing is the translation of the
algorithm(s) into executable programs
• Most programs are written in high-
level programming languages which
are more abstract than binary machine
languages

10
Step 4&5: Testing and Evaluation
• Test: Testing is a comprehensive organized
effort to exercise all aspects of a software
system for possible failure
• Installation: putting the program onto a
computer system so that it can be executed
• Maintenance: The modification of a
software product after delivery to correct
faults, to improve performance or other
attributes, or to adapt the product to a
modified environment 11
Debugging vs. Testing
Debugging Testing
• program components
• “Bugs” are errors
and programs are
that result from thoroughly tested for
faulty plans, reliability
misunderstandings, • programs are released
coding mistakes, etc. in several versions
• correcting errors in (e.g., alpha, beta)
programs is called 12
“debugging”
Complexities of Software Development

• Complexities of the problem domain


– processes and tasks are difficult to understand

• Complexities in programming
– translating tasks into effective processes
performed by computers can be difficult

13
Developing Commercial
Software
• System analysts are
responsible for planning,
designing, and overseeing
software projects
• Programmers work in
groups to implement the
overall design
The scale of modern • Software quality assurance
software systems require groups conduct
division of labor independent testing 17

You might also like