Computer Aided Software Engineering Nayab Awan

Click here to load reader

download Computer Aided Software Engineering Nayab Awan

of 29

Transcript of Computer Aided Software Engineering Nayab Awan

Computer aided Software Engineering

Presented toMr. Inam-ul-HaqPresented byNayab AwanComputer Aided Software Engineering(CASE)

BS ITComputer Aided Software Engineering(CASE)

1

Presentation OutlineWhat is CASE?CASE BackgroundImportance of CASE?Drawbacks of CASEScope of CASECASE Support to SDLCCASE ToolsSummaryConclusionsReferences2Computer Aided Software Engineering(CASE)

2

What is CASE?Computer Aided Software Engineering (CASE) is the use of software tools[ I will discuss at slide 10 to onward] to assist in the development[ slide 7 and 8] and maintenance of software.Computer-Aided Software Engineering(CASE) is the domain where softwaretools used to design and implement applicationsSoftware systems that are intended to provide automated support for software process activitiesAutomated support definition: Automated support is that we use some software to develop another software. For example if we need diagram representation of data in the form of flow chart and we develop it by the help of a flow chart maker (software tool used to develop flow charts) rather than developing manually(by hand). This is called automation support.3Computer Aided Software Engineering(CASE)

CASE BackgroundTo speed up the software system building process, a new concept of designing software is introduced in the '70s, called Computer Aided Software Engineering (CASE).[2] This term is used for a new generation of tools that applies rigorous (exact) engineering principles to the development and analysis of software.4Computer Aided Software Engineering(CASE)

Importance of CASECASE allows for rapid development of software. Produce system with a longer effective operational lifeProduce systems that most closely meet user needs and requirements.Produce system with excellent documentationProduce systems that needs less systems supportProduce more flexible systems

5Computer Aided Software Engineering(CASE)

Drawbacks of CASEVery ComplexExpensive Difficult to customizeRequire training of maintenance staffNot easily maintainableFragile(Weak)6Computer Aided Software Engineering(CASE)

Scope of CASE CASE tools can be grouped together if they have similar functionality, process activities and capability of getting integrated with other tools.The scope of CASE tools goes throughout the SDLC(System Development life Cycle).

7Computer Aided Software Engineering(CASE)

CASE Support to SDLC

TraditionalSDLCCASESupport SDLC8Computer Aided Software Engineering(CASE)

CASE ToolsCASE tools can be broadly divided into the following parts based on their use at a particular SDLC stageDetail of tools is at slide 10 onwardUpper Case Tools- Upper CASE tools are used in planning, analysis and design stages of SDLC.Lower Case Tools- Lower CASE tools are used in implementation, testing and maintenance.Integrated Case Tools- Integrated CASE tools are helpful in all the stages of SDLC, from Requirement gathering to Testing and documentation.

9Computer Aided Software Engineering(CASE)

CASE ToolsCASE Tools CategoriesMajor categories of CASE tools are:Diagram ToolsProcessing Model ToolsProject Management ToolsDocumentation ToolsAnalysis ToolsDesign ToolsConfiguration Management ToolsChange Control ToolsProgramming ToolsPrototyping ToolsWeb Development ToolsQuality Assurance ToolsMaintenance Tools

10Computer Aided Software Engineering(CASE)

CASE ToolsDiagram toolsThese tools are used to represent system components, data and control flow among various software components and system structure in a graphical form. Diagrammatic Representation of system.Help to supervise a process across many different fields.ExamplesFlow Chart Maker tool for creating state-of-the-art flowcharts.Rational Rose used for creatingSmartDraw, Gliffy, Visio and many others

11Computer Aided Software Engineering(CASE)

CASE ToolsProcess Modeling ToolsProcess modeling is method to create software process model, which is used to develop the software. Process modeling tools help the managers to choose a process model or modify it as per the requirement of software product. ExamplesEPF(Eclipse Process Framework) Composer

12Computer Aided Software Engineering(CASE)

CASE ToolsProject Management ToolsThese tools are used for project planning, cost and effort estimation, project scheduling and resource planning. These tools help Managers to comply project execution with every mentioned step in software project management. Project management tools help in storing and sharing project information like time tracking etc. in real-time throughout the organization. ExamplesCreative Pro Office, Trac Project,

13Computer Aided Software Engineering(CASE)

CASE ToolsDocumentation ToolsDocumentation in a software project starts prior to the software process, goes throughout all phases of SDLC. Documentation tools generate documents for technical users and end users. Technical users are mostly in-house professionals of the development team who refer to system manual, reference manual, training manual, installation manuals etc. The end user documents describe the functioning and how-to of the system such as user manual. Training Manuals, Installation Manual, User Manuals can be generated by documentation tools.Examples Doxygen,

DrExplain,

14Computer Aided Software Engineering(CASE)

CASE ToolsAnalysis ToolsThese tools help to gather requirements, automatically check for any inconsistency, inaccuracy in the diagrams, data redundancies or erroneous omissions. Examples Accept 360, Case Complete for requirement analysis,

15Computer Aided Software Engineering(CASE)

CASE ToolsDesign ToolsThese tools help software designers to design the block structure of the software, which may further be broken down in smaller modules using refinement techniques. These tools provides detailing of each module and interconnections among modules. Animation, Modeling and Rendering of projects can be generated by design tools ExamplesMayaKeyShot

16Computer Aided Software Engineering(CASE)

CASE ToolsConfiguration Management (CM) ToolsAn instance of software is released under one version. Configuration Management tools deal with Version ,Baseline configuration and Change Control ManagementBug tracking and Blogging can be done by CM toolsExamples Git, (version control software)Accu REV.

17Computer Aided Software Engineering(CASE)

CASE ToolsChange Control ToolsThese tools are considered as a part of configuration management tools. They deal with changes made to the software after its baseline is fixed or when the software is first released. CASE tools automate change tracking, file management, code management and more. ExamplesiTop

18Computer Aided Software Engineering(CASE)

CASE ToolsProgramming ToolsThese tools consist of programming environments like IDE (Integrated Development Environment), in-built modules library and simulation tools. These tools provide comprehensive aid in building software product and include features for simulation and testing. Examples Cscope to search code in C, Eclipse.19Computer Aided Software Engineering(CASE)

CASE ToolsPrototyping ToolsSoftware prototype is simulated version of the intended software product. Prototype provides initial look and feel of the product and simulates few aspect of actual product.Prototyping CASE tools essentially come with graphical libraries. They can create hardware independent user interfaces and design. These tools help us to build rapid prototypes based on existing information. Examples Serena prototype composer, Mockup Builder.

20Computer Aided Software Engineering(CASE)

CASE ToolsWeb Development ToolsThese tools assist in designing web pages with all allied elements like forms, text, script, graphic and so on. Web tools also provide live preview of what is being developed and how will it look after completion. Examples Adobe Edge InspectFoundation 3

21Computer Aided Software Engineering(CASE)

CASE ToolsQuality Assurance ToolsQuality assurance in a software organization is monitoring the engineering process and methods adopted to develop the software product in order to ensure conformance of quality as per organization standards. QA tools consist of configuration and change control tools and software testing tools. Examples JMeter.AppsWatch,

22Computer Aided Software Engineering(CASE)

CASE ToolsMaintenance ToolsSoftware maintenance includes modifications in the software product after it is delivered. Automatic logging and error reporting techniques, automatic error ticket generation and root cause Analysis are few CASE tools, which help software organization in maintenance phase of SDLC. Examples Bugzilla for defect tracking, HP Quality Center.

23Computer Aided Software Engineering(CASE)

Flow Char Maker(CASE Tool) Case StudiesComputer Aided Software Engineering(CASE)24

Flow Char Maker(CASE Tool) Case StudiesComputer Aided Software Engineering(CASE)25

SummaryFrom above material it is concluded that CASE have significant impact on Software QualitySimply stated, CASE can signification contribute to a reduction of errors in each development phase.Software MaintenanceFull and updated documentation by CASE tools enables thorough examination of possible software adaptations(versions) for new applications.Project ManagementCASE tools can significantly contribute from deviation(going away) of budget and schedule from a plan and the reduction of high error rates and shorter correction cycles when needed.26Computer Aided Software Engineering(CASE)

ConclusionComputer Aided Software Engineering(CASE)27

It is concluded that CASE tools are a class of software that automates many of the activities involved in SDLC phases. For example, when establishing the functional requirements of a proposed application, prototyping tools can be used to develop graphic models of application screens to assist end users to visualize how an application will look after development. Subsequently, system designers can use automated design tools to transform the prototyped functional requirements into detailed design documents. Programmers can then use automated code generators to convert the design documents into code. Automated tools can be used collectively or individually. For example, prototyping tools could be used to define application requirements that get passed to design technicians who convert the requirements into detailed designs in a traditional manner using flowcharts and narrative documents, without the assistance of automated design software.CASE tools can be used to increase productivity, decrease costs, enhance project controls, and increase product quality. Organizations can develop systems with appropriate functionality, security, integrity, and reliability by using CASE tools.Inadequate (poor) Standardization, Unrealistic Expectations are limitations of CASE tools.

ReferencesPressman, R. S. (2005).Software engineering: a practitioner's approach. Palgrave Macmillan.MULLER, H. (1996).Computer Aided Software Engineering(p. 2). H. Muller, R. J. Norman, & J. Slonim (Eds.). Kluwer Academic Publishers.Accessed[14-04-2015]. Analysis(2015). Available: http://www.umsl.edu/~sauterv/analysis/F08papers/View.htmlAccessed[14-04-2015]. Ch_Overviewcase.html(2015). Available: https://docs.oracle.com/cd/E26228_01/doc.93/e21955/ch_overview_case.htm#WEACS128

28Computer Aided Software Engineering(CASE)

Thankew.. 29Computer Aided Software Engineering(CASE)