 What is a tar pit ?  From its original meaning, a tar pit is an accumulation that has acted as a natural trap into which animals have fallen and sunk.

Slides:



Advertisements
Similar presentations
3. Technical Documentation
Advertisements

Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
Kai H. Chang COMP 6710 Course NotesSlide ES- 1 Auburn University Computer Science and Software Engineering Course Notes : Examining the Specification Computer.
P5, M1, D1.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
SOFTWARE MAINTENANCE 24 March 2013 William W. McMillan.
THE TAR PIT BY FRANKLYN OMORUAN. What Is Tar Pit ? It describes software development as similar to a prehistoric tar pit, where great and powerful beasts.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
© Janice Regan Problem-Solving Process 1. State the Problem (Problem Specification) 2. Analyze the problem: outline solution requirements and design.
CSC 395 – Software Engineering Lecture 21: Overview of the Term & What Goes in a Data Dictionary.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
1 CSc Senior Project Software Testing. 2 Preface “The amount of required study of testing techniques is trivial – a few hours over the course of.
Software Re-engineering
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
Powered by DeSiaMore1 Programming Concepts David T. Makota Department of Computing & Information Technology (CIT) The Institute of Finance Management Dar.
PRESENTATION START.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
6 Steps of the Programming Process
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Software.
WEB ENGINEERING LECTURE 4 BY Kiramat Rahman. outline  In this Lecture you will learn about:  Term “Software” and its relationship with “Hardware” 
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
Abstract Introduction Project Requirements Resources Proposed Approach and Consideration Closing Summary General Information Faculty Advisor Dr. Gerald.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
CSC 354 – Software Engineering, Spring 2013, Week 2 Mythical Man-Month Ch. 1-5 Tar Pit, Mythical Man-Month, Surgical Team, Aristocracy / Democracy & System.
Chapter 6 : Software Metrics
INTRODUCTION What is software? What is software engineering?
CS 111 – Nov. 22 Chapter 7 Software engineering Systems analysis Commitment –Please read Section 7.4 (only pp ), Sections –Homework #2.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki 1 Machine Learning.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
By Brian Rodriguez. State the Parts of a System BIOS Is the basic input/output Complementary metal- oxide- semiconductor (CMOS) is a technology for constructing.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Developing Business/IT Solutions Chapter 12 McGraw-Hill/IrwinCopyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved.
Frameworks CompSci 230 S Software Construction.
Programming and Languages
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Computer Components: Software Computer Technology.
Nic Shulver, Welcome to Principles of Software Engineering Tutor: Nic Shulver Web site and Blackboard presence 100% coursework,
Data Structure Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2010.
CSCE 240 – Intro to Software Engineering Lecture 2.
The Tar Pit The Mythical Man-Month Frederick P. Brooks, JR. Chapter 1.
The Tar Pit Ensnaring the Unsuspecting. The Entangling Tar or pitch traps even the largest of beasts. Today, the same level of precaution must be taken.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Efficiently Solving Computer Programming Problems Doncho Minkov Telerik Corporation Technical Trainer.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
PROGRAMMING. Computer Programs  A series of instructions to the computer  pre-written/packaged/off-the-shelf, or  custom made  There are 6 steps to.
Chapter 10 Software quality. This chapter discusses n Some important properties we want our system to have, specifically correctness and maintainability.
MANAGEMENT INFORMATION SYSTEM
LO.2.2 MB1 How can you simplify an experienced maintenance procedure in order to produce a maintenance plan that is more efficient and easier to follow?
CMSC 104, Version 8/061L16IncrementalProg.ppt Incremental Programming Topics Review of Incremental Programming Example of Incremental Programming Reading.
Software Hardware refers to the physical devices of a computer system.
System Design, Implementation and Review
Fundamentals of Computer Systems
Classifications of Software Requirements
The Software Development Cycle
Algorithm and Ambiguity
Understand the Programming Process
An Introduction to Visual Basic .NET and Program Design
Applied Software Implementation & Testing
Software Engineering INTRODUCTION
Understand the Programming Process
Algorithm and Ambiguity
Chapter 8 Software Evolution.
Software Development Life Cycle Models
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Software Re-engineering and Reverse Engineering
The Software Development Cycle
Information system analysis and design
Presentation transcript:

 What is a tar pit ?  From its original meaning, a tar pit is an accumulation that has acted as a natural trap into which animals have fallen and sunk and their bones have preserved.

 It basically refers to the factors that can cause a program not to work and getting trapped with bugs preventing it from doing the work that it was created for.

 Cause: Many large computer systems programs over the past decade have been into such a tar pit.

 Therefore, we must understand the cause of a tar pit if we are to solve it.

 A programming product in this sense is a program that can be tested, repaired and extended by anybody

 In order to become an efficiently good programming product, a program must be written in a generalized fashion. Then, the program must be tested so programmers can make sure that it can be depended upon.

 Finally, the promotion of a programming product must be thoroughly documented so that costumers or anybody else can use it, fix it and extend it..

A program becomes a component in a programming system. This means a collection of interacting programming, coordinated in function and disciplined in format so the assemblage makes it easier to carry out large tasks.

 In order to be a programming system component, a program must be written so that every input and output component conforms in syntax and semantics with precisely defined interfaces.

 The programming systems product, which is the truly useful object, the intended product of most system programming efforts. It is different from the program in all of the above ways.

 Programming is both a tar pit and a creative activity that brings joy to the many people who enjoy the common challenges of programming and creative activities that require a lot of abstract thinking. Testing, documentation and maintenance are very important are very crucial factors for the prevention of a tar pit as far as “computer programming” is concerned.

 It should also be applied in the development of software as far as software engineering goes so that the final product can be reliable and enjoyed by the clients.