15.1.2003Software Engineering 2003 Jyrki Nummenmaa 1 CASE Tools CASE = Computer-Aided Software Engineering A set of tools to (optimally) assist in each.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
Access 2007 ® Use Databases How can Microsoft Access 2007 help you structure your database?
Professional Toolkit V2.0 C:\Presentations - SmartCafe_Prof_V2.0 - bsc page 1 Professional Toolkit 2.0.
Software Engineering 2003 Jyrki Nummenmaa 1 A BASIC OO SOFTWARE DEVELOPMENT PROCESS Earlier, we saw a number of different software lifecycle models.
WebGoat & WebScarab “What is computer security for $1000 Alex?”
Programming Creating programs that run on your PC
Two main requirements: 1. Implementation Inspection policies (scheduling algorithms) that will extand the current AutoSched software : Taking to account.
The Hierarchy of Data Bit (a binary digit): a circuit that is either on or off Byte: 8 bits Character: each byte represents a character; the basic building.
Input Validation For Free Text Fields ADD Project Members: Hagar Offer & Ran Mor Academic Advisor: Dr Gera Weiss Technical Advisors: Raffi Lipkin & Nadav.
11 3 / 12 CHAPTER Databases MIS105 Lec14 Irfan Ahmed Ilyas.
Databases and modelling 1. day. 2 Agenda Goals Plan What is database? How is database developed and designed? Database design.
Sara SartoliAkbar Siami Namin NSF-SFS workshop July 14-18, 2014.
MBAC 611.  We have been using MS Access to query and modify our databases.  MS Access provides a GUI (Graphical User Interface) that hides much of the.
PHP and SQL Server: Queries IST2101. Project Report 4 SQL Queries Due Sunday, 4/5 at 11:59pm Instructions on how to access team webspace and SQL database.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Advance Computer Programming Java Database Connectivity (JDBC) – In order to connect a Java application to a database, you need to use a JDBC driver. –
Introduction 01_intro.ppt
October 30, 2008 Extensible Workflow Management for Simmod ESUG32, Frankfurt, Oct 30, 2008 Alexander Scharnweber (DLR) October 30, 2008 Slide 1 > Extensible.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman MODULE 14 CASE TOOLS Learning Units 14.1 CASE tools and their importance 14.2.
Chapter 5 Lecture 2. Principles of Information Systems2 Objectives Understand Data definition language (DDL) and data dictionary Learn about popular DBMSs.
TESTING.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
Sumedha Rubasinghe October,2009 Introduction to Programming Tools.
1 PHP and MySQL. 2 Topics  Querying Data with PHP  User-Driven Querying  Writing Data with PHP and MySQL PHP and MySQL.
ITEC224 Database Programming
1 California State University, Fullerton Chapter 8 Personal Productivity and Problem Solving.
1 Overview of Databases. 2 Content Databases Example: Access Structure Query language (SQL)
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Administrative Software Chapter 7 Teaching and Learning with Technology.
Configuration Management (CM)
Maintenance and Support Week 15 CMIS570. User Training Need to consider the same 2 groups: End users Use the system to achieve the business purpose Creating,
Maintenance and Support Week 15 CMIS570. User Training Need to consider the same 2 groups: End users Use the system to achieve the business purpose Creating,
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
OHTO -99 SOFTWARE ENGINEERING LECTURE 6 Today: - Round-trip engineering Forward engineering Reverse engineering - A round-trip engineering tool (Fujaba)
© 2001 Business & Information Systems 2/e1 Chapter 8 Personal Productivity and Problem Solving.
Lead Black Slide Powered by DeSiaMore1. 2 Chapter 8 Personal Productivity and Problem Solving.
IT 456 Seminar 5 Dr Jeffrey A Robinson. Overview of Course Week 1 – Introduction Week 2 – Installation of SQL and management Tools Week 3 - Creating and.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa OO A&D FOR DATABASE- DRIVEN SOFTWARE Larger software.
Generic API Test tool By Moshe Sapir Almog Masika.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Faculty of Computer & Information
The european ITM Task Force data structure F. Imbeaux.
Software Engineering 2003 Jyrki Nummenmaa 1 CONFIGURATION MANAGEMENT Today we talk about Software Configuration Management (SCM for short): -
CHAPTER 3 DATABASES AND DATA WAREHOUSES. 2 OPENING CASE STUDY Chrysler Spins a Competitive Advantage with Supply Chain Management Software Chapter 2 –
Course Conclusion. Agenda Summing up by Tom Handing over to Ellen Your presentations Typo3 // css stuff Information about exam.
OHTO -99 SOFTWARE ENGINEERING LECTURE 7 Today: - Design principles: - maintainability & localisation - Testing & testing plan.
1 Chapter 20 – Data sources and datasets Outline How to create a data source How to use a data source How to use Query Builder to build a simple query.
1 Welcome : To the third learning sequence “ DB ACTORS “ Present learning: We shall explore the following topics: - DB limitations. - DB actors. - DB Administrator.
COMP 321 Week 4. Overview Normalization Entity-Relationship Diagrams SQL JDBC/JDBC Drivers hsqldb Lab 4-1 Introduction.
Database and Information Management Chapter 9 – Computers: Understanding Technology, 3 rd edition.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
PHP and SQL Server: Queries IST2101. Steps to Design PHP Pages to Answer User Queries 1.Query generation – What SQL query do we need to retrieve the desired.
OOSSE Week 8 JSP models Format of lecture: Assignment context JSP models JSPs calling other JSPs i.e. breaking up work Parameter passing JSPs with Add.
IT Faculty Software Engineering Seniors UML for a simple DataBase Management System Prepared by: أنس الأسود بشير الفروان زهير الزعبي ياسر المحمد.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Database Overview What is a database? What types of databases are there? How are databases more powerful than spreadsheets?
Introduction to SQL Server  Working with MS SQL Server and SQL Server Management Studio.
CS 440 Database Management Systems Stored procedures & OR mapping 1.
The Database Concept and the Database Management System (DBMS) Databases.
1 © 2005 Cisco Systems, Inc. All rights reserved. Cisco Confidential Session Number Presentation_ID Unity Connection Provisioning API Matt Penning Unity.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE.
Testing Tools & Standards
OO TESTING Module testing -> Class testing Integration testing
IS442 Information Systems Engineering
Presentation transcript:

Software Engineering 2003 Jyrki Nummenmaa 1 CASE Tools CASE = Computer-Aided Software Engineering A set of tools to (optimally) assist in each step of software development. Typically integrated with a design data repository / design data base

Software Engineering 2003 Jyrki Nummenmaa 2 CASE-supported tasks Business systems planning Analysis & Design Project management Data definition Program development (program generation) Round-trip engineering Prototyping Simulation Integration Testing

Software Engineering 2003 Jyrki Nummenmaa 3 Program generation Generating source code based on - Functional specifications, - Data specifications, - Coding standards, …

Software Engineering 2003 Jyrki Nummenmaa 4 What do tools generate Templates for things like classes based on design (e.g. generation of Java source files without method implementation from a class diagram – Fujaba). Forms and code to run them Source code to do routine tasks such as access data in the database or in a form.

Software Engineering 2003 Jyrki Nummenmaa 5 CASE Data Repository / Data Base The heart of the CASE tool Will be used by different tools Key to tool integration Ideally provides concurrent access to design data

Software Engineering 2003 Jyrki Nummenmaa 6 This year at our course We do not have commercial tools. Will be using a simple tool to generate Java classes to access database data (”Dbswtool”) The tool needs descriptions of the database and it will produce classes for retrieving and storing data in the database (one class per relation). The tool can also be used to create classes to execute queries and access their results.

Software Engineering 2003 Jyrki Nummenmaa 7 Motivation – 3rd assignment Choose one use case of the use cases in your previous assignment. The use case should be such that it needs to make a query to the database retrieving data from more than one relation. You are to write and test a program, which executes that use case. The program is to read the user input from a file or terminal (no graphical user interface).

Software Engineering 2003 Jyrki Nummenmaa 8 3rd assignment - continued As the use case is based on a straightforward user story, you do not need to prepare for lots of different cases or execution paths - if something goes wrong then just an error message and stopping program execution will be enough. Write a test plan for your program. The test plan includes information on - what data you are going to use to test the program and - what is the desired outcome of your program. Having written your program, test it. Create a test report of your program. If you need to run the tests several times, then make a test report for each individual execution.

Software Engineering 2003 Jyrki Nummenmaa 9 3rd assignment – data base access Your program needs to access a database An example program will be provided for an example database, which has some data in it. You are to use the Dbswtool (to be discussed in this lecture) to access the data in the data base.

Software Engineering 2003 Jyrki Nummenmaa 10 3rd assignment documentation How to install the program How to use the program How to remove the installation How to maintain the program (class diagram, short explanation,…?) How to test the program (test material, test plan, instructions on how to run the test) Test reports Configuration files for Dbswtool

Software Engineering 2003 Jyrki Nummenmaa 11 Dbswtool input Description of attributes Description of relations Description of queries

Software Engineering 2003 Jyrki Nummenmaa 12 Dbswtool output For each relation/query, a ”Db” class containing the data to access the database data. For each ”Db” class, a class extending the ”Db” class – this is the class where the developer may add his/her extra functionality.

Software Engineering 2003 Jyrki Nummenmaa 13 Db classes for relations Set and check data in the object using an input string Access the data object in the Db class object Insert the object’s data in the database Modify the object’s data in the database Delete the object’s data from the database (based on key attribute values) Retrieve the object’s data from the database (based on key attribute values)

Software Engineering 2003 Jyrki Nummenmaa 14 Db classes for queries A method for executing the predefined query with possibly extra conditions (which is ”and”ed to the end of the predefined condition). A method for stepping through the answer row by row. Methods for retrieving the objects (for classes of relations) in the current answer row.

Software Engineering 2003 Jyrki Nummenmaa 15 Why to use the tool? To keep the data definitions in data base and Java classes synchronised. To reduce the number of errors. To automate a routine (and boring) part of programming. To provide consistency in data management.

Software Engineering 2003 Jyrki Nummenmaa 16 Complications The Java classes for JDBC (SQL) data objects are much different from each other in terms of the services they give. The tool comes with a set of classes (SQL Data Types) for wrapping the JDBC Java classes – this is to provide uniform services and aid in program generation.

Software Engineering 2003 Jyrki Nummenmaa 17 Getting started Download the stuff from download download Read README.txt and follow the instructions given. The data base will be provided by next week (9.4.), when the demo is continued. Anyway, it is a good idea to try out the software already before that, although you can not actually execute the programs on the database.