K. Ingram 1 Oct 2001 Software Development Tools. K. Ingram 2 Oct 2001 Contents l Tools – what are they, why are they needed? l Software Development Tools.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Advertisements

Systems Investigation and Analysis
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Dr Gordon Russell, Napier University Unit Data Dictionary 1 Data Dictionary Unit 5.3.
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
11.1 Lecture 11 CASE tools IMS Systems Design and Implementation.
Systems Development Life Cycles. The Traditional Systems Development Life Cycle.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
Requirements Analysis 5. 1 CASE b505.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis CASE Computer.
Lecturer: Dr. AJ Bieszczad Chapter Lehman’s system types S-system: formally defined, derivable from a specification P-system: requirements based.
Fundamentals of Information Systems, Second Edition
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
1 IS112 – Chapter 1 Notes Computer Organization and Programming Professor Catherine Dwyer Fall 2005.
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
CIS 375 Bruce R. Maxim UM-Dearborn
Difference between project and other assignments real customer before programming: negotiations with client to clarify requirements often changes.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
CIS 376 Bruce R. Maxim UM-Dearborn
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Introduction to Information System Development.
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Describing Methodologies PART II Rapid Application Development*
Transaction Processing Systems and System Development Life Cycle
Prototyping. Introduction *Overview *What is the process *Changing roles of end users *What tools facilitate prototyping *Impact on traditional methodology.
Everyone has heard the old saying about the shoemaker's children: The shoemaker is so busy making shoes for others that his children don't have shoes of.
Chapter 7 Integration of Information The Strategic Management of Information Technology.
The Systems Development Methodologies. Objectives  Describe the information Systems Development Life Cycle (SDLC)  Explain prototyping  Explain Rapid.
Programming 1 1. Introduction to object oriented programming and problem-solving.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
2 Systems Architecture, Fifth Edition Chapter Goals Describe the activities of information systems professionals Describe the technical knowledge of computer.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
SCSC 311 Information Systems: hardware and software.
Requirements Engineering Requirements Elicitation Process Lecture-8.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Software Engineering. Software Engineering is… Design Coding Testing Debugging Documentation Maintenance …of new software.
CASE Tools Union Palenshus. In the early days… ► Software engineering tools consisted solely of translators, compilers, assemblers, linkers, loaders,
Fundamentals of Information Systems, Second Edition 1 Systems Development.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
CASE1 Computer-Aided Software Engineering Advanced Software Engineering COM360 University of Sunderland © 2000.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
® IBM Software Group © 2007 IBM Corporation Rational Transformation Workbench Analyzer for Eclipse V3.1 Name Title address.
CISB113 Fundamentals of Information Systems IS Development.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
1 Software Maintenance The process of changing the system after it has been delivered and in operation Software change is inevitable –New requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
CASE Tools and their Effect on Software Quality
CASE (Computer-Aided Software Engineering) Tools
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
Software engineering Software Processes.
CIS 375 Bruce R. Maxim UM-Dearborn
Chapter 1 Computer Technology: Your Need to Know
Testing Tools & Standards
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
System Programming and administration
Computer Aided Software Engineering (CASE)
System Design and Modeling
System Design.
Tools of Software Development
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Presentation transcript:

K. Ingram 1 Oct 2001 Software Development Tools

K. Ingram 2 Oct 2001 Contents l Tools – what are they, why are they needed? l Software Development Tools – why are they needed l Existing Toolkits l Integration l CASE

K. Ingram 3 Oct 2001 Tools Ref. Longman’s dictionary: l An implement that is used,.., to carry out work of a mechanical nature l Something used in performing an operation or necessary in the practice of a vocation or profession Why use tools? l To make tasks easier l To increase productivity (volume, strength or quality of outputs) l Allow larger or more complex products to be produced

K. Ingram 4 Oct 2001 The need for Software development tools l 1960s – Wages were low, hardware costs high l 1990s – Wages extremely high, hardware costs low l Thus need to make software development efficient, so reducing costs l Advent of more complex and more critical software

K. Ingram 5 Oct 2001 Costs in Software Development l Analysis and Design time-consuming l Systems are complex to comprehend l Coding may be tedious l Testing can be all of the above l Documentation may become out-of-date l Fast turn-over of staff

K. Ingram 6 Oct 2001 Aims of Software Development Tools l To increase: –Productivity –Product quality –Use of less skilled staff –Staff satisfaction l To reduce: –Software development time –Amount of testing –Training –Errors –Costs

K. Ingram 7 Oct 2001 Programmer’s Toolkit l Basic needs: Operating system utilities, Editors, Translators l Further assistance: language sensitive editors, debuggers, utility programs (e.g. sorts), component libraries l Extra: test data generators, code generators, report generators, configuration managers

K. Ingram 8 Oct 2001 Designer’s Toolkit l Screen painters, data dictionary, wizards for table/form/report/query design, diagram manipulators for flowcharts

K. Ingram 9 Oct 2001 Analyst’s Toolkit l Diagram manipulators for models, model consistency checkers, word processors

K. Ingram 10 Oct 2001 Computer Aided Software Engineering Tools l Classified by function: (ref. Appendix) –Project management –Support –Analysis and design –Programming –Integration and testing e.g. simulation e.g. test management –Prototyping e.g. 4GLs –Maintenance e.g. reverse engineering

K. Ingram 11 Oct 2001 Computer Aided Software Engineering Tools l Classified by level: –Lower-CASE: specific to an architecture –Upper-CASE: architecture-independent –Integrated-CASE Planning System investigation Systems analysis System design Implementation Review and maintenance

K. Ingram 12 Oct 2001 Integration l Most people do not work alone these days – tools must incorporate group work, job overlaps and flow between tasks l Integrated tools have been available since 1980s e.g. Cradle e.g. Select SSADM e.g. Select Enterprise - Any problems?? l Groupware l Process-centred software engineering environments

K. Ingram 13 Oct 2001 Summary: Software Engineers as Producers l Engineers use their skills and a toolset, at a workbench, in a workshop, to make products l Software engineers: –The skills = analysis, design, programming, etc. –The tools = useful facilities e.g. program editor –The workbench = the environment in which the tool sits e.g.Microsoft’s Visual Basic software –The workshop = an Integrated Project Support Environment

K. Ingram 14 Oct 2001 Conclusion l Software engineering: A technological and managerial discipline concerned with the systematic production and maintenance of high quality software products that are developed and modified on time and within cost estimates l Software development tools aim to increase the chances of success in an ever-changing discipline, with ever-changing technology.

K. Ingram 15 Oct 2001 Appendix 1

K. Ingram 16 Oct 2001 Project Management Tools l cost estimating e.g. Cocomo, Putnam l time/resource scheduling e.g. Pert, Network Analysis l metrics for productivity, quality, complexity e.g. McCabe method, e.g. Halstead method

K. Ingram 17 Oct 2001 General Support Tools l documentation l infrastructure l configuration, traceability, re-use repositories

K. Ingram 18 Oct 2001 Analysis and Design Tools l for diagrams and their attributes l consistency checking - between levels, between diagrams

K. Ingram 19 Oct 2001 Programming Tools l 3GL coding tools l 4GL tools l object oriented tools

K. Ingram 20 Oct 2001 Integration and Testing Tools l data collection l static measurement l dynamic measurement l simulation l test management

K. Ingram 21 Oct 2001 Prototyping Tools l executable language specifications l very HLLs l 4GLs l operating system utilities

K. Ingram 22 Oct 2001 Maintenance Tools l reverse engineering l code restructuring and analysis