MSO Lecture 2. Wouter Swierstra (adapted by HP) September 14, 2017

Size: px
Start display at page:

Download "MSO Lecture 2. Wouter Swierstra (adapted by HP) September 14, 2017"

Transcription

1 1 MSO Lecture 2 Wouter Swierstra (adapted by HP) September 14, 2017

2 2 LABS No lab partner? Speed dating in front of the blackboard during the break.

3 3 LAST LECTURE Overview of course: object oriented analysis and design. Recap: remind you of some object oriented terminology: inheritance polymorphism abstract classes interfaces

4 4 THIS LECTURE How can I manage the process of constructing complex software? How do I know what the customer wants?

5 5 SCIENTIFIC PROCESS In areas such as physics, there are fixed methodologies for experiments and measurements. This translates into concrete processes for in engineering disciplines, such as architecture. But what about Computer Science?

6 WATERFALL MODEL (ROYCE, 1970) 6

7 7 CRITICISM ON THE WATERFALL MODEL Traditionally, the waterfall model aims to complete every phase before moving on to the next. Critics complain that the waterfall model is not robust against change: A client can change his mind halfway through the project; The money can run out; A design can prove costly too implement; Many of the [system s] details only become known to us as we progress in the [system s] implementation. Some of the things that we learn invalidate our design and we must backtrack. David Parnas

8 8 ALTERNATIVE SOFTWARE DEVELOPMENT PROCESSES The spiral model (Boehm, 1988); Rapid Application Development; The (Rational) Unified Process; Agile development; extreme Programming;.. and many others. All these methods aim for a more incremental or evolutionary approach to software construction.

9 9 ABOUT SOFTWARE DEVELOPMENT PROCESSES Managing software development is a hard problem. But choosing a methodology is a bit like choosing an operating system or text editor: Each system is slightly different. There is no clear winner. There are zealous advocates for each system. My advice: Learn to apply one methodology really well. Don t get stuck in a rut stay hungry! Always choose the right tool for the job. More about software development processes in Software Project

10 10 THE UNIFIED PROCESS In this course, I want to focus mostly on one methodology and how it meshes with the ideas of object orientation; I will focus on the Unified Process (Jacobson, Booch and Rumbaugh, 1999) It is one of the most popular philosophies used today,... but it is not as cool as the more recent Agile/Scrum methodologies. Although it can be adapted to work together with such other methodologies.

11 11 THE UNIFIED PROCESS The Unified Process emphasises iterative software development. Develop software in time-boxed mini-projects called iterations. Each iteration has clearly defined milestones, including a tested, integrated, executable system.

12 12 ITERATIVE DEVELOPMENT PHILOSOPHY The iterative lifecycle is based on the successive enlargement and refinement of a system though multiple iterations with feedback and adaptation. The system grows incrementally over time, iteration by iteration. The system may take many iterations to be production ready (or ready for deployment).

13 13 ITERATIVE DEVOLPMENT IMPLEMENTATION The output of an iteration is not (just) an experimental prototype but a production subset of the final system. Each iteration tackles new requirements and incrementally extends the system. An iteration may occasionally revisit existing software and improve it.

14 14 EMBRACING CHANGE Stakeholders usually have changing requirements. End users; Project management; Upper management; Implementors; Testers;... Each iteration involves choosing a small subset of the requirements and quickly design, implement and testing them. This leads to rapid feedback, and an opportunity to modify or adapt understanding of the requirements or design.

15 15 UNIFIED PROCESS PHASES UP defines four different phases, each split into multiple iterations: Inception Define the scope of the project Elaboration Plan the project, specify features, baseline architecture Construction Finish the construction Transition Hand over the project to end users Each phase overlaps with some elements of the waterfall model, but the balance between them shifts as time passes.

16 16

17 17 THE UNIFIED PROCESS: BEST PRACTICES Develop software iteratively involve users early! Manage requirements Use component-based architectures Visually model software (UML) Verify software quality test, code reviews, release in every iteration Embrace change

18 18 THE UNIFIED PROCESS Today: I ll try to give an overview of the UP but applying the UP to your own projects is your responsibility. This session is mostly focused on the first two stages of the UP: Inception and Elaboration.

19 INCEPTION 19

20 20 INCEPTION Envision the product scope, vision, and business case. Upon completion, the stakeholders have a basic agreement on the vision of the project and are able to decide whether to continue or not. It typically only lasts a few weeks.

21 21 INCEPTION: ARTIFACTS A vision document what is the general vision of the project? What are the key features and constraints? A initial list of use-cases how will end-users interact with the system? An initial project glossary what is some of the domain specific lingo? An initial business case how will we make money? An initial risk assessment what might go wrong? A project plan, showing phases and iterations how will we move forward? One or several prototype experiments.

22 22 WHAT INCEPTION IS AND IS NOT It s not about deciding how many weeks feature X will take to implement. You need a ballpark estimate: 1 month or 1 year? 1M or 10K euros?

23 23 WHAT INCEPTION IS AND IS NOT It s not about identifying every possible interaction that every imaginable user can have with your system. You want to have an idea of which people will end up using the system. You should have a few carefully thought out use cases.

24 24 WHAT INCEPTION IS AND IS NOT It s not about choosing the color of the icon, which GUI library to use, or which operating system to support. You do want to think about whether it will run on tablets, mobile phones, desktops, or in the cloud.

25 25 ABOUT RISK It can be very hard to identify where the risk lies in any project: Example: changing the limit on a creditcard. Example: restaurant matching website;

26 ELABORATION 26

27 27 ELABORATION: GOALS Analyze the problem domain, establish an architectural foundation, develop a project plan, and eliminate highest risks. You need to develop a mile high and inch deep view of the system; Now is the time to make architectural decisions. Build an executable architecture prototype, thereby eliminating critical risk, for the central use cases developed in the Inception phase. Note: you should start building a prototype early, even if the requirements have not been finalized yet.

28 28 ELABORATION: ARTIFACTS A use-case model describing how users will interact with the system; Supplementary requirements capturing the non-functional requirements; A Software Architecture Description. An executable architectural prototype. A revised risk list and a revised business case. A development plan for the overall project, including the coarse-grained project plan, showing iterations and evaluation criteria for each iteration.

29 29 ELABORATION OUTCOMES A stable vision of the software system and its architecture; Minimized the risks that could cause the project to fail if you choose to continue. Better estimates for project costs and planning.

30 CONSTRUCTION 30

31 31 CONSTRUCTION: GOALS The main goal of the construction phase is to develop and test a baseline product. Upon completion, there should be a clear description of the product status, together with user manuals. The tool should be ready to be deployed even if not all features are fully implemented.

32 TRANSITION 32

33 33 TRANSITION The transition aims to deliver the first version of the software to its users. Beta testing; Training of new users and maintainers; Operating in parallel with existing legacy systems; Conversion of data bases;... This process usually involves a lot of tuning, bug-fixing, processing enhancement requests, and implementing unfinished features.

34 34 TRANSITION: GOALS Enabling users to use your product; Achieving consensus with all stakeholders that the baseline product is complete; Iteratively refining the baseline until the final product is implemented.

35 35 WORKFLOWS UP identifies six distinct kinds of engineering activity : 1. Business modeling 2. Requirements 3. Analysis & Design 4. Implementation 5. Test 6. Deployment And three kinds of supporting activity: 1. Project Management workflow 2. Configuration and Change Management 3. Environment: development kit, tools for building and process control I want to focus on the first three engineering activities.

36 36 Business Modeling aims to document existing business processes to establish a common understanding between various stakeholders about how the organization works. Requirements Engineering aims to describe what the system should do, allowing customers and developers to agree on that description. Analysis and Design aims to describe how the system should be implemented, in accordance with the requirements it should satisfy.

37 37 REQUIREMENTS WHY? Software errors cost the American economy about $60 billion each year. 84% of all software projects are unsuccessful (late, over budget, cancelled, etc.) Three of the top reasons for failure: Poor user input 13% Incomplete requirements 12% Changing requirements 7% Requirements are really important!

38 38 STAKEHOLDERS AND CONCERNS Requiremenst should identify relevant stakeholders and concerns. A stakeholder is a person, group, or entity with an interest in or concerns about the realization of the architecture. A concern is a requirement, an objective, an intention, or an aspiration a stakeholder has for that system.

39 REQUIREMENTS 39

40 40 REQUIREMENTS DEFINITION A requirement is a feature that a system must have or a constraint it must satisfy to be accepted by the client. Requirements engineering is the process of identifying and defining the requirements of a software system. Requirements engineering is a cyclic process: 1. Elicitation 2. Specification (e.g. use cases, scenarios) 3. Validation and verification 4. Negotiation

41 41 REQUIREMENTS EXAMPLES Requirements come in all kinds of shapes and sizes: Functional features, capabilities Usability help, documentation Reliability frequency of failure, uptime, recoverability Performance response time, accuracy, throughput Supportability adaptibility, maintainability But also sub-factors such as: Implementation languages and tools, hardware Legal licensing Interface constraints arising from other systems

42 42 REQUIREMENTS HOW? Many customers have little technical skill. Or they may not even know what they want themselves. How can you figure out what they want? Eliciting clear requirements is not as easy as you may think... (Example from O Reilly s Head First Object-Oriented Analysis and Design).

43 43

44 44

45 45

46 46 EASY SPEC Push the button on the remote to open the door; Push the button on the remote to close the door.

47 47 INITIAL DESIGN DogDoor class method Open method Close method WaitForRemote Remote class tell the DogDoor to open and close knows when the button is pressed.

48 public class DogDoor { private boolean open; public DogDoor() { this.open = false; } public void open() { Console.WriteLine("The dog door opens."); open = true; } public void close() { Console.WriteLine("The dog door closes."); open = false; } } public boolean isopen() { return open; } 48

49 public class Remote { private DogDoor door; public Remote(DogDoor d) {... } } public pressbutton () { if door.isopen() { door.close() } else { door.open() } } 49

50 50 WHAT ELSE? This defines the core class files; (I m ignoring the interface to the door s hardware.) Perhaps we should write some tests?

51 public class DogDoorSimulator { public static void main(string[] args) { DogDoor door = new DogDoor(); Remote remote = new Remote(door); Console.WriteLine("Fido barks to go out."); remote.pressbutton(); Console.WriteLine("\nFido has gone."); remote.pressbutton(); Console.WriteLine("\nFido's all done."); remote.pressbutton(); } Console.WriteLine("\nFido's back inside."); remote.pressbutton(); 51

52 52 SO WE RE DONE! We ve talked to our customer to establish some requirements; We have implemented a system that satisfies these requirements; We ve tested that our system behaves as expected.

53 53

54 54 WHAT WENT WRONG? We implemented what we were asked; The hardware works; The software works; Our testsuite passes. Getting the requirements right is not just the customer s responsibility!

55 55

56 56 BUT WHAT IF... Question: What else could possibly go wrong?

57 57 BUT WHAT IF... Fido does not bark to go outside? Todd and Gina don t hear Fido barking? Fido is barking, but does not want to go outside? the door is closed before Fido returns? the door jams? the door closes as Fido is going outside?...

58 58 WHY THIS EXAMPLE IS IMPORTANT The implementation of the DogDoor is super simple it is essentially a single boolean. But figuring out what the customers want is really hard! How can we figure out what the customer wants?

59 59 FINDING REQUIREMENTS Elicitation talk to clients and end-users; gather existing documentation; observe how future users work now. But be careful: Customers can check bank balances but only their own! A grade above 6.0 is a pass but so is a 6.0! Every telephone number starts with an area code unless it s for a cell phone.

60 60 ELICITATION TECHNIQUES - I Asking: What do you expect from the system? Interview, brainstorm, questionnaire,... Task analysis: Which subtasks can you identify? How can you organize tasks into a hierarchy?

61 61 ELICITATION TECHNIQUES - II Scenario-based analysis How do you do Y? But what happens if...? Ethnography Actively observing users do their work May be more reliable than asking them.

62 62 ELICITATION TECHNIQUES - III Analyzing existing documents and systems What problems do the existing systems have? Prototyping is this what you had in mind? Domain analysis - how are other systems in this domain built?

63 63 WHAT MAKES A GOOD SET OF REQUIREMENTS? Correctness: it accurately captures the client s views Consistency: it does not contradict other requirements Completeness: all possible scenarios are accounted for Clarity: unambiguously formulated Realism: it can be implemented and delivered Verifiability: it can be (automatically) tested

64 64 EXAMPLES OF POOR REQUIREMENTS The system should be usable by elderly people.

65 65 EXAMPLES OF POOR REQUIREMENTS The system should be usable by elderly people. Not verifiable and unclear.

66 66 EXAMPLES OF POOR REQUIREMENTS The system should be usable by elderly people. Not verifiable and unclear. Better: All text should be in at least 14pt font.

67 67 EXAMPLES OF POOR REQUIREMENTS The system should be usable by elderly people. Not verifiable and unclear. Better: All text should be in at least 14pt font. Upon completion, the final product shall not have any errors.

68 68 EXAMPLES OF POOR REQUIREMENTS The system should be usable by elderly people. Not verifiable and unclear. Better: All text should be in at least 14pt font. Upon completion, the final product shall not have any errors. Not verifiable and not realistic.

69 69 EXAMPLES OF POOR REQUIREMENTS The system should be usable by elderly people. Not verifiable and unclear. Better: All text should be in at least 14pt font. Upon completion, the final product shall not have any errors. Not verifiable and not realistic. Better: give specific test criteria.

70 70 EXAMPLES OF POOR REQUIREMENTS The system should be usable by elderly people. Not verifiable and unclear. Better: All text should be in at least 14pt font. Upon completion, the final product shall not have any errors. Not verifiable and not realistic. Better: give specific test criteria. The product shall respond rapidly.

71 71 EXAMPLES OF POOR REQUIREMENTS The system should be usable by elderly people. Not verifiable and unclear. Better: All text should be in at least 14pt font. Upon completion, the final product shall not have any errors. Not verifiable and not realistic. Better: give specific test criteria. The product shall respond rapidly. Not verifiable and unclear.

72 72 EXAMPLES OF POOR REQUIREMENTS The system should be usable by elderly people. Not verifiable and unclear. Better: All text should be in at least 14pt font. Upon completion, the final product shall not have any errors. Not verifiable and not realistic. Better: give specific test criteria. The product shall respond rapidly. Not verifiable and unclear. Better: The system shall respond in less than 2s.

73 73 NOT ALL REQUIREMENTS ARE CREATED EQUALLY Everyone wants a system that is up 24/7, is easy to take down for maintainence, cheap to implement, immediately responsive, and that looks pretty. Trying to identify what is really important can save you a lot of development time down the road.

74 74 REQUIREMENTS ARE NOT A WISH LIST In the Software Project that CS students do in to complete their BSc, many students make the same mistake: Requirements are not a wish list Requirements are a contract for the minimal functionality that you can promise to deliver.

75 75 TRY DIFFERENT TECHNIQUES The more information you have, the better you understand the domain, the better you can write and prioritize your scenarios, the greater the chance of success.

76 76 SCENARIOS AND USE CASES One of the most popular way to establish (functional) requirements is through writing scenarios and use cases. These document the system s behaviour from the users point of view, in a way that customers can understand what the system does how does the system add value to the user? Use cases and scenarios are crucial if you want to agree on what the system does.

77 77 SCENARIOS: DEFINITION A narrative description of what people do and experience as they try to make use of computer systems and applications (M. Carroll, 1995)

78 78 SCENARIO: EXAMPLE Alice goes to the cash machine; She enters her card and PIN; She requests to see her bank balance and withdraws 20 euro. She takes her money, card and a printed receipt. Note that: This only describes a single transaction it does not capture all possible interactions or all possible outcomes. The actors involved may be people, systems, or even organizations.

79 79 USE CASES DEFINITION A use case is more general than a scenario. It documents an interaction between users and the system that yields an observable result or value. When writing use cases, many authors distinguish different levels: Brief a one paragraph summary of the main success scenario; Casual a few paragraphs that cover various scenarios; Full dressed a detailed account of all possible steps and variations, including entry conditions, exit conditions and special requirements.

80 80 USE CASES: BRIEF Bank Customers should be able to go to the ATM and withdraw money from their account. To do so succesfully, they start by identifying themselves using their PIN and bank card. After selecting the account from which they wish to withdraw money, the necessary information is transmitted to the bank. Once the bank verifies that there is sufficient money in the account, the money is dispensed, together with the bank card and a receipt.

81 81 USE CASES: CASUAL Give a brief account several different scenarios: What if the PIN number is wrong? What if the ATM is out of money? Or cannot dispense the requested amount? What if the user does not have enough money on his account?...

82 82 WHAT TO WRITE? A fully dressed use case consists of: A unique name Participating actors Entry conditions Flow of events Exit conditions Special requirements This general format was originally suggested by Alistair Cockburn and is used throughout Larman s Applying UML and Patterns.

83 83 EXAMPLE: WITHDRAWING MONEY 1 Brief Description This use case describes how the Bank Customer uses the ATM to withdraw money to his/her bank account. 2 Actors Bank Customer and Bank 3 Entry conditions There is an active network connection to the Bank. The ATM has cash available.

84 84 EXAMPLE BASIC FLOW OF EVENTS 1. Bank Customer inserts their Bank Card. 2. Use Case: Validate User is performed. 3. The ATM displays the different alternatives that are available on this unit. In this case the Bank Customer always selects Withdraw Cash. 4. Card ID, PIN, amount and account are sent to Bank as a transaction. The Bank Consortium replies with a go/no go reply telling if the transaction is ok. 5. The Bank Card is returned. 6. The money is dispensed. 7. The receipt is printed. 8. The use case ends successfully.

85 85 ALTERNATIVE FLOWS 1 Invalid User If in step 2 of the basic flow Bank Customer the use case: Validate User does not complete this successfully, then: 1. The use case ends with a failure condition. 2 Insufficient cash If in step 5 in the basic flow, the Bank Customer enters an amount that exceeds the amount of cash available in the ATM, then 1. The ATM will display a warning message, and ask the Bank Customer to reenter the amount. 2. The use case resumes at step 5.

86 86 3 No response from Bank If in step 6 of the basic there is no response from the Bank within 3 seconds, then 1. The ATM will re-try, up to three times. 2. If there is still no response from the Bank, the ATM shall display the message Network unavailable try again later. 3. The ATM shall return the card. 4. The ATM shall indicate that it is Closed. 5. The use case ends with a failure condition.... and lots more can go wrong

87 87 EXIT CONDITIONS 7 Post-conditions 7.1 Successful Completion The user has received their cash and the internal logs have been updated. 7.2 Failure Condition The logs have been updated accordingly. 8 Special Requirements [SpReq:WC-1] The ATM shall support localizations for all major European languages. [SpReq:WC-2] The ATM shall keep a log, including date and time, of all complete and incomplete transactions with the Bank.

88 88 USE CASES ADVICE Don t think about implementation or user interfaces; Do think about user experience. Keep the writing as simple as possible you re not writing a novel or academic textbook, but a piece of text that should be as unambiguous as possible.

89 89 USE CASES DIAGRAMS Sometimes it can be useful to visualize which actors interact during certain use cases. In that case, it can help to draw UML use case diagrams.

90 90 UML USE CASE EXAMPLE Withdraw Client

91 91 Web shop Client Process sale Authorization server VAT Calculator Change password

92 92 ELEMENTS OF UML USE CASE DIAGRAMS System Actor Use Case <uses> <extends>

93 93 DIAGRAMS Actors may be users, other stakeholders, or even software systems; You may want to organize actors or use cases into system boxes. You can re-use use cases using the <<uses>> arrows for instance, both cash withdrawal and changing your PIN code require some form of authentication. You may want to identify special cases of a given use case, using <<extends>> arrows for example, to distinguish Assign Window Seat and Assign Aisle Seat are both extensions of the Assign Seat use case.

94 94 Airline system Check in Customer Ticket clerk Book tickets

95 95 DETAILED VIEW Check in Assign aisle seat <uses> <uses> <extends> Weigh luggage Assign seat <extends> Assign corridor seat

96 96 REQUIREMENT VERIFICATION AND VALIDATION Requirements validation is concerned with checking the requirements document for consistency, completeness, and accuracy. Requirements verification is a mathematical analysis, possibly automated, of formal specifications for consistency

97 97 TECHNIQUES You need to interact with users and customers to validate your requirements. Reviews, checklists, discussion Prototypes Animations

98 98 REQUIREMENTS NEGOTIATION Usually, there are constraints that limit the functionality that can be delivered (time, money, resources,... ) Or there are conflicting requirements between different stakeholders. To establish a sensible set of requirements requires negotiation with your customer.

99 99 BACK TO UP EXAMPLE PLANNING Inception start with a two day workshop with all stakeholders aimed at inventorizing use cases, and writing a brief description of each one. Elaboration (first iteration) work out key use cases in greater detail and discuss these with the client. design high-risk architectural components start implementation. As iterations proceed, more use cases are developed, together with the prototype system. There are regular checks with the customer to check that they agree with existing requirements and the prototype system.

100 100 THIS LECTURE How can I manage the process of constructing complex software? Use the Rational Unified Process, or any other software development process. How do I know what the customer wants? Write use cases and requirements documents.

101 101 UP VS AGILE The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

102 AGILE SOFTWARE DEVELOPMENT WITH SCRUM 102

103 103 MATERIAL COVERED Rational Unified Process Whitepaper available on the MSO website. Craig Larman. Applying UML and Patterns. Pearson Education Chapters 1 7.

104 104 LAB EXERCISE Write a requirements document for the Submit System that allows students to submit their code to the University servers. Study relevant sections of Larman s Applying UML and patterns. Identify actors and stakeholders involved; Identify key use cases and giving a casual description; Write a fully-dressed specification for the Submit use case; Write non-functional requirements in a Supplementary Specification. All lab assignments should be done in pairs.

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Requirements Engineering Docente: Vito Morreale (vito.morreale@eng.it) 17 October 2006 1 UP Phases 1. Inception

More information

Requirements Analysis. Overview

Requirements Analysis. Overview Requirements Analysis Overview What is requirement? Classification of requirements Iterative and evolutionary requirements analysis Use Cases Domain models N. Meng, B. Ryder 2 1 Requirements Definition

More information

Software Development Methodologies. CSC 440: Software Engineering Slide #1

Software Development Methodologies. CSC 440: Software Engineering Slide #1 Software Development Methodologies CSC 440: Software Engineering Slide #1 Topics 1. The Waterfall Model 2. Agile Software Development 3. The Unified Process 4. Object-Oriented Analysis and Design 5. The

More information

Inception. Describe the vision and business case for this project. Determine if the enterprise should build or buy the necessary system.

Inception. Describe the vision and business case for this project. Determine if the enterprise should build or buy the necessary system. Inception What needs to be done? Describe the vision and business case for this project. Determine if the project is feasible. Determine if the enterprise should build or buy the necessary system. Make

More information

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014 Introduction to Software Life Cycles and Agile CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014 1 Goals Present an introduction to the topic of software life cycles concepts and terminology

More information

Requirements Analysis

Requirements Analysis Objectives Classify categories of requirements Requirements Analysis Define the principles of iterative requirements analysis Learn about use cases and their elements Define system sequence diagrams for

More information

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016 Introduction to Software Life Cycles CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016 1 Goals Present an introduction to the topic of software life cycles concepts and terminology benefits

More information

Software development activities

Software development activities Software development activities l Note activities not steps l l Often happening simultaneously Not necessarily discrete 1. Planning: mostly study the requirements 2. Domain analysis: study the problem

More information

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information

Software Engineering Lecture 5 Agile Software Development

Software Engineering Lecture 5 Agile Software Development Software Engineering Lecture 5 Agile Software Development JJCAO Mostly based on the presentation of Software Engineering, 9ed Exercise Describe the main activities in the software design process and the

More information

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016 Introduction to Agile Life Cycles CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016 1 Goals Introduction to Agile Life Cycles The Agile Manifesto and Agile Principles Agile Life Cycles

More information

The Top Thrill Dragster

The Top Thrill Dragster EEC 421/521: Software Engineering The Software Process Prescriptive Process Models 1/22/08 EEC 421/521: Software Engineering 1 The Top Thrill Dragster 420 ft tall Max speed over 120 mph World s second

More information

Chapter 4 Requirements Elicitation

Chapter 4 Requirements Elicitation Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 4 Requirements Elicitation Outline Today: Motivation: Software Lifecycle Requirements elicitation challenges Problem statement

More information

Software Life Cycle. Main Topics. Introduction

Software Life Cycle. Main Topics. Introduction Software Life Cycle Main Topics Study the different life cycle models Study the difference between software maintenance and evolution Study product line engineering as a design methodology 2 Introduction

More information

Requirements Engineering. Andreas Zeller Saarland University

Requirements Engineering. Andreas Zeller Saarland University Requirements Engineering Software Engineering Andreas Zeller Saarland University Communication project initiation requirements gathering Planning estimating scheduling tracking Waterfall Model (1968) Modeling

More information

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at www.ijarcs.info A Study of Software Development Life Cycle Process Models

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering 2. Requirements Collection Mircea F. Lungu Based on a lecture by Oscar Nierstrasz. Roadmap > The Requirements Engineering Process > Functional and non-functional requirements

More information

Introduction to Software Engineering

Introduction to Software Engineering UNIT I SOFTWARE PROCESS Introduction S/W Engineering Paradigm life cycle models (water fall, incremental, spiral, WINWIN spiral, evolutionary, prototyping, objects oriented) -system engineering computer

More information

Requirements Elicitation

Requirements Elicitation Requirements Elicitation Software Engineering I Lecture 4 14. November 2006 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline Motivation Requirements elicitation challenges

More information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 11/05/2014 Student Registration System (SRS) RC University Management Board approved a new Student Registration

More information

What are requirements? Basics of Requirement Engineering. Definition of a Stakeholder. Stated Vs. Real Requirements. Stated Vs.

What are requirements? Basics of Requirement Engineering. Definition of a Stakeholder. Stated Vs. Real Requirements. Stated Vs. What are requirements? Basics of Requirement Engineering Muzaffar Iqbal Farooqi A requirement is a necessary attribute in a system, a statement that identifies a capability, characteristic, or quality

More information

[Name] [ ID] [Contact Number]

[Name] [ ID] [Contact Number] [Name] [Email ID] [Contact Number] THIS IS ONLY MODEL RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. PROFILE SUMMARY 15+ years of IT experience in Consulting and worked with the Major clients for the

More information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 09/17/2014 What is next Deliverable? Due: 09/19/2014 1. Problem Statement with Shall statements 2. RTM (4

More information

The Basic Waterfall Model. Software Process Models. Concurrent Development. (Concurrent Development) The Agile Critique of the Waterfall

The Basic Waterfall Model. Software Process Models. Concurrent Development. (Concurrent Development) The Agile Critique of the Waterfall Software Process Models Critique & Defense of the Waterfall Issues in Waterfall Models concurrent development phase transitions and overlap Issues in Evolutionary Models incremental vs. iterative models

More information

Use cases. Version November 2016

Use cases. Version November 2016 Use cases Version 2.7.2 November 2016 Maurizio Morisio, Marco Torchiano, 2016 Requirements Document 1. Purpose and scope 2. Glossary 3. The use cases 4. The technology to be used 5. Other various requirements

More information

Object-Oriented Analysis/Design and Use Cases Object Oriented Analysis and Design

Object-Oriented Analysis/Design and Use Cases Object Oriented Analysis and Design Object-Oriented Analysis/Design and Use Cases Object Oriented Analysis and Design Aron Trauring T++ Technical Skills Training Program CUNY Institute for Software Design & Development (CISDD) New York Software

More information

status Homework 2 posted: https://people.cs.umass.edu/~rjust/courses/2017fall/cs520/hw2.pdf

status Homework 2 posted: https://people.cs.umass.edu/~rjust/courses/2017fall/cs520/hw2.pdf Requirements status Everyone s working hard on projects Project progress meetings: November 9 Tomorrow (Oct 27), 9 AM, you will receive an email for signing up for meeting slots Homework 2 posted: https://people.cs.umass.edu/~rjust/courses/2017fall/cs520/hw2.pdf

More information

Object-Oriented Analysis and Design PART1: ANALYSIS

Object-Oriented Analysis and Design PART1: ANALYSIS Object-Oriented Analysis and Design PART: ANALYSIS Textbook Text: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Craig Larman, ISBN: 03 48

More information

Sample Exam ISTQB Agile Foundation Questions. Exam Prepared By

Sample Exam ISTQB Agile Foundation Questions. Exam Prepared By Sample Exam ISTQB Agile Foundation Questions Exam Prepared By November 2016 1 #1 Which of the following is the correct pairing according to the Agile Manifesto statement of values? a. Individuals and Interactions

More information

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis Modelling and Systems Development Lecture 2 The Systems Development Lifecycle The four-phase model common to all system development projects Major attributes of the Lifecycle The project Moves systematically

More information

SUSE Unified Delivery Process

SUSE Unified Delivery Process Guide www.suse.com SUSE Unified Delivery Process What Is the SUSE Unified Delivery Process? The SUSE Unified Delivery Process is a solution delivery process based on the IBM* Rational Unified Process*

More information

SYSTEM AND SOFTWARE DESIGN USING THE UNIFIED MODELING LANGUAGE (UML)

SYSTEM AND SOFTWARE DESIGN USING THE UNIFIED MODELING LANGUAGE (UML) Michael Weintraub And Frank Tip SYSTEM AND SOFTWARE DESIGN USING THE UNIFIED MODELING LANGUAGE (UML) Thanks go to Martin Schedlbauer and to Andreas Zeller for allowing incorporation of their materials

More information

Chapter 3 Software Process Model

Chapter 3 Software Process Model Usman Akram COMSATS Institute of information Technology lahore musmanakram@ciitlahore.edu.pk March 8, 2015 About software process model Outline 1 About software process model Build and Fix Model Why Models

More information

Requirements Engineering and Agile Methodology

Requirements Engineering and Agile Methodology Requirements Engineering and Agile Methodology R. Kuehl/J. Scott Hawker p. 1 Requirements Engineering and Agile Processes (You may be thinking) Requirements engineering model as presented is not very agile

More information

Agile Tutorial for the Senior Project Class School of Computing and Information Sciences Florida International University

Agile Tutorial for the Senior Project Class School of Computing and Information Sciences Florida International University Agile Tutorial for the Senior Project Class School of Computing and Information Sciences Florida International University What is Agile? In simple terms, Agile is a collection of ideas to guide both the

More information

Requirements Engineering Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 1

Requirements Engineering Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 7 Slide 1 Objectives To describe the principal requirements engineering activities and their relationships

More information

An Oracle White Paper February Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions

An Oracle White Paper February Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions An Oracle White Paper February 2014 Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions Executive Overview... 1 Introduction... 1 Standards Based...

More information

A New Divide & Conquer Software Process Model

A New Divide & Conquer Software Process Model A New Divide & Conquer Software Process Model First A. Hina Gull, Second B. Farooque Azam Third C. Wasi Haider Butt, Fourth D. Sardar Zafar Iqbal Abstract The software system goes through a number of stages

More information

Requirements Basics. CSCE Lecture 4-09/02/2015

Requirements Basics. CSCE Lecture 4-09/02/2015 Requirements Basics CSCE 740 - Lecture 4-09/02/2015 This Week s Goals Understand the requirements problem Why are requirements so important? Get a feel for the structure of a requirements document What

More information

Requirements Engineering and Software Architecture Project Description

Requirements Engineering and Software Architecture Project Description Requirements Engineering and Software Architecture Project Description Requirements Engineering Project Description This project is student-driven. There will be external sponsors, users, and others that

More information

CSE320 :: Gurbakash Phonsa: Assistant Professor : CSE. Software Engineering

CSE320 :: Gurbakash Phonsa: Assistant Professor : CSE. Software Engineering Software Engineering Course details LTP 3 0 0 [Three lectures/week] Text Book FUNDAMENTALS OF SOFTWARE ENGINEERING by RAJIB MALL, PHI (PRETICE HALL INDIA), Course Assessment Model Marks break up* Attendance

More information

18-642: Software Development Processes

18-642: Software Development Processes 18-642: Software Development Processes 9/6/2017 Without requirements and design, programming is the art of adding bugs to an empty text file. Louis Srygley Coding Is Essentially 0% of Creating Software

More information

Requirements Engineering

Requirements Engineering Requirements Engineering Professor Ray Welland Department of Computing Science University of Glasgow E-mail: ray@dcs.gla.ac.uk The Importance of Requirements Identifying (some) requirements is the starting

More information

The Unified Software Development Process

The Unified Software Development Process The Unified Software Development Process Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation TT ADDISON-WESLEY An Imprint of Addison Wesiey Longman, Inc. Reading, Massachusetts Harlow,

More information

Introduction to Systems Analysis and Design

Introduction to Systems Analysis and Design Introduction to Systems Analysis and Design What is a System? A system is a set of interrelated components that function together to achieve a common goal. The components of a system are called subsystems.

More information

03. Perspective Process Models

03. Perspective Process Models 03. Perspective Process Models Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Prescriptive Process Models advocates an orderly approach to software

More information

Requirements Use Cases

Requirements Use Cases Requirements Engineering Requirements Use Cases Software Lifecycle Activities Requirements Analysis Software Design Implementation System Engineering Computer Science Department Baylor University Evolution

More information

AGILE SOLUTIONS. Agile Basics

AGILE SOLUTIONS. Agile Basics AGILE SOLUTIONS Agile Basics info@one80services.com one80services.com AGILE SOLUTIONS Agile Basics Table of Contents 2 Who We Are 3 What Is Agile? 4 Agile Values 5 Agile Principles 6 Agile Development

More information

Scrum, Creating Great Products & Critical Systems

Scrum, Creating Great Products & Critical Systems Scrum, Creating Great Products & Critical Systems What to Worry About, What s Missing, How to Fix it Neil Potter The Process Group neil@processgroup.com processgroup.com Version 1.2 1 Agenda Scrum / Agile

More information

TOGAF 9.1 in Pictures

TOGAF 9.1 in Pictures TOGAF 9. in Pictures The TOGAF ADM Cycle Stage Set up an EA team and make sure it can do its work The ADM is about understanding existing architectures and working out the best way to change and improve

More information

Contents OVERVIEW... 3

Contents OVERVIEW... 3 Contents OVERVIEW... 3 Feature Summary... 3 CONFIGURATION... 4 System Requirements... 4 ConnectWise Manage Configuration... 4 Configuration of Manage Login... 4 Configuration of GL Accounts... 5 Configuration

More information

Introduction to Agile and Scrum

Introduction to Agile and Scrum Introduction to Agile and Scrum Matthew Renze @matthewrenze COMS 309 - Software Development Practices Purpose Intro to Agile and Scrum Prepare you for the industry Questions and answers Overview Intro

More information

Information Systems RE Business Process and Data Analysis (cont d) + Use Case Analysis

Information Systems RE Business Process and Data Analysis (cont d) + Use Case Analysis REQUIREMENTS ENGINEERING LECTURE 2016/2017 Dr. Joerg Doerr Information Systems RE Business Process and Data Analysis (cont d) + Use Case Analysis AGENDA Basics Context Analysis Business Process & Data

More information

A SDLC Software Development Lifecycle It s a set of tools, artifacts, and work practices an organization uses to create software.

A SDLC Software Development Lifecycle It s a set of tools, artifacts, and work practices an organization uses to create software. 1 A SDLC Software Development Lifecycle It s a set of tools, artifacts, and work practices an organization uses to create software. That SDLC is integrated into a workflow process within the organization

More information

Agile Plus Comprehensive model for Software Development

Agile Plus Comprehensive model for Software Development Agile Plus Comprehensive model for Software Development Amit Juyal Umesh Kumar Tiwari Lata Nautiyal Shashidhar G. Koolagudi Assistant Professor Assistant Professor Assistant Professor Professor Graphic

More information

D25-4. How Intertech Uses Agile

D25-4. How Intertech Uses Agile D25-4 How Intertech Uses Agile How to Use this Download This document shares an overview of how we use Agile/Scrum to deliver successful projects, the major differences between a waterfall/fixed bid project

More information

SWE 211 Software Processes

SWE 211 Software Processes SWE 211 Software Processes These slides are designed and adapted from slides provided by Software Engineering 9 /e Addison Wesley 2011 by Ian Sommerville 1 Outlines Software process models Process activities

More information

Seven Ways to Create an Unbeatable Enterprise Mobility Strategy

Seven Ways to Create an Unbeatable Enterprise Mobility Strategy Seven Ways to Create an Unbeatable Enterprise Mobility Strategy A practical guide to what business and IT leaders need to do NOW to manage their business s mobile future By Arun Bhattacharya, CA Technologies

More information

What is Continuous Integration. And how do I get there

What is Continuous Integration. And how do I get there What is Continuous Integration And how do I get there Related Workshops Introduction to DevOps Transform your Organization with DevOps Concepts DevOps Implementation Boot Camp Comprehensive literacy on

More information

Case Study: How to Eliminate Flaws of Waterfall and Agile Development Processes Using a Hybrid Model

Case Study: How to Eliminate Flaws of Waterfall and Agile Development Processes Using a Hybrid Model Case Study: How to Eliminate Flaws of Waterfall and Agile Development Processes Using a Hybrid Model Agile Waterfall Hybrid Model The Waterfall Model has been the ideal choice for software development.

More information

Use Cases and User Stories for Agile Requirements

Use Cases and User Stories for Agile Requirements Use Cases and User Stories for Agile Peter Schmidt, PMP, PMI-ACP, CPL VP, Client Services, ESI International pschmidt@esi-intl.com www.esi-intl.com Agenda 1 2 3 Principles Identify the principles that

More information

Question 2: Requirements Engineering. Part a. Answer: Requirements Engineering Process

Question 2: Requirements Engineering. Part a. Answer: Requirements Engineering Process Question 2: Requirements Engineering Part a. Answer: Requirements Engineering Process The requirements engineering process varies from domain to domain. But the general activities involved are: Elicitation

More information

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1 Lectures 2 & 3 Software Processes Software Engineering, COMP201 Slide 1 What is a Process? When we provide a service or create a product we always follow a sequence of steps to accomplish a set of tasks

More information

THE PURPOSE OF TESTING

THE PURPOSE OF TESTING Chapter 6 THE PURPOSE OF TESTING Context-Driven Overview of Quadrants Tests That Support the Team Tests That Critique the Product Quadrant Intro Purpose of Testing Managing Technical Debt Knowing When

More information

SDLC Models- A Survey

SDLC Models- A Survey Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 1, January 2013,

More information

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping. i About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give

More information

Chapter 1 Systems Development in an Organization Context

Chapter 1 Systems Development in an Organization Context Systems Development in an Organization Context Learning Objectives Define information systems analysis and design. Describe the information Systems Development Life Cycle (SDLC). Explain Rapid Application

More information

Software Development Life Cycle:

Software Development Life Cycle: Software Development Life Cycle: The systems development life cycle (SDLC), also referred to as the application development life-cycle, is a term used in systems engineering, information systems and software

More information

10 Key Components for a Winning Candidate Experience

10 Key Components for a Winning Candidate Experience White Paper 10 Key Components for a Winning Candidate Experience What is the Candidate Experience? According to Gallup, 70% of U.S. workers are disengaged. Given that statistic, it only seems logical that

More information

Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 10. * Construction, Installation and Operations * Agile Method Software Development

Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 10. * Construction, Installation and Operations * Agile Method Software Development Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 10 * Construction, Installation and Operations * Agile Method Software Development Construction Construction is the development of all parts of the system,

More information

Advantages and Disadvantages of. Independent Tests. Advantages. Disadvantages

Advantages and Disadvantages of. Independent Tests. Advantages. Disadvantages 8.0 Test Management Outline 8.1 Test organisation 8.2 Test planning and estimation 8.3 Test program monitoring and control 8.4 Configuration management 8.5 Risk and testing 8.6 Summary Independent Testing

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 3.1 Object-Oriented and Classical Software Engineering Seventh Edition, WCB/McGraw-Hill, 2007 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 3 Slide 3.2 THE SOFTWARE PROCESS Overview Slide 3.3

More information

Project Plan Version 1.0

Project Plan Version 1.0 Project Plan Version 1.0 1. Individual tasks breakdown 1.1 Inception phase The inception phase would involve development of a prototype that would display the feasibility of the project and also give an

More information

Selecting Software Development Life Cycles. Adapted from Chapter 4, Futrell

Selecting Software Development Life Cycles. Adapted from Chapter 4, Futrell Selecting Software Development Life Cycles Adapted from Chapter 4, Futrell Examples of Software Life Cycle Models Classical Waterfall Waterfall with feedback V-Shaped Prototyping Incremental Spiral Rapid

More information

Project Report Template (Sem 1)

Project Report Template (Sem 1) 1. Introduction & Problem Statement Project Report Template (Sem 1)

More information

Nigel Beacham Department of Computing Science L4 REQUIREMENTS DURING INCEPTION (CS5037 SYSTEMS ANALYSIS AND DESIGN)

Nigel Beacham Department of Computing Science L4 REQUIREMENTS DURING INCEPTION (CS5037 SYSTEMS ANALYSIS AND DESIGN) Nigel Beacham Department of Computing Science L4 REQUIREMENTS DURING INCEPTION (CS5037 SYSTEMS ANALYSIS AND DESIGN) WHERE ARE WE NOW? Software development paradigms The Unified Process (UP) paradigm UP

More information

OPENEDGE BPM OVERVIEW

OPENEDGE BPM OVERVIEW OPENEDGE BPM OVERVIEW Fellow and OpenEdge Evangelist Document Version 1.0 July 2011 July, 2011 Page 1 of 11 DISCLAIMER Certain portions of this document contain information about Progress Software Corporation

More information

FREQUENTLY ASKED QUESTIONS

FREQUENTLY ASKED QUESTIONS Borland CaliberRM FREQUENTLY ASKED QUESTIONS GENERAL QUESTIONS What is Borland Caliber? Borland Caliber is a family of tools that supports the Borland Requirements Definition and Management Solution (RDM).

More information

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3. Slide 3.1 CHAPTER 3 Slide 3.2 Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach Overview Slide 3.3 Overview (contd) Slide 3.4

More information

Communicate and Collaborate with Visual Studio Team System 2008

Communicate and Collaborate with Visual Studio Team System 2008 Communicate and Collaborate with Visual Studio Team System 2008 White Paper May 2008 For the latest information, please see www.microsoft.com/teamsystem This is a preliminary document and may be changed

More information

Introduction to Agile/Extreme Programming

Introduction to Agile/Extreme Programming Introduction to Agile/Extreme Programming Matt Ganis, Senior Technical Staff Member (Certified Scrum Master) IBM Hawthorne, New York ganis@us.ibm.com August 2007 Session 8061 Current slides at: http://webpage.pace.edu/mganis

More information

Passit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2

Passit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2 Passit4Sure.OG0-093.221Questions Number: OG0-093 Passing Score: 800 Time Limit: 120 min File Version: 7.1 TOGAF 9 Combined Part 1 and Part 2 One of the great thing about pass4sure is that is saves our

More information

AGILE methodology- Scrum

AGILE methodology- Scrum AGILE methodology- Scrum What is Agile? This is one of the biggest buzzwords in the IT industry these days. But, what exactly is agile? The Agile model provides alternatives to traditional project management.

More information

CHAPTER 2: IMPLEMENTATION PHASES AND OFFERINGS

CHAPTER 2: IMPLEMENTATION PHASES AND OFFERINGS CHAPTER 2: IMPLEMENTATION PHASES AND OFFERINGS Objectives Introduction The objectives are: Describe the purpose of the phase planning activity, preconditions, and deliverables in the implementation methodology.

More information

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects Lifecycle of Software Projects ECE450 Software Engineering II Lifecycle models are useful to compare project management strategies in abstract terms Birds-eye view strategy Detect strengths and weaknesses...

More information

True stories about testing based on experiences

True stories about testing based on experiences True stories about testing based on experiences University of Antwerp Patrice Willemot Pre sales test consultant Petra Haldermans - Test Consultant / Test Manager 27/04/2011 CTG - Company overview Corporate

More information

Smart Inventory Management System

Smart Inventory Management System Governors State University OPUS Open Portal to University Scholarship All Capstone Projects Student Capstone Projects Fall 2015 Smart Inventory Management System Ajay Akarapu Governors State University

More information

software development lifecycle (sdlc) models & agile methods

software development lifecycle (sdlc) models & agile methods software development lifecycle (sdlc) models & agile methods sdlc how did that happen? by analogy with civil engineering, where you design first, then do construction in software, there is no construction

More information

System Sequence Diagrams. CSC 440: Software Engineering Slide #1

System Sequence Diagrams. CSC 440: Software Engineering Slide #1 System Sequence Diagrams CSC 440: Software Engineering Slide #1 Topics 1. Objectives 2. What is a SSD? 3. Notation 4. SSDs and Use Cases CSC 440: Software Engineering Slide #2 What is a SSD? A quick and

More information

Is Mobile POS Right for Your Enterprise? A RETAIL PRO WHITEPAPER

Is Mobile POS Right for Your Enterprise? A RETAIL PRO WHITEPAPER Is Mobile POS Right for Your Enterprise? A RETAIL PRO WHITEPAPER Contents Is Mobile POS Right for Your Enterprise? 4 Questions to Consider Before Adopting Mobile POS What Do I Want to Accomplish in My

More information

Analyze, Design, and Develop Applications

Analyze, Design, and Develop Applications Analyze, Design, and Develop Applications On Demand Insurance Problems 1. We lose customers because we process new policy applications too slowly. 2. Our claims processing is time-consuming and inefficient.

More information

Enterprise Architecture: an ideal discipline for use in Supply Chain Management

Enterprise Architecture: an ideal discipline for use in Supply Chain Management Enterprise Architecture: an ideal discipline for use in Supply Chain Management Richard Freggi Senior Supply Chain Architect (TOGAF 9.1 certified level 2) HP Inc. Content Understanding Supply Chain Management

More information

1) Introduction to Information Systems

1) Introduction to Information Systems 1) Introduction to Information Systems a) System: A set of related components, which can process input to produce a certain output. b) Information System (IS): A combination of hardware, software and telecommunication

More information

Digital Industries Apprenticeship: Occupational Brief. Software Tester. March 2016

Digital Industries Apprenticeship: Occupational Brief. Software Tester. March 2016 Digital Industries Apprenticeship: Occupational Brief Software Tester March 2016 1 Digital Industries Apprenticeships: Occupational Brief Level 4 Software Tester Apprenticeship Minimum Standards and Grading

More information

Lecture 4: User and Task Analysis. February 3

Lecture 4: User and Task Analysis. February 3 Lecture 4: User and Task Analysis February 3 1 Recap UCD Three principles: 1. Early focus on users and tasks 2. Iterative design with prototypes 3. Empirical measurement on prototypes 2 TV for the food

More information

Our Online Assessment experts have responded to the most frequently asked questions concerning Online Assessment.

Our Online Assessment experts have responded to the most frequently asked questions concerning Online Assessment. All you need to know about taking part in an Online Assessment Have you been invited to take part in an Online Assessment? Are you wondering what it s like to complete an ability test or a personality

More information

Chapter. Redesigning The Organization With Information Systems

Chapter. Redesigning The Organization With Information Systems Chapter Redesigning The Organization With Information Systems 1 Objectives Demonstrate how building new systems produces organizational change Explain how a company can develop information systems that

More information

Scrum. Software Engineering and. The Waterfall model. The Waterfall model - some arguments. The Waterfall model - some arguments. Time.

Scrum. Software Engineering and. The Waterfall model. The Waterfall model - some arguments. The Waterfall model - some arguments. Time. Software Engineering and Scrum autumn 2010 Department of Computer and Information Science Linköping University, Sweden The Waterfall model Requirements One of the first life-cycle models (Royce, 1970)

More information

Introducing Resilient Agile A Better Agile Methodology 5 Easy Steps to Make Agile Development Work Better for You

Introducing Resilient Agile A Better Agile Methodology 5 Easy Steps to Make Agile Development Work Better for You Introducing Resilient Agile A Better Agile Methodology 5 Easy Steps to Make Agile Development Work Better for You Doug Rosenberg ICONIX Overview Your organization is committed to Agile, Scrum and TDD.

More information