300 likes | 467 Views
INFO2005 Requirements Analysis CASE Computer Aided Software Engineering. Department of Information Systems. Learning Objectives. Understand the use of various types of CASE in systems development Describe the components of CASE tools and understand the relationships between them
E N D
INFO2005Requirements Analysis CASE Computer Aided Software Engineering Department of Information Systems
Learning Objectives • Understand the use of various types of CASE in systems development • Describe the components of CASE tools and understand the relationships between them • Understand the use of CASE in Organisations • Understand the advantages and disadvantages of the use of CASE tools
Documentation Standards • We need to record facts about the organisation we are studying and its requirements. • Records of interviews and observations. • Details of problems. • Existing documents and where they are used. • Details of requirements. • Details of users. • Minutes of meetings. • Visual modeling helps represent requirements
Visual Modeling • ‘Visual modeling is the process of graphically depicting the system to be developed. Visual modeling allows you to present essential details of a complex problem and filter out the nonessential details. It also provides a mechanism for viewing the system to be developed from different perspectives.’ • Rational Rose 2000
Visual Modeling • identify requirements and communicate information • focus on how system components interact, without getting bogged down in specific details • allow you to see relationships among design components • improve communication across your team through the use of a common, graphical language
What is CASE? “Computer Aided Software Engineering (CASE) are the software tools that provide automated support for some portion of the systems development process” (Hoffer,1999) • Includes: • Cross lifecycle CASE & I-CASE • Upper CASE & Lower CASE
Categories of CASE Tools • Cross Lifecycle CASE • I-CASE (Integrated CASE) • Upper CASE • Lower CASE • Distinction much less with modern CASE
Organisational use of CASE • Depending on the CASE tool, the following system development activities may be covered:
Organisational use of CASE • Objectives of CASE • improve quality of developed systems • increase speed of systems development • improve testing process through automatic checking • integrate development activities (common methods) • improve documentation (quality and completeness) • standardise the development process • simplify program maintenance • promote reusability of modules & documentation • improve software portability across environments
CASE Tool Components • Vary depending on which CASE tool is considered but in general will include: • diagramming facilities • means of describing/defining functional and data objects • means of identifying relationships between system components • central repository of system information • error checking facilities (syntax errors)
CASE Tool Components • consistency and completeness checks • user interface generators • database specification • code generators • project management aids • documentation generators • May also provide features for group working, version control, interfacing facilities and security features
CASE Diagramming Tools • Diagramming facilities include: • checks for syntactic correctness • consistency & completeness checks • navigation to linked diagrams • data dictionary support • layering of system components • traceability of requirements • report generation • system simulation/performance analysis (models)
Rational Suite Development Studio Rational Unified Process - development framework Rational Rose 2000 Enterprise - graphical component modeling and development tool Rational ClearQuest - defect tracking/change request management system. Rational Pure Coverage - pinpoints areas of code that have not been exercised during testing
Rational Suite Development Studio • Rational Purify - pinpoints hard-to-find run-time errors in your applications • Rational Visual Quantify - advanced performance profiling tool • Rational RequisitePro - organize, prioritize, track and control changing requirements of a system or application. • Rational SoDA - automatic generation of software documentation
Rational Rose • Rational Rose provides • Use Case • Class Diagrams • Activity Diagrams • Interaction Diagram (Both forms) • State Machine Diagram • Component Diagram • Deployment Diagram
Rational Rose • Rose uses these diagrams in 4 views of the system • Use Case View • Logical View
Rational Rose • Component View • Deployment View
CASE Repository • A repository is a centralised database containing all models (diagrams), data dictionary entries, form & report definitions and system & organisational information • Holds complete information to develop a system from initiation to maintenance • It is the nucleus of an I-CASE environment
CASE Repository Diagrams Forms and Reports Documentation Project Information Analysis & Testing Results CASE Repository Source and Object Code Standard Libraries
CASE Repository Use Case Specifications Specifying an Actor
CASE Form/Report Generators • Automated generation of • data entry screens • reports • program code (eg Java, C++) • also reverse engineering of code • database schema
Benefits of using CASE Tools • Automation of tedious tasks • Syntax/completeness checks ensure consistency • Amending/updating achieved far more easily • More rapid development
Benefits of using CASE Tools • Capture of system data for reuse • particularly important for OO development • May guide the use of a methodology • Clearer communication with users • Continuity of development with changing staff • Standardised quality assurance/test procedures • Improvements in system quality • Reduction in defects increases morale
Role of CASE in QA • CASE can help with: • adherence to standards, • integrity of documentation, • centrally held data dictionary, • fast capture of requirements, • quick modification to designs, • trace requirements from model to code, • guide the development process, • easy, consistent code-generation. • All important in maintaining quality
Limitations of CASE • Limited flexibility in documentation • Development approach limited to fit capabilities of the CASE tool • Training and experience required • CASE prepared models may be more convincing but not reflect requirements
Limitations of CASE • Front loaded cost of installation of CASE tool & training • Incomplete coverage of syntax/ consistency checks • Limited intelligence - no checks on overall quality or correctness
Summary • Understand the use of various types of CASE in systems development • Describe the components of CASE tools and understand the relationships between them • Consider Rational Rose as an exemplar CASE tool • Understand the use of CASE in Organisations • Understand the advantages and disadvantages of the use of CASE tools
References • Hoffer, J.A. et.al. “Modern Systems Analysis & Design” 2nd Ed. Addison-Wesley 1999 Ch4 pp107-136 • Bennett, S. et. al. “Object-Oriented Systems Analysis & Design using UML” McGraw-Hill 1999 Ch3 pp55-60 • Rational Rose Tutorial (In folder RoseTutorial) • Rational Rose Enterprise Edition • Rational Unified Process 2000