Assignments in the Joint Course on Software Engineering Kay Schützler, Zoran Budimac 3rd Workshop Software Engineering Education and Reverse Engineering,

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Describing Process Specifications and Structured Decisions Systems Analysis and Design, 7e Kendall & Kendall 9 © 2008 Pearson Prentice Hall.
A seminar on e-business – Was it worthwhile? Zoran Budimac, Zoran Putnik.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
SYSTEM ANALYSIS & DESIGN (DCT 2013)
Systems Analysis and Design 9th Edition
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Experience with the Course in Novi Sad Zoran Budimac.
Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University.
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
Software Effort Estimation based on Use Case Points Chandrika Seenappa 30 th March 2015 Professor: Hossein Saiedian.
Other organizational and infra-structural issues of the joint SE course Klaus Bothe, Zoran Budimac Berlin, Novi Sad 2 nd Workshop on SEE and RE.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Documenting Requirements using Use Case Diagrams
Requirements Analysis Concepts & Principles
Software Requirements
Fundamentals of Information Systems, Second Edition
ECE Lecture 1 1 ECE 3561 Advanced Digital Design Department of Electrical and Computer Engineering The Ohio State University.
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
On the Structure of the Joint Course on Software Engineering1 Klaus Bothe Version: August 26, 2003 Institute of Informatics, Humboldt University – Berlin,
Requirements Gathering : Determining the scope of the system 1. Elicitiation – fact finding 2. Specification 3. Validation.
Introduction to Software Testing
The chapter will address the following questions:
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
USE Case Model.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Chapter 8: Problem Solving
CPIS 357 Software Quality & Testing
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
Lecture #9 Project Quality Management Quality Processes- Quality Assurance and Quality Control Ghazala Amin.
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
ITEC 3220M Using and Designing Database Systems
CS 4310: Software Engineering Lecture 4 System Modeling The Analysis Stage.
1 Introduction to Software Engineering Lecture 1.
1 Presentation Template: Instructor Comments u The following template presents a guideline for preparing a Six Sigma presentation. An effective presentation.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Systems Analysis and Design in a Changing World, Fourth Edition
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
Use Cases CS 6961 – Lecture 4 Nathan Dykman. Neumont UniversityCS Lecture 102 Administration Homework 1 is due –Still reviewing the proposal, but.
UNIT-1 SOFTWARE PRODUCT AND PROCESS: Introduction – S/W Engineering paradigm – Verification – Validation – Life cycle models – System engineering –
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
Systems Analysis and Design 8th Edition
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Lecture 3 : Hard Systems Modelling UFCE8V-20-3 Information Systems Development SHAPE Hong Kong 2010/11.
1 Software Testing and Quality Assurance Lecture 17 - Test Analysis & Design Models (Chapter 4, A Practical Guide to Testing Object-Oriented Software)
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 12 Exploring Information System Development.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Analysis. This involves investigating what is required from the new system and what facilities are available. It would probably include:
1 Software Requirements Descriptions and specifications of a system.
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
Systems Development Life Cycle
SQA project process standards IEEE software engineering standards
Duration: How long will a lecture take?
Software Engineering Lecture 4 System Modeling The Analysis Stage.
Systems Planning and Analysis
Chapter 11: Software Configuration Management
SQA project process standards IEEE software engineering standards
Object-Oriented Software Engineering Using UML, Patterns, and Java,
About the Presentations
Lecture 09:Software Testing
Chapter 13 Quality Management
10 SYSTEMS DESIGN C H A P T E R Chapter 10 - Systems Design
Chapter 11: Software Configuration Management
Systems Development Life Cycle
Presentation transcript:

Assignments in the Joint Course on Software Engineering Kay Schützler, Zoran Budimac 3rd Workshop Software Engineering Education and Reverse Engineering, Ohrid, Macedonia, 2003

K. Schützler, Z. Budimac: Assignments in the JCSE 2 The perfect/ideal assignment  Motivates students Real life tasks Managable with a reasonable amount of effort  Repeats and practices contents Allows a practical view on theoretically presented lecture contents  Allows autonomy/independence Allows students to develop some creativity in their solutions

K. Schützler, Z. Budimac: Assignments in the JCSE 3 Aims of assignments in our SE course  Put lecture contents into case study context Show applications of lecture contents  Allow autonomy/independence Include creative elements and discussions Allow more than one “correct” solution  Prepare for real life tasks Not too small and too well-formed examples  Encourage team work Through separable tasks and/or discussion elements

K. Schützler, Z. Budimac: Assignments in the JCSE 4 Assignments and course topics Part III: Software Design 15. Overview of design activities 16. Structured design 17. Object-oriented design Part IV: Implementation and testing 18. Implementation 19. Systematic testing 20. Functional testing Part V: Advanced problems 21. Software metrics 22. Maintenance 23. Reverse engineering 24. Quality of software development process and its standardisation 25. Introduction to software ergonomics 26. User manuals 27. Project management 28. Configuration and version management Part II: Requirements engineering 5. Results of the “analysis and definition” phase 6. Cost estimation 7. Function-oriented view 8. Data-oriented view 9. Rule-oriented view 10. Structured analysis 11. State-oriented view 12. Scenario-oriented view 13. Object-oriented analysis 14. Formal software specification and program verification Part I: Introduction to software engineering 1. What is software engineering 2. Quality criteria for software products 3. Software process models 4. Basic concepts for software development documents Kay Schützler, Zoran Budimac: Assignments in the SE course Kay Schützler, Zoran Budimac: Assignments in the SE course

K. Schützler, Z. Budimac: Assignments in the JCSE 5 Assignments in detail: Topic 5: Results of "analysis and definition" phase  Review requirements specification of case study “Seminar Organisation” Become familiar with lecture‘s main case study Get to know assignments style Discover advantages of team work („Four (to six) eyes see more than two...“)

K. Schützler, Z. Budimac: Assignments in the JCSE 6 Review  Background: arbitrary SW documents (e. g. requirements specification) have to be equally precise as programs  Method (Review): Inspection of the documents by a group of evaluators by static reading the document (remark: 2 – 5 evaluators + author of the document)  Process: 1.Preparation of the participants 2.Review meeting of the group: sequentially or by points of emphasis 3.Produce a protocol IEEE Std , Standard for Software Reviews and Audits Slide from Topic 5

K. Schützler, Z. Budimac: Assignments in the JCSE 7 Review Protocol (contents scheme) Document: Participants: Leader: Protocol: Date, time of the meeting: ——————————————————————— 1.Summary 2.Problems of the document 2.1inaccuracies 2.2errors 2.3missing information 3.Remarks concerning the structure of the document 4.Remarks concerning the review meeting (preparation of the participants, length of the meeting, points of emphasis) Slide from Topic 5

K. Schützler, Z. Budimac: Assignments in the JCSE 8 Discussion of solutions (1) Taken from:

K. Schützler, Z. Budimac: Assignments in the JCSE 9 Discussion of solutions (2)

K. Schützler, Z. Budimac: Assignments in the JCSE 10 Assignments in detail: Topic 6: Cost estimation  Apply Function Points method to case study “Seminar Organisation” Discover differences between theory and practice Learn how to deal with imprecise (verbal) requirements specifications

K. Schützler, Z. Budimac: Assignments in the JCSE 11 Assignments in detail: Topic 10: Structured analysis  Review product model of case study "Seminar Organization" Examine example Data Flow Diagrams and Data Dictionaries Discover advantages and disadvantages of Structured Analysis Again deal with imprecise (verbal) and additionally more precise (Semi-formal) documents

K. Schützler, Z. Budimac: Assignments in the JCSE 12 Assignments in detail: Topic 13: Object-oriented analysis  Derive a use case diagram and a class diagram from a problem description Understand (and read carefully) verbal documents of other authors Practice recognition of object oriented entities in texts Manage different point of views (text interpretations) between team members

K. Schützler, Z. Budimac: Assignments in the JCSE 13 Assignments in detail: Topic 14: Formal software specification  Formal specifcation techniques: Algebraic specification and specification with Z Retrieve a deeper understanding of lecture examples by modifying them Discover the preciseness of formal specifications Practice to think of all possible cases for the specified entities

K. Schützler, Z. Budimac: Assignments in the JCSE 14 Assignments in detail: Topic 19: Systematic testing  Apply regression testing tool ATOS to a small example programme Get to know the concept of regression tests Derive sensible test cases for undocumented software Understand the concept behind the tool

K. Schützler, Z. Budimac: Assignments in the JCSE 15 Assignments in detail: Topic 20: Functional testing  Build a classification tree for one business process of case study “Seminar Organisation” Practice classification tree method Use the method‘s standard tool (CTE: Classification Tree Editor) Again derive sensible test cases (but now from the requirements specification, not from a program)

K. Schützler, Z. Budimac: Assignments in the JCSE 16 Classification tree method (orig. developed by Daimler-Chrysler)  Steps in Classification Tree method: 1. Choose object i.e. procedure or sub-system; 2. Determine the input domain of the object; 3. Determine the aspects for testing; 4. Form classifications by partitioning the input domain into classes according to these aspects; 5. Repeat 3 and 4 as appropriate and form classification tree; 6. Form combination table from the tree; 7. Mark test cases and form a text version for generation of test sets; 8. Define test sets; 9. Derive expected output from the specification; 10. Perform test and evaluate output; 11. Check program coverage. Slide from Topic 20

K. Schützler, Z. Budimac: Assignments in the JCSE 17 Test object: computer vision system recognizing the size of different building blocks Input Domain Aspects ShapeColor Size classification class large Classification tree method: example Slide from Topic 20

K. Schützler, Z. Budimac: Assignments in the JCSE 18 Use Case (FP20): Booking: from registration to booking (1) Use case: booking: from registration to booking  Goal: registration notification and sending invoice to the client  Category: primary  Preconditions: -  Post condition success: client is notified  Post condition failure: notification to clients that presentation is fully booked, or does not exist, or a booking for the client has been already made  Actor: client manager, client, company  Triggering event: client registration is available Slide from Topic 5

K. Schützler, Z. Budimac: Assignments in the JCSE 19 Use Case (FP20): Booking: from registration to booking (2)  Description: (1)client data retrieval (1 complex function) (2)presentation verification (1 middle function) (3)booking undertaking (1 simple function) (4)registration notification and sending invoice (1 simple function) (5)sending invoice copy to the accounts department (1 simple function)  Extension: (1A) client data actualization (1B) when client is associate of the company, associated company data are updated and accessed (1C) invoice verification  Alternatives: (1A) inclusion of a new client (2A) when the presentation is fully booked, offer alternative one (2B) notification of "false presentation", if the presentation does not exist Slide from Topic 5

K. Schützler, Z. Budimac: Assignments in the JCSE 20 FP20: Booking CTE Assignment: Solution 1 not bookablebookable availableunavailable Alternative newold cancelled not existing fully booked already applied Reason PresentationCustomer

K. Schützler, Z. Budimac: Assignments in the JCSE 21 FP20: Booking CTE Assignment: Solution 2 noyes availableunavailable Alternative yesno cancelledbookable fully booked already applied State of presentation Presentation existsCustomer exists

K. Schützler, Z. Budimac: Assignments in the JCSE 22 FP20: Booking CTE Assignment: Solution 3 already applied not yet applied not yet known taking place cancelled not existing 0]0..max[max Current no. of participants availablenot available Alternative PresentationCustomer

K. Schützler, Z. Budimac: Assignments in the JCSE 23 Assignments in detail: Topic 21: Software Metrics  Play around with a software metrics tool Discuss metrics values concerning the measured objects Discover the idea of metrics as indicators Get some easy points (as a reward for bearing assignments so far...)

K. Schützler, Z. Budimac: Assignments in the JCSE 24 Conclusions  Students don‘t find assignments too motivating Especially reviews tend to be stressing Playing around with tools (more at the end of the course) gives more fun  They admit that practice isn‘t always that motivating either In fact practice stresses even more…  By now a small but good pool of assignments Assignments fit to the course Assignments give a taste of reality

K. Schützler, Z. Budimac: Assignments in the JCSE 25 Outlook  Bigger pool of assignments wanted To variate more from year to year To include other topics like configuration management, project management, …  All assignments mentioned in this presentation available in English versions To be found at the JCSE web-site  Discussions of sample solutions and other assignments will follow Also to be presented at the JCSE web-site