Course/Year W080/807 Expected Solution Subject: Software Development to Question No: 1

Similar documents
Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Modelli di sviluppo software. Enrico Giunchiglia

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

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

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

Software Process and Models

GUIs with Swing. Principles of Software Construction: Objects, Design, and Concurrency. Jonathan Aldrich and Charlie Garrod Fall 2012

To introduce software process models To describe three generic process models and when they may be used

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

Unit 1 Learning Objectives

Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci

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

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

Chapter 2 Software Processes

Lecture 3 Software Development Processes

Software Engineering. Objectives. Designing, building and maintaining large software systems

LAYOUT MANAGERS. Layout Managers Page 1. java.lang.object. java.awt.component. java.awt.container. java.awt.window. java.awt.panel

IV. Software Lifecycles

Unit I. Introduction

Software quality engineering. Quality assurance. Testing

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

During the process of creating ColorSwitch, you will learn how to do these tasks:

Rational Quality Manager. Quick Start Tutorial

What is a life cycle model?

INTRODUCTION TO COMPUTER PROGRAMMING. Richard Pierse. Class 7: Object-Oriented Programming. Introduction

Software Engineering. Software Engineering. Software Costs

Karunya University Dept. of Information Technology

Software Process Models. Xin Feng

Konzepte objektorientierter Programmierung

Software Project Models

Development Methodologies Compared

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW


Nexawebホワイトペーパー. Developing with Nexaweb ~ Nexaweb to Improve Development Productivity and Maintainability

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

@ - Internal # - Online TH PR OR TW TOTAL HOURS # @ 175

Process Models and Metrics

5.17 GUI. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Best Practices, Process

International Journal of Advance Research in Computer Science and Management Studies

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

Graphical User Interfaces

Software Processes. Topics covered

Test Cases Design for Software Database Provisioning Development

IT3205: Fundamentals of Software Engineering (Compulsory)

(Refer Slide Time: 01:52)

Peer Review Process Description

Using A Frame for Output

The Abstract Windowing Toolkit. Java Foundation Classes. Swing. In April 1997, JavaSoft announced the Java Foundation Classes (JFC).

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

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

Lecture 1: Introduction to Software Quality Assurance

Programming with Java GUI components

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

Software Development: The Waterfall Model

2. Analysis, Design and Implementation

How To Build A Swing Program In Java.Java.Netbeans.Netcode.Com (For Windows) (For Linux) (Java) (Javax) (Windows) (Powerpoint) (Netbeans) (Sun) (

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Peer Review Process Description

CSTE Mock Test - Part I - Questions Along with Answers

Rational Team Concert. Quick Start Tutorial

Software Engineering. How does software fail? Terminology CS / COE 1530

Foundations of software engineering

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

Software Production and Lifecycle Models

Software Development Process Models

How era Develops Software

Sample Exam Syllabus

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

Requirements Engineering Process

Homework/Program #5 Solutions

MAX 2006 Beyond Boundaries

CS 335 Lecture 06 Java Programming GUI and Swing

Software Engineering. What is a system?

Software Development Life Cycle

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Software Testing. Quality & Testing. Software Testing

Identification and Analysis of Combined Quality Assurance Approaches

Mouse Event Handling (cont.)

CS4507 Advanced Software Engineering

Information Technology Policy

Title: Topic 3 Software process models (Topic03 Slide 1).

file://c:\dokumente und Einstellungen\Marco Favorito\Desktop\ScanCmds.html

How To Understand The Software Process

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Software Life Cycle Processes

Managing Successful Software Development Projects Mike Thibado 12/28/05

2. Analysis, Design and Implementation

Requirements Traceability. Mirka Palo

Chapter 3. Software Processes

Introduction to Software Engineering. 8. Software Quality

Development Methodologies

Software Quality Assurance Software Inspections and Reviews

Advanced Software Engineering. Software Development Processes

CSE 435 Software Engineering. Sept 16, 2015

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Analysis Of Source Lines Of Code(SLOC) Metric

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Transcription:

Subject: Software Development to Question No: 1 Page 1 of 2 Allocation: 33 marks (a) (i) A layout manager is an object that implements the LayoutManager interface and determines the size and position of the components within a container and resizes components as the window is resized. In Java Swing Layout managers are used in JPanels and content panes. JPanel uses a FlowLayout by default. Content panes use BorderLayout. By default. Examples of layout managers are: BorderLayout BoxLayout CardLayout FlowLayout GridBagLayout GridLayout SpringLayout [5 marks] (ii) Border Layout A BorderLayout places components in up to five areas: top, bottom, left, right, and center. All extra space is placed in the center area. Which area a component goes into is specified eg: pane.add(button, BorderLayout.PAGE_START); pane.add(button, BorderLayout.CENTER); [5 marks]

Subject: Software Development to Question No: 1 Page 2 of 2 Allocation: 33 marks (b) Every event handler requires three pieces of code: (i) In the declaration for the event handler class, one line of code specifies that the class either implements a listener interface or extends a class that implements a listener interface. For example: public class MyClass implements ActionListener { (ii) Another line of code registers an instance of the event handler class as a listener on one or more components. For example: somecomponent.addactionlistener(instanceofmyclass); (iii) The event handler implements the methods in the listener interface. For example: public void actionperformed(actionevent e) {...//code that reacts to the action... } [15 marks] (c) An instance of the event handler class (CopyGUI class) has not been must be registered as a listener on the copy button component. This means that the copy button will not fire an action event when it is pressed and therefore the actionperformed() method will not be invoked when the button is pressed. To solve the problem the instance of the CopyGUI class that is created in the main() method, i.e. the object mycopy, must be registered as a listener on the copy button component and this requires that the following line of code be added after line 16: copybutton.addactionlistener(this); [8 marks]

Subject: Software Development to Question No: 2 Page 1 of 3 Allocation: 33 marks (a) Attributes of well designed software 1. Delivers required functionality and performance to the user 2. Maintainable to evolve with changing needs 3. Dependable reliable, secure and safe 4. Efficient should not make wasteful use of system resources 5. Usable - Software must be usable by the users, without undue effort, for which it was designed. It should have an appropriate UI and documentation. [10 marks] (b) (i) Software Process/ Life cycle A Software process or life cycle model is the process of developing software through successive phases in an orderly way. This process includes not only the actual writing of code but also the preparation of requirements and objectives, the design of what is to be coded, and confirmation that what is developed has met objectives. Examples of life cycle models include: Waterfall model Evolutionary or iterative development Prototying Spiral [5 marks] (ii) Main stages in a software lifecycle Specification - what the system should do and its development constraints. Any existing system is evaluated and its deficiencies identified, usually through interviewing system users and support personnel. The new system requirements are defined. In particular, the deficiencies in the existing system must be addressed with specific proposals for improvement. The proposed system is designed. Plans are laid out concerning the physical construction, hardware, operating systems, programming, communications, and security issues. Development - production of the software system Verification and Validation using standard testing techniques to ensure that the software meets the specifications set out in stage 1 and that the user accepts the software. Evolution - changing the software in response to changing demands.

Subject: Software Development to Question No: 2 Page 2 of 3 Allocation: 33 marks (c) (i) Spiral Model Deter mineobjecti ves, alterna tives and constr aints Determine objectives, alternatives and constraints Evaluate alternatives. Identify and resolve risks Risk anal ysis Evalua te alterna tives, identify, resolv e risks Plan next phase Plan ne xt phase REVIEW Requir ements plan Life-cycle plan De velopment plan Integ ration andtestplan Risk anal ysis Risk anal ysis Concept of Oper ation Risk anal ysis Pr ototype 1 Requir ement valida tion Design V&V Service Pr ototype 2 S/W requir ements Acceptance test Prototype 3 Oper a- tional pr oto ype Simula tions, models, benchmar Product design Integ ration test Unit test Code Detailed design Develop, verify and verify next xt-le level prproduct ks This model of development combines the features of the prototyping model and the waterfall model. Process is represented as a spiral rather than as a sequence of activities with backtracking. The Spiral Model creates a risk-driven approach to the software process. The Spiral Model works by building progressively more complete versions of the software by starting at the center of the spiral and working outwards. Each loop in the spiral represents a phase in the process. With each loop, the customer evaluates the work and suggestions are made for its modification. Additionally, with each loop of the spiral, a risk analysis is

Subject: Software Development to Question No: 2 Page 3 of 3 Allocation: 33 marks performed which results in a 'go / no-go' decision. If the risks are determined to be too great then the project is terminated. There are no fixed phases such as specification or design - loops in the spiral are chosen depending on what is required. [10 marks] (ii) Describe a scenario when the Spiral model would be a suitable process model for a software project. The Spiral Model is typically used in large, expensive, and complicated projects. [3 marks]

Subject: Software Development to Question No: 3 Page 1 of 3 Allocation: 33 marks (a) Dynamic Analysis involves execution of the code to perform some type of analysis of the code, design or requirements. 2 examples are : Code reviews, code walkthroughs, code inspections. Static Analysis does not involve execution of the code but the code is examined to detect faults before execution. 2 examples are : White box testing and black box testing. [8 marks] (b) The following table outlines the steps involved in a formal review : Step Planning Overview Preparation Inspection Meeting Rework Follow-up Description Confirms material to be inspected meets entry criteria. Arranges the availability of appropriate participants. Schedules a meeting place and time. Educates group of participants in what is to be inspected. Assigns inspection roles to participants. Participants separately learn the material and find potential defects Identified defects are agreed on by the group and classified The author corrects all defects The moderator or the entire team verifies that all fixes are effective and that no additional defects have been introduced Each team member examines the inspected artifact during the preparation phase. The main goal of the preparation phase is to thoroughly understand the artifact s intent and logic, not to identify defects]. Issues raised during this phase, however, are recorded. The goal of the inspection meeting is to identify defects, not to propose or analyze solutions. A moderator leads the meeting. A reader, who is typically not the author of the inspected artifact, steps the inspectors through the artifact in a systematic and orderly fashion. Defects found during this phase are recorded and categorized. These defects include issues raised during preparation and agreed upon by the group. The author fixes defects during the rework phase. The correctness of these repairs is verified during the follow-up phase. [8 marks]

Subject: Software Development to Question No: 3 Page 2 of 3 Allocation: 33 marks (c) A enrol(student, tutorial) { B C A if student already in tutorial B display already enrolled in tutorial else C if tutorial is full D E D E display tutorial requested is full else add enrolment record for student in tutorial display enrolment successful F F end if G end if } G For 100% statement coverage need the following 3 test paths: ABG, ACDFG, ACEFG The test cases for these test paths are as follows: Test ID Test Description Input Initial Conditions Expected Outcome Actual Outcome

Subject: Software Development to Question No: 3 Page 3 of 3 Allocation: 33 marks 1 Test path ABG Student = 123 tutorial = 1 Student 123 is already enrolled in a tutorial. Already enrolled in tutorial displayed 2 Test path ACDFG Student = 123 tutorial = 1 Student 123 is not already enrolled in a tutorial. Tutorial 1 is already full tutorial requested is full displayed 3 Test path ACEFG Student = 123 tutorial = 1 Student 123 is not already enrolled in a tutorial. Tutorial 1 is not full enrolment successful displayed [17 marks]