NAME: (Please PRINT) -------------------- CEN 5035 - Software Engineering -------------------



Similar documents
IT3205: Fundamentals of Software Engineering (Compulsory)

Course Overview CEN 5035 Software Engineering

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Project management. Organizing, planning and scheduling software projects

Organizing, planning and scheduling software projects

Distributed Systems Architectures

Software Engineering 1

Project management. Organizing, planning and scheduling software projects. Objectives. Chapter 3. Chapter 3 Project Management. Learning Objective

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring For the 1 st Quiz

1) Testing of general knowledge 25%. Each right question counts 1. Each wrong counts 0.5. Empty

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

System types. Distributed systems

Project management. Objectives. Topics covered. Organizing, planning and scheduling software projects DISCUSSION

How To Understand Software Engineering

Project management. Organising, planning and scheduling software projects. Ian Sommerville 2000 Software Engineering, 6th edition.

2. Analysis, Design and Implementation

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

6 Contracts and Scenarios in the Software Development Process

(Refer Slide Time: 01:52)

Introduction to Software Engineering. 9. Project Management

CS 791Z Graduate Topics on Software Engineering

Module 17. Client-Server Software Development. Version 2 CSE IIT, Kharagpur

2. Analysis, Design and Implementation

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

Software Engineering

CS4507 Advanced Software Engineering

SWX: The Software Extension to the PMBOK Guide for Project Management

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)

software studio software development processes Daniel Jackson

Project management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 5 Slide 1

I219 Software Design Methodology

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

General Problem Solving Model. Software Development Methodology. Chapter 2A

A Comparison between Five Models of Software Engineering

Post-Class Quiz: Software Development Security Domain

WHY THE WATERFALL MODEL DOESN T WORK

Software Life Cycle Models

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Software Engineering. Project Management. Based on Software Engineering, 7 th Edition by Ian Sommerville

UML TUTORIALS THE USE CASE MODEL

Karunya University Dept. of Information Technology

Scheduling. Anne Banks Pidduck Adapted from John Musser

Software Engineering I (02161)

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI.

Introduction to Software Engineering (ESE : Einführung in SE)

Chapter 4 Software Lifecycle and Performance Analysis

Mastering Microsoft Project 2013

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Middleware. Chapter 8: Middleware

Mastering Microsoft Project 2013 Course: 55054A Course Length: 3 Days

4. Software Project Management

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

Models of Software Development

ASSESSMENT OF SOFTWARE PROCESS MODELS

Chapter 3 Managing the Information Systems (IS) Project

COMP 354 Introduction to Software Engineering

How To Manage Project Management

1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

CS 121 Midterm Exam Fall 12 CLOSED BOOK THE RULES - PLEASE READ CAREFULLY

Requirements Analysis (RA): An Analytical Approach for Selecting a Software Process Models ABSTRACT

Umbrella: A New Component-Based Software Development Model

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

IV. Software Lifecycles

27 Formal Specification

Chakra Vs Spiral Model - A Practical Approach

Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD

A Comparison Between Five Models Of Software Engineering

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Software Process Models. Xin Feng

Lifecycle Models: Waterfall / Spiral / EVO

How To Understand The Software Process

Software Engineering. What is a system?

Chapter 2 Software Processes

A Meeting Room Scheduling Problem

Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

BCN 4612 Estimating II - Semester Course Outline Course Syllabus

An Assessment between Software Development Life Cycle Models of Software Engineering

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Process Models and Metrics

SWEBOK Certification Program. Software Engineering Management

3F6 - Software Engineering and Design. Handout 15 Software Management I With Markup. Steve Young

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

A Rapid Development Process with UML

Organising, planning and scheduling software projects. Software management distinctions

What is a life cycle model?

Unit 1 Learning Objectives

Software Project Models

Transcription:

NAME: (Please PRINT) -------------------- CEN 5035 - Software Engineering ------------------- Quiz 1 -- Spring 2007 You have 50 minutes to work on this closed-book/closed-notes test. Please pay attention to point values since you may not have time to complete all 20 problems. PLEASE PRINT ALL ANSWERS IN THE SPACE PROVIDED ONLY. Print your name above NOW and sign the pledge at the end of the test WHEN YOU FINISH. 1. (2 pts.) Sommerville identifies three key challenges facing software engineering today: Heterogeneity, Delivery, and Trust. Briefly describe what he means by the delivery challenge. 2. (3 pts.) Sommerville notes that the Waterfall model s major problem is its inflexible partitioning of a project into distinct stages. What does he claim the models advantages are? 3. (4 pts.) Sommerville describes two problems that the evolutionary development approach has from an engineering and management perspective. What are they? 4. (6 pts.) Briefly describe the distinguishing characteristics of Boehm s spiral development model.

2 5. (6 pts.) Fred Brooks, author of The Mythical Man-Month, argues that adding people to a late software project can actually make it later. Graphically depict the general relationship one would expect to see between the number of PEOPLE working vs. calendar TIME for (a) perfectly partitionable tasks (i.e., tasks that can be partitioned with no additional cost or overhead), (b) tasks that are not partitionable, and (c) software development projects. a. perfectly partitionable b. not partitionable c. software development more more more T I M E T I M E T I M E less less less few PEOPLE many few PEOPLE many few PEOPLE many 6. a. (6 pts.) Develop an activity network for the following tasks, durations (in days), and dependencies: (Do NOT include milestones in your network.) Tasks Duration Dependencies ----- -------- ------------ T1 4 T2 1 T1 T3 2 T1 T4 7 T5 2 T2, T4 T6 4 T3, T4 (start) (finish) b. (3 pts.) What is the "critical path" for this network? c. (6 pts.) How many days can the following tasks be delayed without causing an overall project schedule slippage? T2: T3: T6:

3 7. (2 pts.) As discussed in class, one of the reasons why requirements engineering is so hard is the difficulty of anticipation. Explain what anticipation means in this context. 8. (3 pts.) One of the problems associated with eliciting domain requirements is what Sommerville calls implicitness. Briefly describe what he means by this. 9. (2 pts.) One of the potential problems described by Sommerville with using natural language to specify requirements is requirements amalgamation. Briefly describe what he means by this. 10. (4 pts.) What is ethnography? How does it differ from focused ethnography? What is the principal advantage of the latter over the former in requirements engineering? 11. (4 pts.) Why is documenting the origin/rationale of requirements potentially useful? Briefly illustrate your answer with an example. 12. (4 pts.) Sommerville notes that one of the problems with agile development methods (and other incremental development and delivery approaches) concerns contracts. Briefly explain why this can be a problem.

4 13. a. (3 pts.) One of the practices associated with Extreme Programming is known as refactoring. Briefly describe WHAT refactoring is, WHEN it is employed, and WHAT BENEFIT(S) accrue(s) from it. b. (3 pts.) Briefly compare the development philosophy underlying Extreme Programming as reflected by the practice of refactoring vs. traditional design based on the concept of information hiding. 14. a. (4 pts.) Sommerville describes two types of operations used in the Algebraic specification of abstract data types. What are they and how do they differ? b. (3 pts.) What is the rule of thumb discussed in class for defining a sufficient set of axioms? c. (3 pts.) The List specification given in class was comprised of the following axioms: Head(Create) = Undefined exception (empty list) Head(Cons(L,v)) = if L=Create then v else Head(L) Length(Create) = 0 Length(Cons(L,v)) = Length(L) + 1 Tail(Create) = Create Tail(Cons(L,v)) = if L=Create then Create else Cons(Tail(L),v) Do these axioms accurately reflect the rule of thumb discussed in class for defining a sufficient set of axioms? Briefly explain your answer.

5 15. Model-based specification via pre-and post-conditions utilizes predicates that (when considered together) reflect a program s intended functional behavior. a. (3 pts.) What do pre-conditions express in this context, and what does this represent to a designer/implementer of a program? b. (3 pts.) What do post-conditions express in this context, and what does this represent to a designer/implementer of a program? 16. a. (5 pts.) Give a suitable pre- and post condition for a program that searches a non-empty array LIST[1..N] for the value stored in KEY. If present, set FOUND to true and J to an index of LIST which corresponds to KEY. Otherwise, set FOUND to false. pre-condition: post-condition: b. (4 pts.) Give a suitable OPERATIONAL specification for this program. c. (3 pts.) Give a single-threaded SCENARIO reflecting nominal program behavior consistent with the program description. 17. (4 pts.) Briefly explain why it can be difficult to structure systems using the abstract machine system structuring model.

6 18. a. (3 pts.) Briefly describe the repository system structuring architectural model. b. (4 pts.) Describe 2 advantages and 2 disadvantages of this model. 19. Two models for distributing the layers of an application across a twotiered C/S architecture were discussed at length in class. a. (2 pts.) What is a two-tiered C/S architecture comprised of? b. (3 pts.) Briefly describe the C/S application layers model. c. (4 pts.) Briefly describe the two-tier thin and fat client architectures in terms of the C/S application layers model. 20. (6 pts.) Briefly describe the roles played by IDL skeletons and IDL stubs in CORBA objects. What happens when an object calls another service-providing object? On my honor, I have neither given nor received unauthorized aid on this exam. SIGNATURE