k. ingram 1 oct 2001 software development tools. k. ingram 2 oct 2001 contents l tools – what are...
TRANSCRIPT
K. Ingram 1 Oct 2001
Software Development Tools
K. Ingram 2 Oct 2001
Contents
Tools – what are they, why are they needed?
Software Development Tools – why are they needed
Existing Toolkits Integration CASE
K. Ingram 3 Oct 2001
ToolsRef. Longman’s dictionary: An implement that is used, .., to carry out work of a
mechanical nature Something used in performing an operation or
necessary in the practice of a vocation or professionWhy use tools? To make tasks easier To increase productivity (volume, strength or quality
of outputs) Allow larger or more complex products to be produced
K. Ingram 4 Oct 2001
The need for Software development tools
1960s – Wages were low,hardware costs high
1990s – Wages extremely high,hardware costs low
Thus need to make software development efficient, so reducing costs
Advent of more complex and more critical software
K. Ingram 5 Oct 2001
Costs in Software Development
Analysis and Design time-consuming Systems are complex to comprehend Coding may be tedious Testing can be all of the above Documentation may become out-of-date Fast turn-over of staff
K. Ingram 6 Oct 2001
Aims of Software Development Tools
To increase:– Productivity– Product quality– Use of less skilled
staff– Staff satisfaction
To reduce:– Software
development time– Amount of testing– Training– Errors– Costs
K. Ingram 7 Oct 2001
Programmer’s Toolkit
Basic needs: Operating system utilities, Editors, Translators
Further assistance: language sensitive editors, debuggers, utility programs (e.g. sorts), component libraries
Extra: test data generators, code generators, report generators, configuration managers
K. Ingram 8 Oct 2001
Designer’s Toolkit
Screen painters, data dictionary, wizards for table/form/report/query design, diagram manipulators for flowcharts
K. Ingram 9 Oct 2001
Analyst’s Toolkit
Diagram manipulators for models, model consistency checkers, word processors
K. Ingram 10 Oct 2001
Computer Aided Software Engineering Tools
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
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
Most people do not work alone these days – tools must incorporate group work, job overlaps and flow between tasks
Integrated tools have been available since 1980s e.g. Cradle e.g. Select SSADM e.g. Select Enterprise - Any problems??
Groupware Process-centred software engineering environments
K. Ingram 13 Oct 2001
Summary: Software Engineers as Producers
Engineers use their skills and a toolset, at a workbench, in a workshop, to make products
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
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
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 cost estimating e.g. Cocomo, Putnam time/resource scheduling e.g. Pert, Network
Analysis metrics for productivity, quality,
complexity e.g. McCabe method, e.g. Halstead method
K. Ingram 17 Oct 2001
General Support Tools documentation infrastructure configuration, traceability, re-use
repositories
K. Ingram 18 Oct 2001
Analysis and Design Tools for diagrams and their attributes consistency checking - between levels,
between diagrams
K. Ingram 19 Oct 2001
Programming Tools 3GL coding tools 4GL tools object oriented tools
K. Ingram 20 Oct 2001
Integration and Testing Tools data collection static measurement dynamic measurement simulation test management
K. Ingram 21 Oct 2001
Prototyping Tools executable language specifications very HLLs 4GLs operating system utilities
K. Ingram 22 Oct 2001
Maintenance Tools reverse engineering code restructuring and analysis