• No results found

Tools, CASE & Integration

N/A
N/A
Protected

Academic year: 2020

Share "Tools, CASE & Integration"

Copied!
42
0
0

Loading.... (view fulltext now)

Full text

(1)
(2)

Introduction

• Software tools.

• CASE tools.

• Categories of CASE tools.

• Integration of CASE tools.

• Public Tool Interfaces.

(3)

What is a software tool?

• A software tool is a program or application that

software developers use to create, debug, or

maintain other programs and applications.

• The term usually refers to relatively simple

programs that can be combined together to

accomplish a task.

• Similar to engineering where multiple tools are used

to build a physical object.

(4)

Generations of Software Tools

• 1st Generation (1950s - late 70s)

– Linkers. – Loaders. – Shell tools. – Code generators. – Simple diagrammers. – 4GLs, DBMS.

• 2nd generation (late 70s - mid 80s)

– Data Dictionary, RDBMS. – Multi diagrammers.

(5)

Generations of Software Tools

• 3rd Generation (mid 80s - late 80s)

– Intelligent diagrammers. – DB generators.

– Active Data Dictionaries. – I-CASE (Integrated CASE).

• 4th Generation (late 80s – late 90s)

– Software Engineering Environment frameworks. – Process-centred Software Engineering.

– Application Generators.

– Simulation and capacity planning. – Project management.

– Reverse Engineering. – Methods Engineering. – Object Orientation.

(6)

Tool developments

• Stem from advances in hardware/software.

• Also, new system environments.

• Has led to tool development for:

– Aspect-oriented development. – Web services.

– Open environments.

(7)

Common tools

• Revision control: SCM, SCCS, RCS, CVS, SVN, Git, Monotone, GNU arch, SourceSafe, PVCS, ClearCase, Bonsai

• Compilation and linking tools: GNU toolchain (Make, automake, gcc), Microsoft Visual Studio, CodeWarrior, Xcode, Intel compiler

• Lint: lint, Splint • Search: grep, find

• Text editors: emacs, vi • Scripts: Shell, Perl, REXX • Parsing: Lex, Yacc

• Bug Databases: gnats, Bugzilla, Trac • Debuggers: gdb, GNU Binutils

• Online Code Sharing Tools: Sourceforge, Krugle, ByteMyCode • Source code generation tools

(8)

Integrated Development

Environments (IDEs)

• So, if that’s what a software tool is, what is an IDE?

• IDEs are development applications that combine the

features of many tools in one place.

• Delphi

• C++ Builder

• Microsoft Visual Studio

• Xcode

• Eclipse

• NetBeans

• IntelliJ IDEA

(9)

so what’s a CASE tool?

• A software tool helps a developer perform a single

complex task.

• Tools can be combined into toolsets that are

typically offered by an IDE.

• A CASE tool helps a developer to perform some

aspect of the SDLC.

(10)

How do CASE tools help?

• Simplifies the task at hand.

• Serves several audiences (end users, developers

etc.)

• Saves time and money.

• Produces quantitative and verifiable designs

(requirements are traceable, performance criteria

held, etc.)

• Supports changes.

(11)

Example – The Data Dictionary

• Central Repository or Data Dictionary:

– used to ensure standard and consistent definitions. – related to Entity Analysis techniques.

– used for Impact Analysis.

– used throughout life cycle and beyond.

– always changing to accommodate latest objects.

– holds all details: ownership, security, validation, users of data/processes, storage, performance info, etc.

– holds text, diagrams, objects of all sorts.

– can be used as any other database - c,r,u,d; needs locking protocols, version control.

(12)

Example – The Data Dictionary

from Data

DATA PROCESSES from

Function Analysis CONCEPTUAL Entities Attributes Relationships Processes Events Analysis CONCEPTUAL PHYSICAL from Database data definitions Data Items Tables Records Files Sets Indexes Clusters etc. Systems Modules Programs Sub-routines PHYSICAL from Program Statements

(13)

Categories of CASE tools

1. Workbenches

• Aim to automate the structured methodologies.

• Tools are available for different stages of I.S. development:

– Planning, Analysis, Design and Construction.

• WIMP interface essential.

• Easy to use, on-line help, self documenting.

• Tools can cover different activities and cross these stages. • Often one or more methodology-based especially upper

CASE.

• Most workbenches can operate as standalone or be networked.

• Aim for seamless interface between tools. • Cheap entry point.

(14)

Categories of CASE tools

1.1 Planning Workbenches

• For project management, strategic overviews, BPR,

Enterprise model synchronisers etc.

• Support PERT, Critical Path Analysis, Enterprise

modelling, Organisation charts

– e.g. Microsoft Project.

• Support Business Processing Re-engineering,

structure diagrams, procedural diagrams, include

multimedia input.

– e.g. BP WIN, Oracle’s Business Process Modeller.

• Where many models have become fragmented and

duplicated a tool to compare and consolidate

(15)

Categories of CASE tools

1.2 Analyst Workbenches

• Known as Front-End or Upper-CASE.

• supports analysis and design tasks

– methodology and technique support

– graphics to support diagrammatic modelling:

• e.g. ERM, DFD, ELH etc.

– documentation support, report production – repository cross-checking

– database generation

(16)

Categories of CASE tools

1.3 Design & Construction WBs

• Known as Back-End or Lower-CASE.

• Used to design and construct programs:

– support design methods (JSP).

– graphics to support structure diagrams. – coding support.

– testing support.

– diagnostic and debug tools.

(17)

Categories of CASE tools

2. Integrated CASE (I-CASE)

• Features:

– Full coverage of life cycle, allows prototyping, RAD.

– Mixture of graphics and text to specify user and developer requirements.

– Fill-in-the-blanks, default options, intelligent defaults. – Tools fully integrated: any tool can employ info from

another - they share the same repository.

– All knowledge stored in repository checked automatically and meticulously ( to ensure integrity, consistency and completeness).

(18)

Categories of CASE tools

2. Integrated CASE (I-CASE)

• Features:

– Generators for: • Screens. • Reports. • Database. • Program. • Menus etc.

– Self documenting, robust, interactive and dynamic. – Re-Engineering and Reverse-Engineering.

(19)

Explanatory Diagram

(allegedly)

U s e r Data Element Definition Database Definition Generator I n t e Process Definition Code Generator r f a c e User Interface Definition Environment Definition Run time Controls Generator

(20)

Categories of CASE tools

3. Component Case (C-CASE)

• Business needs are such that several

methodologies may be needed

• Also, implementation may need to be on different

platforms and in different languages.

• To accommodate these, components of CASE tools

are used as and when needed.

(21)

C-CASE Wishlist

• Diagramming tools:

– DFDs, ERDs, OOMs, Screens, Menus, Transactions and Report design.

• Syntax verifier:

– diagram checks for input /output.

– correct use of methods and techniques. – consistency checks.

• Central Repository/Encyclopaedia:

– storage of graphs, data definitions, objects.

– link between graphics, data definitions and code generation.

(22)

C-CASE Wishlist

Prototyping tools

– quick creation and modification – use repository definitions

Code Generation

) not all

– derived from repository ) offer – Project Management ) these

– Re-Engineering/Reverse-Engineering ) techniques

This list is still much too limiting and organisations

need much, much more!

(23)

C-CASE Wishlist

Configuration management.

Version control.

Impact analysis.

Access control.

Reusability.

Traceability/QA.

Common GUI.

Monitoring/metrics.

(24)

CASE Integration

• Incompatibility has slowed CASE progress – there

have been many attempts to standardise, but there

are usually many differing standards! Consider:

– hardware. – software.

– methodologies.

– validation and verification rules. – databases.

– user interfaces.

(25)

Types of Integration

• Horizontal Integration

– integration of different tools at a particular stage of the life cycle.

• Vertical Integration

– integration of tools between different stages of the life cycle - therefore results from one tool pass forward to another.

• Forward Integration

– from analysis/design to coding/testing.

• Reverse integration

(26)

CASE tool strategies

• Separate, unconnected tools for each task.

– e.g. Notepad, javac.

• Tools to carry out multiple tasks.

– e.g. JBuilder, MS Access.

• Tools which connect to specific other tools (p2p).

– e.g. MS Visual Studio and MS Visio.

• Tools which allow customization

– e.g. Eclipse is an open-source pluggable IDE.

(27)

CASE tool strategies

• Separate tools which share features.

– e.g. data repository, message server.

• Tools as part of a large suite covering much of the project life cycle.

– e.g. Oracle developer.

• Tools using a standard framework with common APIs, a central repository and a message server

• Any tool that conforms can be integrated.

– e.g. IBM’s AD/Cycle, DEC’s Cohesion and HP’s SoftBench of the late 1980s.

• Vendors publicise their tools’ architecture or API so other vendors can link.

– e.g. Oracle Designer 2000 had “bridges” to 12 products e.g. Select SSADM, Exelorator and others.

(28)

Levels of Integration

• Platform integration.

– different tools in the CASE environment should be able to run on different platforms and be interoperable.

• Presentation integration.

– User Interface should be consistent across all tools used.

• Control integration.

– a formal, standard mechanism for a tool to inform other tools of changes made.

• Process integration.

– the environment should be able to handle the formal Software Engineering techniques plus the supporting tasks.

• Data integration.

– sharing the data and its relationships between tools including objects, versions, access control.

(29)

Vendor specialisms

• Integration was also difficult as many vendors concentrated on tools for selected parts of the life cycle.

• Resulted in developers not seeing a standard across all the tools they used.

• Specialised tools are often better that those from the

vendors who did attempt a tool for all phases of the life cycle (Simon 1993).

• Interestingly in 2003 it was being suggested that specialisation can be a bonus.

• This takes for granted the levels of integration which are now achieved:

– (“Third-party tools in single-platform shops “ at

http://www.embarcadero.com/resources/tech_papers/thirdpartytools. html [30/4/04] ).

(30)

Aspects of Integration

• To be considered:

– Operating Systems. – Graphics interfaces. – Database, SQL.

– Tools interfaces (for Open environments). – Communications.

(31)

Operating systems

• Tied to existing OS? If buying new hardware and

software - much more choice…

• BUT:

– CASE only one component of strategy

– some tools for a specific op. sys e.g. Microsoft Visual Studio/Visio/Access etc.

– some tools run on several PC operating systems:

• Red Hat and SuSE Linux, • Sun Solaris (SPARC),

• Microsoft Windows (NT/2003/XP), • Apple Mac OS X

• May be single user (ref. Select SSADM) or

networked.

(32)

Graphics interface

• For simple tools = integral part.

• For I-CASE and open environments often part of the

Tools Interface (see Tools Interfaces).

• Most of these tools are Windows or Linux.

• Most have look and feel similar to Windows.

• If the intention is to integrate into Open

Environment, the Tools Interface may become more

important.

(33)

Database

• Underlying database is a key component; the more sophisticated the tool, the more important it is

• Workbenches tend to have proprietary database.

• I-CASE needs very sophisticated database for all tools to share.

• if an Open Environment is to use 3rd party tools needs highly sophisticated flexible database repository.

• SQL provides a common standard for accessing a relational database.

• Database vendors actively encourage 3rd party vendors to use their product as a common platform.

• 2 uses of database:

– for storing application information for later move to target machine/s. – for use in generating and manipulating applications throughout their life.

(34)

Tools interfaces

for Open Environments

• Structure and content of the data repository is a key

mechanism that enables 3rd party tools to be added

to Open Environment.

• User Interfaces must interact and be consistent.

• Validation and verification rules because objects

and models must be consistent.

• The trend was to specify the nature and mechanism

in great detail – problem is the architectures differ

greatly.

(35)

Standards for

Public Tool Interfaces (PTIs)

Portable Common Tool Environment (PCTE+) funded by Esprit defined a common interface between an operating system and the tools on that system.

Common Ada Interface Set (CAIS) similar to PCTE but for Ada.

Information Resource Dictionary System (IRDS) is another standard for the repository backed by ANSI – aiming a

platform independence.

Case Data Interchange Format (CDIF) is the furthest

advanced for import/export files (supporters: Oracle, LBMS, Sybase, Digital, Cadre, Intersolve).

• IBM attempted with its own products based on Systems Application Architecture (SAA) and AD/Cycle to set a de facto standard but it was too late into the market place. Moved away from the platform independence of IRDS.

(36)

Open Database Connectivity

• Part of Microsoft's Windows Open System Architecture. • Enables an application to maintain a consistent Windows

interface, regardless of the type or location of the target database.

• ODBC Driver Manager sits between Application and data source drivers.

• Built into new Windows applications.

– Office, Visual Studio etc.

• Connectivity issues hidden from the user. • SQL generated by the applications.

• Limitations:

– ODBC does not help with networking.

– database companies' products are targeted at their own database and network products.

(37)

Common Object Request Broker

CORBA

• What: allows multiple applications to work together

in a distributed, heterogeneous environment

• How:

– by abstracting requirements, designs and mechanisms common to many distributed systems.

– Uses OMG’s Interface Definition Language to define the interfaces to these abstractions.

– Client apps issue requests, the server-side Object Request Broker locates and activates the target and passes on request, returning any reply.

– The object adaptor isolates the interface from the underlying technology.

(38)

XML

• What: Standardises interoperable structured data.

• How:

– replaces traditional proprietary Electronic Document Interchange (EDI) systems, binary and simple text formats.

– utilises plain-text files and hierarchical tagging structure similar to HTML (stricter rules apply).

– standardised general method for file parsing:

• SAX – Simple API for XML.

• DOM – Document Object Model.

– tags are user-definable.

– validates data against user-defined schema (template). – XML documents can be transformed using stylesheets.

(39)

Communications

• Historical aim of CASE was at large, centralised

developments but the trend is towards

decentralisation with networking.

• N-tier developments mean there is a need for

increased communication between tiers:

– business logic layer, application servers and clients.

• International Standards Organisation (ISO) have

been instrumental in developing a set of protocols.

• Open Systems Interconnection (OSI) enables

conforming systems to communicate over LANs and

WANs.

(40)

Approaches to integrating

• Plug-in architecture.

• Web-services.

• Repository sharing.

• Distributed objects.

• Etc.

(41)

Relationship of CASE

to other technology movements

1. Open Systems.

– standards supported by many vendors enable

interoperability in critical areas such as communications, UI, database access, system utilities.

2. Enterprise Computing.

– these architectures include interoperability products such as gateways, multi-protocol routers to enable use of existing hardware and systems software.

– may be proprietary point-to-point interconnection or use open systems standards.

(42)

Relationship of CASE

to other technology movements

• 3. Client/Server Computing - separate application functions into communicating entities which request/provide a

service. May be proprietary point-to-point interconnection or use open systems standards.

• “Typical I-CASE products have moved from single-vendor, centralized environment to distributed, inter-connected

systems - maybe from multiple vendors.“

– (Alan R. Simon,The Integrated CASE Tools Handbook, Van Nostrand Reinhold, 1993)

– [note: the following was written by Simon in 1993 and is still valid!]

The CASE tool(s) should be a reflection of the state-of-the-art of the systems it is used to create.

References

Related documents

Hence, to summarise these reasons, holding inventory is a part of supply chain operations that improves production efficiency, avoids the fluctuation of inputs ‟ purchasing

If all the Deans of a higher Educational Institute will be having and exercising Qualities as prescribed above will contribute towards the creation of a highly

SQL Server 2000 Standard or Enterprise Edition have a complete set of database management tools, including SQL Server Enterprise Manager, which allows you to perform complete database

[r]

The study was conducted clinically using patients’ saliva and measuring the effect of miswak (chewing stick), miswak extract, toothbrush, and normal saline on mutans and

Instruction ction:: Conduct an ocular inspection o the school physical acilities listed belo!" Then pro#ide the needed inormation to acilitate the impro#ement to be done

5.14 Downwind drivetrain’s on-grid dynamic performance for (a) a rated torque input with a 2.5 Hz frequency component (resulting from the wind sheer effect) and (b) a rated torque

There is a notable lack of pity in these voiceovers; more often Abdi captured expressions of care and gratitude. A homeless Iraq War veteran named Paul, who joined the military to