+ All Categories
Home > Software > Lukito Edi Nugroho - Information System Engineering

Lukito Edi Nugroho - Information System Engineering

Date post: 27-Jul-2015
Category:
Upload: belajarkomputer
View: 38 times
Download: 1 times
Share this document with a friend
Popular Tags:
23
Information System Engineering Lukito Edi Nugroho Department of Electrical Engineering Gadjah Mada University
Transcript
Page 1: Lukito Edi Nugroho - Information System Engineering

Information System Engineering

Lukito Edi Nugroho

Department of Electrical EngineeringGadjah Mada University

Page 2: Lukito Edi Nugroho - Information System Engineering

Course Outline

Introduction: what is IS engineering (a.k.a. what is software engineering) ? - 1 wk

Software project management - 1-2 wk Software requirement analysis - 2-3 wk

Object-oriented analysis

Software design - 3 wkObject-oriented design

Implementation - 2 wkObject-oriented programming

Testing and maintenance - 2 wk

Page 3: Lukito Edi Nugroho - Information System Engineering

Requirements

Hard work :-) Understanding of object-orientation will

be advantageousObject-oriented analysisObject-oriented designObject-oriented programming

One or more REAL programming languageTry Java!

Team work

Page 4: Lukito Edi Nugroho - Information System Engineering

What is Information System Engineering?

The engineering of information systems… with respect to engineering

Problem-driven activity Analysis, planning, design, and implementation Systematic approach, using well-known principles

What is an information system ? A system that manipulates information

Search and retrieval Transformation Storage Organization Dissemination

Page 5: Lukito Edi Nugroho - Information System Engineering

What is Information System Engineering?

The engineering of information systems (cont.)Components

Hardware Software People Environment

An integrated activity Hardware engineering Software engineering Human engineering Environmental support engineering

Page 6: Lukito Edi Nugroho - Information System Engineering

What is Information System Engineering?

The engineering of information systems (cont)Hardware engineering

Does not mean making new computer hardware … but instead designing hardware configuration that

can provide optimal support for running an information system

Example: hardware requirement analysis, network design and implementation, and network configuration

People engineering In essence, to prepare people who will be involved in

the execution of an information system (i.e., users) Through socialization, training, human resource

policies, etc.

Page 7: Lukito Edi Nugroho - Information System Engineering

What is Information System Engineering?

The engineering of information systemEstablishing environmental support is closely

related to human engineering Organizational structure Management style

While we (presumably) manage to handle the engineering of the three system components, what about the software component ?

Software engineering is not programmingSo many unexplored areas, especially by

practitionersWe will spend much time discussing this

aspect in our lecture

Page 8: Lukito Edi Nugroho - Information System Engineering

An Illustration: A NASA Project …

A new aircraft safety control software To reduce aircraft

accident rate by 5-10 factors in 10 yrs

By employing “intelligence” using neural network software

Ability to “learn” current situ-ation and characteristics

… and to adjust to the best possible flight performance

On-line intelligent flight control

Page 9: Lukito Edi Nugroho - Information System Engineering

An Illustration: A NASA Project …

Some challenges … Complexity… so many

flight control components Real-time performance …

exceeding supersonic speed

Cost … expensive aircraft Life … hundreds of human

life aboard

The flight control software must face all the challenges

Page 10: Lukito Edi Nugroho - Information System Engineering

What is Software Engineering?

A disciplined approach for software developmentSound engineering principlesComprehensive combination of methods, tools,

techniques, and paradigmEncompassing all stages of developmentDriven by well-planned management support

It is like other engineering disciplines, but …Software is an abstract entity how it differs

from engineering of physical matters ?Computing is a relatively new field is it

mature already ?

Page 11: Lukito Edi Nugroho - Information System Engineering

Why Software Engineering ?

In the early days of software development …Distress in software development - and it

lasts a long time and recurring oftenThe situation

More than just “software that does not work properly”

… but encompassing many other aspects of software development and maintenance

Programs are difficult to maintain Complaints about software quality Late development projects Increasing development budget Incapability of meeting a growing demand for more

software

Page 12: Lukito Edi Nugroho - Information System Engineering

What about Software ?

Types System software and application software Business, engineering, and scientific software Artificial intelligence software Real-time, embedded software Stand-alone, distributed, and mobile software

Software is developed, not physically mass-manufactured Due to its logical nature Good quality is achieved only by good design - as

opposed to good design AND implementation in hardware manufacturing

Software development needs a correct approach

Page 13: Lukito Edi Nugroho - Information System Engineering

What about Software ?

Software does not “wear out” Unlike hardware, software does not fail

because of aging ... but it does deteriorate ...Software undergoes changes due to

maintenance, while modifications introduce certain defects, raising its failure rate

There is no “spare-part” to replace defected components - software failure means flawed design software maintenance is more complex than hardware maintenance, because software maintenance related to software failure almost always requires design modifications

Page 14: Lukito Edi Nugroho - Information System Engineering

Why are there problems ?

Human factor: the logical characteristics of software often misleads people who work with it. They tend to treat software as other physical entities Management myths

Standards and procedures exist sufficiently All that we need in development are computers and newest

development tools If we lag behind schedule, just add more programmers

Customer myths A general statement is sufficient to start a project, details

can follow later Changes in requirements can be easily accommodated,

because software is flexible Developer

Once we finish writing a program, we’re done The only deliverable of a software project is a working

program

Page 15: Lukito Edi Nugroho - Information System Engineering

Software Engineering Paradigm

Defines how we approach the software crisis problemA unified perspective of software

developmentComprised of a set of steps that encompass:

Methods: technical “how-to” to build software Tools: automated support for methods Procedures: gluing methods and tools

timing of when methods should be applied deliverables (documents, report, forms, etc) control for quality and coordination milestones for progress assessment

Page 16: Lukito Edi Nugroho - Information System Engineering

The Classic Software Life Cycle

Like a “waterfall”, exhibits a sequential nature of software development

Begin from system level, ending at software maintenanceSystem engineeringSoftware requirement analysisSoftware designCodingTestingMaintenance

Page 17: Lukito Edi Nugroho - Information System Engineering

The Classic Software Life Cycle

Problems with this paradigm Real projects rarely follow sequential flow Difficulties in stating requirements in the early

stage of development Tangible results (i.e., a working program) will not

be available until late in the project

Page 18: Lukito Edi Nugroho - Information System Engineering

Software Development with Prototyping

Promotes the concept of modelingNot all details are clear in the beginningStart with important concepts, then dive

into details stepwiselyHighly iterative

Page 19: Lukito Edi Nugroho - Information System Engineering

Software Development with Prototyping

Problems User temptation to

use prototype as a working version of the software

Developer tends to forget finetuning in order to get a working version quickly

Page 20: Lukito Edi Nugroho - Information System Engineering

The Spiral Model

Developed to combine the best of the life cycle and prototyping modelsUses an evolutionary approach suggested

by the prototyping paradigmMaintains systematic stepwise approach of

the life cycle model, but incorporates it in an iterative framework

It adds risk analysis component to minimize risk during development

Page 21: Lukito Edi Nugroho - Information System Engineering

The Spiral Model

Four major activitiesPlanningRisk analysisEngineeringCustomer evaluation

Activities are performed iteratively, progress-ively moving towards more complete versionsRisk analysis to evaluate whether it is still

feasible to continue the projectEngineering phase can employ the

approach of the life cycle model

Page 22: Lukito Edi Nugroho - Information System Engineering

The Spiral Model

Page 23: Lukito Edi Nugroho - Information System Engineering

A Generic View of Software Engineering

Three generic phasesDefinition: what we are going to build

System analysis Project planning Requirement analysis

Development: how we build it Software design Coding Software testing

Maintenance: how we adapt to changes Correction Adaptation Enhancement


Recommended