Case Study: A Telephone Switching System [G7.2.1] zProblem: A big telecommunications company wishes to upgrade their existing telephone switching system.

Slides:



Advertisements
Similar presentations
Managing Hardware and Software Assets
Advertisements

Testing Relational Database
Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
ICT Class System Life Cycle.  Large systems development projects may involve dozens of people working over several months or even years, so they cannot.
ITAuditing Using GAS & CAATs
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Systems Analysis, Prototyping and Iteration Systems Analysis.
Lab/Sessional -CSE-374. SYSTEM DEVELOPMENT LIFE CYCLE.
1 SYS366 Week 1 - Lecture 2 How Businesses Work. 2 Today How Businesses Work What is a System Types of Systems The Role of the Systems Analyst The Programmer/Analyst.
System Design and Analysis
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne. – Times: –See noticeboard outside.
CS351 - Software Engineering (AY2005)1 What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Design, Implementation and Maintenance
Software Life Cycle Model
Systems Life Cycle A summary of what needs to be done.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
Introduction to Systems Analysis and Design Trisha Cummings.
Computers & Employment By Andrew Attard and Stephen Calleja.
CSI315 Web Applications and Technology Overview of Systems Development (342)
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
Teaching material for a course in Software Project Management & Software Engineering – part II.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
ASG - Towards the Adaptive Semantic Services Enterprise Harald Meyer WWW Service Composition with Semantic Web Services
University of Virginia Software Development Processes (CS340 John Knight 2005) 1 Software Development Processes.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Software Engineering Spring (C) Vasudeva VarmaClass of 32 CS3600: Software Engineering: Process and Product* *Most of the Content drawn.
Systems Life Cycle A2 Module Heathcote Ch.38.
Introduction to Software Development. Systems Life Cycle Analysis  Collect and examine data  Analyze current system and data flow Design  Plan your.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 15 GIS Design and Implementation Management Information Systems –Systems Analysis –Systems Design –Systems Implementation.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Engineering. Lesson 2 Explain what is a software life cycle model. Identify the different software life cycle models. – Classical Waterfall Model.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Software Engineering Lecture # 1.
Click to add text Systems Analysis, Prototyping and Iteration.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Requirements Engineering Process
Data Structure Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2010.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
CS223: Software Engineering Lecture 4: Software Development Models.
It is the fuel of modern life Business are run Government rule Scientists Industries Education However, building and maintaining software is hard and getting.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Design CS 470 – Software Engineering I Sheldon X. Liang, PH.D.
Introduction to System Analysis and Design MADE BY: SIR NASEEM AHMED KHAN DOW VOCATIONAL & TECHNICAL TRAINING CENTRE.
If you have a transaction processing system, John Meisenbacher
MANAGEMENT INFORMATION SYSTEM
Advanced Software Engineering Dr. Cheng
Information Systems Development
Systems Analysis and Design
Software Project Configuration Management
Auditing Information Technology
The Systems Engineering Context
System Development Life Cycle (SDLC)
V-Shaped SDLC Model Lecture-6.
Classical Waterfall Model
Life Cycle Models PPT By :Dr. R. Mall.
Building Information Systems
Software Project Planning &
Information Systems Development
Software life cycle models
Systems Analysis and Design
What is a System? A system is a collection of interrelated components that work together to perform a specific task.
Presentation transcript:

Case Study: A Telephone Switching System [G7.2.1] zProblem: A big telecommunications company wishes to upgrade their existing telephone switching system to double its existing capacity while maintaining the same level of reliability.

Telephone Switching System (continued) zScenario: The existing system was created by one electrical engineer and developed by him and two other engineers in assembly language for an Intel When launched the system contained 50,000 lines of assembly code. It was being maintained by 30 software engineers. The three original developers were still with the company and were the main source of information about the system.

Questions About the Telephone Switching System zWhat are the limitations of the existing system? zHow would you go about upgrading the system to double its capacity?

Limitations of Existing System zThe processor can no longer cope with the future CPU demands in telephone switching. However, a change in processors (say to a Pentium) implies a substantial rewrite of the assembly language program. zAdvanced routing algorithms normally require the use of sophisticated dynamic data structures which cannot be easily programmed in assembly code.

Limitations of Existing System (continued) zSupport of recent programming techniques, such as inheritance and information hiding, are not supported in 8080 assembler. A 50,000 line assembly language program without much program is costly to maintain (30 full time software engineers…) zMaintenance is very dependent on the three original engineers zThere is a high overhead in training new staff. Almost no fresh CS graduates have incentive to learn Intel 8080 assembly code. However, using a different computer platform involves retraining current staff.

What Actually Happened zThe development of the new system followed a waterfall life cycle. zThere was a trivial requirements study phase, specifying the required increase in capacity. The three original engineers did a feasibility study and design for the new system. yNew hardware platform, but used much of the original system structure (subsystems and their functionality)

What Actually Happened (continued) zA simulator of the new hardware was built and used extensively in the feasibility study and module development. zAlthough many defects were found during integration and testing, they were all local to individual subsystems. Since no major design errors were encountered, the development cycle was fairly linear. zThe system was quite successful.

More Questions about the Telephone Switching System zWhat factors were important in the success of this project? zWhat are the major problems with the new system? zIs it possible to plan for the retirement of a system during its planning stages? zHow could the telephone switching system have done this? zWhat would be the benefits of such a plan?

Case Study: A Budget Control System [G7.2.2] zProblem: Build a software system for a small, high-tech software consulting and development company that monitors whether the financial transactions involved in the various software projects are proceeding according to the original budgets.

Budget Control System (continued) zScenario: The budget control activity often needs to be customized to the particular activity of an organization. While the budget control activity is related to other administrative activities (like payroll), unlike these, budget control is based on both objective data, such as time and cost, and on subjective data, such as estimates of the value of work in progress. Since staff may be on several projects at once its hard to assign costs to each project.

Questions about the Budget Control System zHow would you approach this problem? For example, what kind of software engineering paradigm would you use to develop the system? zCan you guess what actually happened?

What Actually Happened zA team consisting of a software engineer and a senior administrator was formed to perform feasibility analysis of the system. zBecause of the nature of the business, it was found that a precise statement of the requirements for an automated budget control system could not be formulated. Such a statement could only be reached after some experience, trial, and error.

What Actually Happened (continued) zThe team decided to employ the prototyping paradigm to develop the budget control system. Initially it focused on organizational rather than technical aspects: yidentified information relevant to budget control and its source ydefined procedures for collecting this information (e.g., staff were asked to record the time the spent on each project).

What Actually Happened (continued again) zTwo months were needed to understand the budget control process well enough so a prototype could be implemented. The prototype used a spreadsheet and manual data entry. zThe first prototype was in operation for four months. During that period, it was used to understand the problems of budget control and design solutions that would yield better support tools.

What Actually Happened (one last time) zThen a second prototype was built on using a fourth generation environment that supported high-level query facilities, flexible data formats, and simple computation. zWhen the system was put into production, two independent systems existed; the existing administrative system (on a minicomputer) and the new budget control prototype (on a PC). The administrative system provided partial information to the budget control system.

More Questions about Budget Control zWould you do anything differently? zIf you were doing a budget control system for a large company would you do anything differently?