case t ools

Upload: gyanendra-giri

Post on 30-May-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 CASE T ools

    1/5

    ASSIGNMENT

    SOFTWARE ENGINEERING

    Submitted to:

    Mrs. Renu Vashishtha

    Date:19-04-2010

    (Monday)

    Submitted by :

    Gyanendra Kumar Giri

    2008ECS11

  • 8/9/2019 CASE T ools

    2/5

    Existing CASE Environments can be classified along 4 different dimensions :

    1. Life-Cycle Support

    2. Integration Dimension3. Construction Dimension

    4. Knowledge Based CASE dimension.

    Life-Cycle Based CASE Tools:

    Upper CASE Tools: support strategic, planning and construction of conceptual level productand ignore the design aspect. They support traditional diagrammatic languages such as , ER

    diagrams,Data Flow diagrams, Structure charts, Decision Trees,Decision Tables,etc.

    Lower CASE Tools: concentrate on the back end activities of the software life cycle and hence

    support activities like physical design, debugging, construction, testing, integration of software

    components, maintenance, reengineering and reverse engineering activities.Integration Dimension

    Three main CASE Integration dimension have been proposed:

    1. CASE Framework

    2. ICASE Tools

    3. Integrated Project Support Environment(IPSE)

    Overview:

    The term "Computer-aided software engineering" (CASE) can refer to the software used for theautomated development of system software , i.e., computer code. The CASE functions include analysis,

    design, and programming. CASE tools automate methods for designing, documenting, and producing

    structured computer code in the desired programming code.

    Two key ideas of Computer-aided Software System Engineering (CASE) are:

    the harboring of computer assistance in software development and or software maintenance

    processes, and

    An engineering approach to the software development and or maintenance.

    Some typical CASE tools are:

    Configuration management tools

    Data modeling tools

    Model transformation tools

    Refactoring tools

    Source code generation tools, Program transformation tools,and

    Unified Modeling Language

    Many CASE tools not only output code but also generate other output typical of various systems

    analysis and design techniques such as

    data flow diagram

    entity relationship diagram

    logical schema

  • 8/9/2019 CASE T ools

    3/5

    Program specification

    SSADM

    User documentation.

    The application development tools can be from several sources: from IBM, from vendors, and

    from the customers themselves. IBM has entered into relationships with Bachman InformationSystems, Index Technology Corporation, and Knowledgeware, Inc. wherein selected products

    from these vendors will be marketed through an IBM complementary marketing program toprovide offerings that will help to achieve complete life-cycle coverage.

    Alfonso Fuggetta classified CASE into 3 categories:

    1. Tools support only specific tasks in the software process.

    2. Workbenches support only one or a few activities.

    3. Environments support (a large part of) the software process.

    CASE Workbenches

    Workbenches integrate several CASE tools into one application to support specific software-processactivities. Hence they achieve:

    a homogeneous and consistent interface (presentation integration).

    easy invocation of tools and tool chains (control integration).

    access to a common data set managed in a centralized way (data integration).

    CASE workbenches can be further classified into following 8 classes:[6]

    1. Business planning and modeling2. Analysis and design

    3. User-interface development

    4. Programming5. Verification and validation

    6. Maintenance and reverse engineering

    7. Configuration management8. Project management

    CASE Environments

    An environment is a collection of CASE tools and workbenches that supports the software process.

    CASE environments are classified based on the focus/basis of integration:

    1. Toolkits

    2. Language-centered3. Integrated

    4. Fourth generation5. Process-centered

    Toolkits

    Toolkits are loosely integrated collections of products easily extended by aggregating different tools

    and workbenches. Typically, the support provided by a toolkit is limited to programming, configuration

    management and project management. And the toolkit itself is environments extended from basic sets

  • 8/9/2019 CASE T ools

    4/5

    of operating system tools, for example, the Unix Programmer's Work Bench and the VMS VAX Set.

    Language-centered

    The environment itself is written in the programming language for which it was developed, thus enable

    users to reuse, customize and extend the environment. Integration of code in different languages is a

    major issue for language-centered environments. Lack of process and data integration is also a

    problem. The strengths of these environments include good level of presentation and controlintegration. Interlisp, Smalltalk, Rational, and KEE are examples of language-centered environments.

    Integrated

    These environment achieve presentation integration by providing uniform, consistent, and coherent tool

    and workbench interfaces. Data integration is achieved through the repository concept: they have a

    specialized database managing all information produced and accessed in the environment. Examples of

    integrated environment are IBM AD/Cycle and DEC Cohesion.

    Fourth generation

    Forth generation environments were the first integrated environments. They are sets of tools andworkbenches supporting the development of a specific class of program: electronic data processing and

    business-oriented applications. In general, they include programming tools, simple configuration

    management tools, document handling facilities and, sometimes, a code generator to produce code inlower level languages. Informix 4GL, and Focus fall into this category.

    Process-centered

    Environments in this category focus on process integration with other integration dimensions as

    starting points. A process-centered environment operates by interpreting a process model created by

    specialized tools. They usually consist of tools handling two functions:

    Process-model execution, and

    Process-model production

    Examples are East, Enterprise II, Process Wise, Process Weaver, and Arcadia.

    Applications:

    All aspects of the software development life cycle can be supported by software tools, and so the use of

    tools from across the spectrum can, arguably, be described as CASE; from project managementsoftware through tools for business and functional analysis, system design, code storage, compilers,

    translation tools, test software, and so on.

    However, tools that are concerned with analysis and design, and with using design information to

    create parts (or all) of the software product, are most frequently thought of as CASE tools. CASEapplied, for instance, to a database software product, might normally involve:

    Modelling business / real world processes and data flow

    Development of data models in the form of entity-relationship diagrams

    Development of process and function descriptions

    Production of database creation SQL and stored procedures

  • 8/9/2019 CASE T ools

    5/5

    Risks and associated controls

    Common CASE risks and associated controls include:

    Inadequate Standardization: Linking CASE tools from different vendors (design tool from

    Company X, programming tool from Company Y) may be difficult if the products do not use

    standardized code structures and data classifications.

    Unrealistic Expectations: Organizations often implement CASE technologies to reduce

    development costs. Implementing CASE strategies usually involves high start-up costs.

    Quick Implementation: Implementing CASE technologies can involve a significant change from

    traditional development environments. Typically, organizations should not use CASE tools thefirst time on critical projects or projects with short deadlines because of the lengthy training

    process. Additionally, organizations should consider using the tools on smaller, less complex

    projects and gradually implementing the tools to allow more training time.

    Weak Repository Controls: Failure to adequately control access to CASE repositories may result

    in security breaches or damage to the work documents, system designs, or code modules storedin the repository. Controls include protecting the repositories with appropriate access, version,

    and backup controls.

    Configuration management (CM) is a field of management that focuses on establishing and

    maintaining consistency of a system's or product's performance and its functional and physical

    attributes with its requirements, design, and operational information throughout its life. For informationassurance, CM can be defined as the management of security features and assurances through control

    of changes made to hardware, software, firmware, documentation, test, test fixtures, and test

    documentation throughout the life cycle of an information system.

    Data modeling in software engineering is the process of creating a data model by applying formal datamodel descriptions using data modeling techniques.

    A model transformation in Model Driven Engineering takes as input a model conforming to a given

    metamodel and produces as output another model conforming to a given metamodel.

    Code refactoring is the process of changing a computer program's source code without modifying its

    externalfunctional behavior in order to improve some of the nonfunctional attributes of the software.Advantages include improved code readability and reduced complexity to improve the maintainability

    of the source code, as well as a more expressive internal architecture or object modelto improve

    extensibility.

    In computer science, the term automatic programming identifies a type of computer programming inwhich some mechanism generates a computer program rather than have human programmers write the

    code.

    A program transformation is any operation that takes a program and generates another program. It is

    often important that the derived program be semantically equivalent to the original, relative to aparticular formal semantics. Other program transformations may generate programs that semantically

    differ from the original in predictable ways.

    Unified Modeling Language (UML) is a standardized general-purpose modeling language in the field

    of software engineering. The standard is managed, and was created by, the Object Management Group.

    UML includes a set of graphical notation techniques to create visual models of software-intensive

    systems.