Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW....

26
Introduction • Complex and large SW. • SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW. Data orientation Expert systems AI distributed systems parallel programming

Transcript of Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW....

Page 1: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Introduction

• Complex and large SW.

• SW crises.

1950 1960 1970 1980 1990 2000

•Expensive HW.•Custom SW.•Batch execution

•Structured programming• Product SW.

•Data orientation•Expert systems•AI•distributed systems•parallel programming

Page 2: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Introduction

• Software Engineering is concerned with theories, methods and tools needed to develop high quality software products in a cost effective way.

• Cost effective: – limited resources.– Time schedule.

Page 3: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

System Development Life Cycle

Page 4: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

System Development Life Cycle

Page 5: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Software Development Life Cycle

• Maintenance is an ongoing process over the system life

• 60% of the time is spent on maintenance and 40% on the development– Correct errors– Add new features (business changes)– Adapt to environment changes

• Cost of correcting errors increase as you move in the life cycle

Page 6: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Software Development Life cycle

• Amount of resources consumed over the life cycle

Sys

tem

deve

lopm

ent

Insta

llatio

n

day

Time

Reso

urc

es u

sed

Min

or

mai

nte

nan

ce

Maj

or

mai

nte

nan

ce

Page 7: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

System Analysis and Design

• A systematic approach of:

– Identifying problems and opportunities

– Analyzing the flow of information in organization

– Design computerized system to solve the

problem

Page 8: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

System Analyst

• A problem solver that requires communication skills, management skills and technical skills

• An agent of change

• Either: – An outside consultant – A supporting expert within the organization

Page 9: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

System Analysis and Design Methodologies

• Systematic approaches of performing analysis and design

• Structured:– Based on showing the flow of data in the

organization

• Object-Oriented:– Describes the objects interacting in the

organization

Page 10: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Categories

Information systems fall into one of the following eight categories:

• Transaction processing systems (TPS).• Office automation systems (OAS).• Knowledge work systems (KWS).• Management information systems (MIS).• Decision support systems (DSS).• Expert systems (ES) and Artificial Intelligence (AI).• Group decision support systems (GDSS) and Computer-

Supported Collaborative Work Systems.• Executive support systems (EES).

Page 11: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Organizations as Systems

• Interrelated subsystems– Product based– Service based

Organization

Goals

input Output

System environment

Page 12: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Organizations as Systems

• Organization Environment:– Physical– Economical– Political (rules and regulations)

• Feedback from environment and inside the organization to control and plan performance

• Organization Structure and Culture:– Culture: how people interrelate – Open organization: flow of information within organization

– Management levels

Page 13: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Managerial Control

• The three levels of managerial control are:– Operations management.– Middle management.– Strategic management.

Page 14: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Computer-aided software Engineering tools

• Software packages that support the software development process

• Advantages:– Improves quality and productivity– Facilitate communication among team members

and users– Provides continuity between life cycle phases– Facilitate maintenance

• But, they should be carefully chosen and staff should be properly trained.

Page 15: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Computer-aided software Engineering tools

• May be divided into several categories:– Upper CASE: perform analysis and design– Lower CASE: generate computer source code– Integrated CASE

• Other ways of classification– Functional– Breadth

Page 16: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Project Initiation

Projects are initiated for two broad reasons:– Problems that lend themselves to systems

solutions.– Opportunities for improvement through

• Upgrading systems.• Altering systems.• Installing new systems.

Page 17: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Identifying Problems

• Look for situations where the goals of the organization has not been met

• Check the output against performance criteria (e.g. errors and slow output)

• Observe behavior of employee (e.g. absence, turnover)

• Listen to external feedback from customers and vendors

Page 18: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Opportunities for improvement

• Speed up a process

• Duplicated steps

• Combining processes

• Reducing errors in input

• Reducing redundant output

• Improving integration of systems

• Improving workers satisfaction

• Improving customer or vendor interactions with the system

Page 19: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Feasibility Study

• Done by the system analyst

• Done quickly with minimum resources

• Interview high management people

• Define the objectives of the project & organization

• Output is feasibility report

• The decision whither to take the project is management

Page 20: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Feasibility Study

• Helps the organization attain overall objectives• Is possible to accomplish with present organizational

resources in the following three areas:– Technical Feasibility:

• Add on to present system• Technology available to meet users’ needs

– Economic Feasibility• Cost of employees’ time• Estimated cost of hardware• Cost of packaged software/software development

– Operational Feasibility• Whether the system will operate when installed• Whether the system will be used

Page 21: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Feasibility Impact Grid (FIG)

• A feasibility impact grid (FIG) is used to assess the impact of any improvements to the existing system.– Current or proposed systems are listed on the

left.– Objectives are listed on the top.– Red arrows indicate a positive impact.– Green arrows indicate implementation.

Page 22: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Project Management

• Activities:– Selection of team members– Assignment of tasks to people– Estimate task time– Schedule project plan– Writing system proposal– Control by monitoring plan against activities– Motivating Team members

Page 23: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Project Planning

• Project is broken down into phases.• Further project is broken down into tasks or

activities.• Finally project is broken down into steps or even

smaller units.• Time is estimated for each task or activity.• Most likely, pessimistic, and optimistic estimates

for time may be used.

Page 24: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Scheduling tools

• Gantt chart: Shows activities over a period of time as bars on a graph

• PERT-Program Evaluation and Review Technique– PERT diagrams show precedence, activities that must

be completed before the next activities may be started.

– Once a diagram is drawn it is possible to identify the critical path, the longest path through the activities.

– Monitoring critical path will identify shortest time to complete the project.

Page 25: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

Gantt Chart Example

Page 26: Introduction Complex and large SW. SW crises. 1950 1960 1970 1980 1990 2000 Expensive HW. Custom SW. Batch execution Structured programming Product SW.

PERT Diagram Example