BCS Professional Examination 2015 Professional Graduate Diploma. April 2015. Examiners Report. System Design Methods



Similar documents
Chapter 3. Technology review Introduction

IT2404 Systems Analysis and Design (Compulsory)

Investigate Requirements for Software Solutions

Introduction to Systems Analysis and Design

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT SYSTEMS ANALYSIS & DESIGN EXAMINERS REPORT

Chapter 13 BUILDING INFORMATION SYSTEMS. How does building new systems produce organizational change?

THE BCS PROFESSIONAL EXAMINATIONS Certificate in IT. October Examiners Report. Information Systems

BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 4 Certificate in IT. September 2013 EXAMINERS REPORT

SYSTEMS ANALYSIS DESIGN

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

THE BCS PROFESSIONAL EXAMINATION Diploma October 2014 EXAMINERS REPORT Systems Analysis and Design

Karunya University Dept. of Information Technology

Higher National Unit specification. General information. Software Development: Analysis and Design (SCQF level 7) Unit code: HA4C 34.

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring

Assuming the Role of Systems Analyst & Analysis Alternatives

Systems Analysis and Design

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

Process Models and Metrics

COURSE TITLE: (OLS 207) INFORMATION SYSTEMS ANALYSIS, DESIGN AND EVALUATION

Phase 2 Systems Analysis. Dr. Feng-Jen Yang

Software Development Processes. Software Life-Cycle Models

A Review of an MVC Framework based Software Development

LECTURE 1. SYSTEMS DEVELOPMENT

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

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

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

SAULTCOLLEGE OF APPLIED ARTS AND TECHNOLOGY SAULT STE. MARIE, ONTARIO COURSE OUTLINE

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

(Refer Slide Time: 01:52)

BCS Foundation Certificate in Agile Syllabus

BCS HIGHER EDUCATION QUALIFICATIONS. BCS Level 5 Diploma in IT. Software Engineering 1. June 2015 EXAMINERS REPORT

Chapter 1 System Development Environment

Chapter 1 The Systems Development Environment

Chapter 8 Approaches to System Development

Systems Investigation and Analysis. Systems Development. What is it? Why Plan?

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

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

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

Chapter 11 Project Management

Requirements Management

Basic Trends of Modern Software Development

Knowledge, Certification, Networking

PLANNING FOR YOUR PROJECT

Programming and Software Development CTAG Alignments

Unit 1 Learning Objectives

LECTURE 11: PROCESS MODELING

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

BCS Certificate in Systems Modelling Techniques Syllabus

CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD)

2.1 The RAD life cycle composes of four stages:

Real Time Embedded Software Development Using Agile Technology An Experience Report

Alan Dennis, Barbara Haley Wixom, and Roberta Roth John Wiley & Sons, Inc. Slides by Candace S. Garrod Red Rocks Community College 3-1

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Pearson Education Limited 2003

Job Description Head of CRM

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

Systems analysis is the dissection of a system into its component pieces to study how those component pieces interact and work.

Object-Oriented Systems Analysis and Design

AGILE vs. WATERFALL METHODOLOGIES

Overview of Software Engineering and the Software Development Process

Software Engineering 1

s от Systems Analysis and Design

How To Understand Software Engineering

Adaptive Automated GUI Testing Producing Test Frameworks to Withstand Change

A Comparision Between Traditional and Component Based Software Development Process Models

UNIVERSITY OF MALTA THE MATRICULATION CERTIFICATE EXAMINATION ADVANCED LEVEL COMPUTING. May 2011

Elite: A New Component-Based Software Development Model

BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. September 2013 EXAMINERS REPORT

Realtests.M questions M IBM Rational IT Sales Mastery Test v2

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

Ten Steps to Comprehensive Project Portfolio Management Part 3 Projects, Programs, Portfolios and Strategic Direction By R.

NATIONAL CERTIFICATES (VOCATIONAL)

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

SELF STUDY DIPLOMA IN BUSINESS ANALYSIS

OCR LEVEL 3 CAMBRIDGE TECHNICAL

The profile of your work on an Agile project will be very different. Agile projects have several things in common:

Programming and Software Development (PSD)

New York City College of Technology/CUNY Computer Systems Technology Department

Object-oriented design methodologies

Business Process Management In An Application Development Environment

What is Software? The Software Development Process. Definition of Software. Why Software?

Proposal template (technical annex) Health, demographic change and wellbeing Two-stage Research and Innovation actions Innovation actions

UNIVERSITY OF SURREY. BSc Programmes in Computing. Level 1 Examination. CS183: Systems Analysis and Design. Time allowed: 2 hours Spring Semester 2006

Umbrella: A New Component-Based Software Development Model

The University of Adelaide Business School

THE BCS PROFESSIONAL EXAMINATION Diploma. April 2001 EXAMINERS REPORT. Project Management

International Journal of Advance Research in Computer Science and Management Studies

Keywords Software Engineering, Software cost, Universal models. Agile model, feature of software projects.

Measuring ROI of Agile Transformation

CHAPTERS A NEW KNOT MODEL FOR COMPONENT BASED SOFTWARE DEVELOPMENT

A UML Introduction Tutorial

System development lifecycle waterfall model

Chapter 3 Technology adapted

The traditional project management uses conventional methods in software project management process.

IV. Software Lifecycles

Requirements Management In Action. A beginners guide to Requirements Management

Transcription:

BCS Professional Examination 2015 Professional Graduate Diploma April 2015 Examiners Report System Design Methods Question 1 1.a) Discuss why prototyping and agile approaches to systems design are increasingly being used instead of traditional waterfall approaches. 1 1.b) Give a brief explanation of the following terms: software reusability, software reuse. Component Based Systems Development (CBSD) methods place a lot of emphasis on component reuse when developing a new system and on developing ( fabrication ) of new reusable components. Identify the main stages which should be provided by a typical CBSD method. 1 1.a) The following (or suitable alternatives) would be expected: The availability of graphical based software development tools supports prototyping and agile development approaches and allows systems design models to be quickly and easily developed for user feedback. This allows for more user involvement than the more limited user role in specification in a waterfall approach. Businesses are increasingly looking to reduce systems development project lead times, and using a prototyping or agile development approach can be one means of achieving such a time reduction. Prototyping and agile methods can cater for uncertain requirements, and can be used to develop and refine the requirements for the system. 1.b) Explanation of software reusability e.g. Reusability the extent to which a program (or parts of a program) can be reused in other applications. Explanation of software reuse e.g. Software reuse an approach to software development that tries to maximise the reuse of existing software. A typical CBSD method is likely to have 2 major processes: the solution process and the component process. The solution process is a typical systems development process (with traditional stages of Feasibility and Analysis). These stages are followed by Design and Build stage which is less traditional as it seeks to harvest reuse by looking for existing components which can be used to solve the problem. The component process is responsible for production of components. The main stages within this process are traditional Design and Build followed by Acceptance (to ensure acceptance and certification of a set of components) and

Roll out (to install a set of components in the repository supporting the live user environment) stages. There should also be a stage (prior to Design and Build) to assess needs for reusable services (these may arise from the solution process(es), legacy assets, etc). 9 marks 1.a) Many candidates answered this part reasonably well by providing reasons why prototyping and agile approaches are becoming popular. A substantial number of candidates however just discussed/described the waterfall, prototyping and agile approaches. 1.b) Many candidates were unable to provide proper definitions of reusability and reuse. Only a small number of candidates managed to identify the main stages of CBSD methods. Question 2 2. a) Discuss why systems design methods commonly include techniques to model the structural, procedural/functional, and temporal/dynamic aspects of an IT system. Give an example of the techniques that model these systems aspects in a systems design method of your choice. b) Explain how you would cross-check the three models discussed in question 2.a). 2.a) The following (or suitable alternatives) would be expected: Systems design methods commonly include techniques to model the structural aspects of IT systems since even the simplest of IT systems will require some kind of structure, for example data structures for holding system data. Examples: Entity relationship diagrams, class diagrams Systems design methods commonly include techniques to model the procedural aspects of IT systems, since these describe the actual activity to be performed by the system, for example calculations and data input and output. Examples: Data flow diagrams, Use cases Systems design methods commonly include techniques to model the temporal aspects of IT systems since data will change over time and therefore the state of the data needs to be specified in order to ensure that it is processed correctly. Examples: Entity life histories, State transition diagrams

2.b) Structural vs Procedural/functional (SSADM example): Each datastore should hold/represent a whole number of entities i.e. a data store is related to one or more entities and an entity may not appear in more than one data store. Structural vs Temporal/dynamic (SSADM example): Each ELH corresponds to an entity. Procedural/functional vs Temporal (SSADM example): Each bottom-level process that updates a main data store will be triggered by one or more events that appear on the ELH. N.B. UML example can be used instead of the above SSADM example. The UML example should explain how you would cross-check e.g. classes, state transition diagrams and use case diagrams. 2.a) Many candidates were unable to provide a reasonable explanation of why system design methods include techniques to model all three aspects of a typical information system. Most candidates gave proper examples of modelling techniques. 2.b) Many candidates did not address the question and discussed modelling techniques/diagrams instead. A few candidates discussed software development models (e.g. prototyping) instead of systems models. Question 3 3. a) You are in charge of five software development projects. The characteristics of each of your projects are as follows: Project 1. Web-site for a local company. Relatively small system. Requirements are vague and likely to change in the near future. Project 2. A very large embedded system whose requirements can be easily identified and are relatively stable. Project 3. A standard business application. You have developed similar systems in the past. Project 4. A relatively complex administrative system for one of the local hospitals. Some of the requirements seem to be pretty vague, but all the requirements are stable. Project 5. A small real-time control system to be used for monitoring patients in a local hospital. Consider the following software development approaches/models: waterfall, throw-away prototyping, evolutionary prototyping, component-based development, formal development. Which of the above approaches/models would you choose for each of your projects? Briefly justify your choices.

b) Agile methods (RAD methods) are not suitable for all types of systems and systems development projects. (i) Suggest at least five system/project characteristics that would be appropriate for Agile methods. Give a brief justification for each characteristic. (ii) Suggest also at least two system/project characteristics that would not be appropriate for Agile methods. Give a brief explanation. 5 marks 3.a) Project 1: Evolutionary prototyping (explain) Project 2: Waterfall (explain) Project 3: Component-based development (explain) Project 4: Throw-away prototyping (during the Requirements Analysis stage) followed by Waterfall (explain) Project 5: Waterfall with some critical parts to be developed using formal approach. (explain) for each 3.b) (i) Possible system and project characteristics are: the system is interactive i.e. users interact with system functions the system is not computationally complex it has clearly defined user groups the project is time-constrained it has requirements that can be prioritised it has requirements that are unclear or subject to frequent change (ii) Possible system and project characteristics: safety critical systems systems with minimal user-system interactions (e.g. scientific) complex systems whose complexity cannot be easily broken down management requires detailed long-term plans as a deliverable etc. Two characteristics with appropriate explanation. 5 marks 3.a) This part was answered reasonably well, but many candidates did not provide sufficient explanation of their choices. 3.b) Both parts (i) and (ii) were answered reasonably well. Some candidates did not discuss system/project characteristics, but gave examples of specific systems (e.g. hotel reservation, school, hospital, etc.) instead.

Question 4 4. a) You are an IT manager and have decided to introduce object oriented development techniques into your IT department. Discuss which approach to implementing object oriented development you would use: training staff in an object oriented design method first and then an object oriented programming language, training staff in an object oriented programming language first and then an object oriented design method, or training in both at the same time. Discuss the issues to be taken into account when considering each option. 4. b) There are many reasons why a systems design method introduced in an organization might fail or does not meet expectations, such as: Productivity Complexity Skills Tools Social and organizational issues. Provide an explanation of each of these reasons. 4. a) Would it be more appropriate to learn object oriented concepts first (for example, encapsulation, polymorphism, and inheritance) or to learn practical examples first (for example classes, method overloading and method overriding) or can the two be done together. Would it be more appropriate to learn how to code first or how to design first, or can both be done together. For example, does learning how to code first provide insights into the structure and therefore design of programs, or does learning how to design first provide insights into the structure of programs and therefore how to code programs, or can the two be done together? Would it prove confusing or overly complex, or too demanding to attempt to learn both object oriented coding and design at the same time for the IT staff concerned? In particular, intensive training may interfere with the workload of the IT staff concerned. 4. b) Productivity: It happens frequently that the method introduced fails to deliver the suggested productivity benefits e.g. it does not reduce the time taken to develop a project, it is resource- intensive, etc. Complexity: Some methods have been criticised for being over-complex. They are designed to be applied to the largest projects, therefore they are too complex for small projects. Skills: Methods require significant skills in their use. These skills may be difficult for method users.

Tools: The tools supporting the method may be expensive and difficult to use. Social and organisational issues: Many methods do not take into account these issues (they focus only on technical issues). Most candidates answered part (a) reasonably well and discussed the different considerations regarding the order of learning of object oriented design techniques and object oriented programming. Most candidates answered part (b) reasonably well and appropriately discussed the reasons why a systems design method introduced into an organization might fail or might not meet expectations. Question 5 5. a) There are various criteria that might be considered when assessing the suitability of a systems development method including: life cycle coverage; separation of analysis and design; visibility of product; designing for change; and extendability of the method. Discuss the importance of these criteria when assessing a method. 5. b) Outline the types of software tools that could be used to support systems development activities, explaining the potential benefits that they could provide. 5. a) A method should ideally cover the entire systems development process (including maintenance) The analysis of the user requirements should not be influenced by design considerations The product should be specified at different stages of its development (analysis, design, etc.) The logical and physical designs should be easily modified It should be possible to add new techniques and tools to the method, but still maintain the overall consistency and framework of the method 5. b) Project management tools that can produce project plans and schedules (e.g. gantt and pert charts) for design activities. Project management tools allow monitoring and tracking of design activities. Documentation tools can allow easy development, storage, retrieval and maintenance of system design documentation. Such tools may include a data dictionary facility (that is a definition of all the data elements and data structures used in a system, and their relationships). Documentation tools are useful for keeping systems design documentation up to date for future software maintenance activities.

Reverse engineering tools take source code as input and generate graphical design models, where-used lists etc. In systems design work such tools are useful for understanding the design of badly documented existing systems. CASE tools can automate aspects of the development of design documentation and can in some cases generate code from the designs produced. CASE tools can often check for consistency between different design diagrams and documents, thus improving quality control, and helping to enforcing design standards in the design process. Marks - 5 per point up to 15 Part (a) was generally answered reasonably well with most candidates appropriately discussing the means of assessing the suitability of a systems design method. Part (b) was generally answered reasonably well, however a small number of candidates confused software tools with development techniques.