• No results found

Lec 14 Software Development Methodolgy

N/A
N/A
Protected

Academic year: 2020

Share "Lec 14 Software Development Methodolgy"

Copied!
44
0
0

Loading.... (view fulltext now)

Full text

(1)

CS1010 Introduction to Computing

Lecture 14

(2)

2

?

Programming

(3)
(4)

The set of (often flexible) rules and guidelines a team of

(5)

Object Oriented Design (1)

OO SW is all about objects: a black box which

receives messages & responds with those of its

own

An object has 2 aspects:

State, also termed as properties, data

Example: For the bicycle: color, speed, pressure

Behaviors, also termed as methods, instructions • Example: For the same object: accelerate(), inflate()

In traditional design, these 2 aspects have been

(6)

Object Oriented Design (2)

The designer starts with any component (object) of

the system; designs it as an independent,

self-contained system, and then moves to the design of

some other component

The over-all system is put together by fitting

together a collection of these components

Key feature: Details of the design of the component

are kept independent of the over-all system

Benefit: It can be easily re-used in other systems:

(7)

To implement an Object Oriented Design

methodology we need Object Oriented programming languages.

Example:

(8)

Structured Design (1)

Also called top-down design

The designer starts by first conceiving a skeleton

high-level design of the system, and then starts

defining features of that over-all design in an ever-increasing detail

Making small changes in the functionality of the

systems sometimes leads to major re-design

(9)

Structured Design (2)

Structured design emphasizes

separating

a

program's data from its functionality

Separating data from functionality typically

leads to SW that is

difficult to maintain &

(10)

Any Other SW Design Methodologies?

The most popular software design (programming) methodology

Spaghetti (sawain)

Most of the people when see description of the problem,

start coding it. Work on it few days or weeks, at the end a program is developed.

It has no structured and disciplined. The program

developed through spaghetti design methodology, its

maintenance is quite difficult, enhancement is impossible.

But for some reason, that’s the most popular way, due to

it many people think of software it really doesn’t work.

(11)

TODAY’s LECTURE

Development process of reasonably complex SW systems

does not consist of “coding” only.

SW Development methodologies?

We will become familiar with the various phases of the

process that developers follow to develop SW systems of reasonable complexity.

People noted that to develop large scale complex SW, only 15

(12)

COMPLEX SOFTWARE

Example: Airplane monitoring system, Accounting

system of a company where up to 10,000 people work.

A system that have hundred of thousands of lines of

code or may be millions of line of code that system is consider complex system.

To develop complex large scale system proper thinking,

(13)
(14)

SW Life-Cycle

The sequence of phases a SW goes through from

the concept to decommissioning.

It is important to think about all those phases

before the design work starts

Thinking about the future phases generally results

in:

Shorter delivery times

(15)

EXAMPLE

On the internet I want to launch an e-commerce website

through which I want to sale jewelry. People visit my

website, purchase jewelry, provide information about them i.e. address, telephone and credit card no. I will verify the

details. Accept the order after verification. Then I will

shipped his jewelry. This is CONCEPT.

Last step is DECOMMISSIONING i.e. I am using this website

from long time, I want to do something new. Now I want to

shut it down and launch a new website. I want my customer

knows about my new website further my customer data i.e. their credit information, preference etc that should also be

(16)

Software life cycle is start from concept to decommissioning

and the phases between them.

Its important to think of life-cycle before making a software.

Think what are the different phases of software i.e. concept,

conceive, design, implement, test, deliver it.

After it customer use it, maintain it and decommission it.

Benefit of thinking on these phases of life-cycle will be, the piece of software that will be developed it will be of good

(17)

CASE STUDY

I was working with a team and we have to

develop an e-commerce website for jewelry sale.

We decided on this spec computer and particular

(18)

A Case in Point

I didn’t discuss with the customer the specs of the HW & OS before

developing a particular e-commerce SW

I wrote it for the HW/OS that was easily available to me.

Unfortunately that HW/OS combination differed from what was easily

available to the client

•We developed the website and shifted to customer, later customer realized it was developed with other assumptions. We have different HW and OS.

•Result: Huge amount of rework. Higher cost. Delayed delivery. Lower quality.

Therefore, now before designing a SW system, I first write down the

(19)

Let us now take a look at a very simple

SW life-cycle

The point is if you think properly on the

phases of software life-cycle phases:

Your cost of development can be reduced.You reduced the deliver time.

(20)

Development

Concept

Operation & Maintenance

(21)

That was a very simple view

(22)

Concept& Feasibility User Requirements

Developer Specs Planning

Design

Implementation

Integration Testing

(23)

During the rest of the lecture we are

now going to

discuss each of these

(24)

Concept& Feasibility User Requirements Developer Specs Planning Design Implementation Integration Testing

Opr. & Maintenance

Retirement

Concept: What needs to be done?

(25)

Concept& Feasibility User Requirements Developer Specs Planning Design Implementation Integration Testing

Opr. & Maintenance

Retirement

The user

documents as

(26)

Concept& Feasibility User Requirements Developer Specs Planning Design Implementation Integration Testing

Opr. & Maintenance

(27)

Concept& Feasibility User Requirements Developer Specs Planning Design Implementation Integration Testing

Opr. & Maintenance

(28)

Concept& Feasibility

User Requirements

Developer Specs

Planning

Design

Implementation

Integration Testing

Opr. & Maintenance

Retirement

Architecture: Decompose the problem into subsystems and define their relationships

(29)

Concept& Feasibility

User Requirements

Developer Specs

Planning

Design

Implementation

Integration Testing

Opr. & Maintenance

Retirement

(30)

Concept& Feasibility User Requirements Developer Specs Planning Design Implementation Integration Testing

Opr. & Maintenance

Retirement

Bring the

sub-subsystems together to form subsystems and test. Bring

(31)

Concept& Feasibility

User Requirements

Developer Specs

Planning

Design

Implementation

Integration Testing

Opr. & Maintenance

Retirement

Use

Enhance Adapt

(32)

Concept& Feasibility

User Requirements

Developer Specs

Planning

Design

Implementation

Integration Testing

Opr. & Maintenance

Retirement

(33)

Concept: Sale Jewelry, There are already many

people who are doing the same business. The concept is when this website is built, then why people visit it. In Concept we think only

business point of view.

Feasibility: Explore business point of view i.e.

when this website will develop, how much it

(34)

The concept i have. Is this possible to build that

system the current technologies, tools and suppliers are available to build this for me.

User Requirement: I am the business person who

want to develop this website. I note down some where what features should have on this website. E.g. Special offers i.e. sale, it must have catalogue where customer see the list of items, can see

gold, silver, platinum, cheap, expensive. After

(35)

I am the business person who is running the

website, i want to know at any given time how many people are on my website. Or last week how much customer purchases or in a year how much bangles i sold.

Developer Spec: developer read user requirement, do some analysis, further

(36)

Planning: Start with developer spec and see

how much time is required to build this system. How much resources are required i.e. man

power, computers, software?

Design: Catalogue module, shopping cart

(37)
(38)

Concept& Feasibility User Requirements Developer Specs Planning Design Implementation Integration Testing

Opr. & Maintenance

(39)

Key

(40)

Concept& Feasibility

User Requirements

Developer Specs

Planning

Design

Implementation

Integration Testing

Opr. & Maintenance

Retirement

(41)

Concept& Feasibility

User Requirements

Developer Specs

Planning

Design

Implementation

Integration Testing

Opr. & Maintenance

Retirement

(42)

Other Life-Cycle Models

The sequence of phases (or the life-cycle mode)

that I showed is just one example of the several sequences that SW developers follow

This one is called the “Waterfall model

You will learn about some more models (e.g. the

(43)

Reading Assignments

The Waterfall Lifecycle Model and its Derivatives

(44)

In Today’s Lecture

We became familiar with the various phases of

the process that developers follow to develop SW systems of reasonable complexity

We looked at a couple of problems related to the

References

Related documents

13 Ethics Scenario Revisited You are informed that the stockroom manager is taking her toolbox home with her and using the tools for private use. You decide to do nothing because

Este proyecto tiene como objetivo explotar la tecnolog´ıa NFC para ofrecer a los usuarios una nueva experiencia en eventos, donde podr´ an utilizar su pulsera NFC para realizar

That the National Council on Privatization should rescind the sale of Abuja International Hotels Limited (Nicon Luxury Hotel) for failure of the core investor to deliver on

Given the location of the bidding generators, their supply curves, the transmission constraint set by the TSO and the forecast demand in each zone, the MO solves the problem of

While the EFSA GMO Panel is not in a position to conclude on the safety of maize pollen occurring in or as food in general, it concludes that the genetic modification in

This work package lists components of the end item and basic issue items for the shotgun to help you inventory items required for safe and effective operation. The Components of

The JMA physicians’ liability insurance covered the liability of individual Class-A members, but payments for the liability of non-member physi- cians were cut, and there was a rush

BLIT Bandlimited Impulse Train CPU Central Processing Unit DPW Differentiated Parabole Wave DSP Digital Signal Processor FIR Finite Impulse Response FM Frequency Modulation IIR