Advanced Systems Analysis Semester One, 2011-2012 Answer ALL Questions in Section a and TWO Questions from Section B
Total Page:16
File Type:pdf, Size:1020Kb
CC3018NI – Advanced Systems Analysis Semester One, 2011-2012 Answer ALL questions in Section A AND TWO questions from Section B. Section A – includes Short Answer Questions 1-5 and Question 6 based on a Case Study. Answer all questions 1. Explain the following terms in relation to software development – giving two examples of each: a) problem domain b) model. (6 marks) Problem Domain: A problem domain is the area of expertise or application that needs to be examined to solve a problem. A problem domain is simply looking at only the topics of an individual's interest, and excluding everything else. Model: A model is an abstraction of some aspect of an existing or planned system. Mod- els are created to serve particular purposes, for example, to present a human-understandable description of some aspect of a system or to present information in a form that can be mechanically analyzed. 2. Summaries the general areas of guidance which might be given by a Software Development Method. (6 marks) 1) Identification of required software 2) Analysis of the software requirements 3) Detailed specification of the software requirements 4) Software design 5) Programming 6) Testing 7) Maintenance 3. Write brief notes on each of the following pairs of terms: a) i) Structured ii) Object-Oriented b) i) Waterfall ii) Incremental/Iterative c) i) Heavyweight ii) Lightweight (6 marks Structured Programming: (sometimes known as modular programming) is a subset of procedural programming that enforces a logical structure on the program being written to make it more efficient and easier to understand and modify. Certain languages such as Ada, Pascal, and dBASE are designed with features that encourage or enforce a logical program structure. Object-Oriented Programming: Object-oriented programming (OOP) is a programming language model organized around objects rather than "actions" and data rather than logic. Historically, a program has been viewed as a logical procedure that takes input data, processes it, and produces output data. Waterfall Methodology: The waterfall model is a sequential (non-iterative) design process, used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases of conception, initiation, analysis, design, construction, testing, production/implementation and maintenance. Incremental/Iterative Development Methodology: Iterative and Incremental development is any combination of both iterative design or iterative method and incremental build model for software development. The combination is of long standing and has been widely suggested for large development efforts. Heavyweight Methodology: Heavyweight methodologies are considered the traditional way of software development. These are based on step by step evolution approach. Several steps in this process include, defining requirement, solution formation, testing and development. In this process it is also mandate to prepare a document that has a set of requirement at the beginning of the project Lightweight Methodology: [Software development] methodologies that focus on the use of as little process as possible to obtain good results. Often proportioned to the size or risk of the project. Extreme Programming strives to be the lightest methodology worthy of the name, although the Chaos methodology seems to have less in it than XP 4. Briefly describe four key features which typical Agile methods have in common. (4 marks) “Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan 5. a) In what circumstances would you be likely to use a heavyweight technique such as SSADM? Explain your answer. (4 marks) SSADM divides an application development project into modules, stages, steps, and tasks, and provides a framework for describing projects in a fashion suited to managing the project. SSADM's objectives are to: Improve project management & control Make more effective use of experienced and inexperienced development staff Develop better quality systems Make projects resilient to the loss of staff Enable projects to be supported by computer-based tools such as computer-aided software engineering systems Establish a framework for good communications between participants in a project I prefer to use SSADM where Requirements are clear Time cost and quality are variable and feature is fixed Experience team Highly defined requirements b) When might you prefer to use an Agile software development method such as DSDM? Explain your answer. (4 marks) If time, cost, quality is fixed and features are variable in that time I prefer to use DSDM. If the requirements are not clear but they are focusing on the quality product in that situations we should use agile methodology because it help to gather requirement with frequently collaboration and meeting with the customer, daily meeting with the staff. The projects are incrementally steered by both client and developer together so that by the time the projects final time box has finished the client has what they need and the developer is not out of pocket. Highly prioritized requirement should be deliver in the usable form within fixed period of time. DSDM is not only about developing new solutions; projects to enhance existing solutions are also well suited to the DSDM approach. We recognize and value the various Agile approaches and practices and believe that good Agile can be a single or blended approach, whichever is the right solution for your project environment. As the use of Agile increases, new ideas surface frequently, and this is why DSDM sees the need to evolve and embrace the wider Agile community for the greater good and to continually improve what is seen as best practice 6. Consider the Case Study below (Tennis Club). a) Suppose that the team of Developers that you lead are familiar only with SSADM and DSDM. Which of the two methods would you choose in this case and why? (5 marks) If my team is only familiar with SSADM and DSDM I choose DSDM because following reasons: The product owner is ready to involve till complete of the project. MoSCo prioritized features like S1, T1 and B1 to be available for use within two months. The rest of the system could be deployed later – preferably within 6 months. Time, cost, and quality are fixed only features are variable. Review of pre-project and post-project. b) Suppose that DSDM is chosen. i) Explain – in relation to this case study - how you will go about planning the development process. (5 marks) I will plan the project for development process in relation to case study: Identify the team and their responsibility for the particular project Identify the specific time period like start time ending time and Very important features deliver time etc. Focus on the requirements like: Very important – S1, T1, B1 These would be very valuable – B2, B3, B4 Would be useful – T2, B5, C1, Would like to explore the possibility of these at some point if not too expensive – S2, S3, B6 ii) Produce a plan indicating the various milestones, who will be involved and when, what activities will take place and when. Your plan should include brief explanations/rationale. (15 marks) The required resources and their roles for the Tennis Courts Booking System S.N Task Duration Resources Milestone Dependencies 1 Pre-Project 2 Days PM, M, BA Terms of Reference document 2 Feasibility 7 Days PM, SD, M, Outline 1 SE Project Plan 3 Foundation 7 Days PM, M, SE Refined 2 Project Plan 4 Exploration, Engineering 164 Days PM, SE, SD, 3 and Deployment D, T, BA 4.1 Time Box 1 44 Days PM, SE, SD, Workable D, T, BA features S1, T1, B1 4.2 Time Box 2 44 Days PM, SE, SD, Workable D, T, BA Features B2, B3, B4 4.3 Time Box 3 44 Days PM, SE, SD, Workable D, T, BA Features T2, B5, C1, 4.4 Timebox 4 Project review 30 Days PM, SE, SD, Final and final documentation D, T, BA document 5 Post-project 2 Days TBP, M, PM, Benefits of BA project Reasoning choosing the DSDM 1. Tennis Courts Booking System project plan includes 5 phases: like Feasibility, Foundation, Exploration, Engineering & Development. In the Pre-project and post-project will be carried out project plan. DSDM methodology contains all the plan and phases. The Tennis Courts Booking System plan follows DSDM. 2. The all work of project is carried out in small period of time depending on work load and allowed time i.e. Timebox. Timeboxing is key technique used in to carry out development project in DSDM. 3. The milestones of the project include: Project plan in Feasibility, Refined project plan in Foundation and Deployed products in timeboxes. The recognized milestones match that of DSDM phase’s outcomes. 4. The project plan activity contains of task such as prototype of in the Tennis Courts Booking System. The development procedure in iterative as well. Tennis Courts Booking System is completed in two iteration. DSDM include key technique modelling and iterative development. Hence, the project plan follows DSDM. 5. Roles and Responsibilities as allocated to Human capitals from development team and stakeholder. The roles and resources are allocating to task. DSDM requires to allocate role and responsibility. Hence, the project plan is following DSDM. c) Summaries the key differences in the way that the system would be developed if SSADM were used. What would be different from the users’ point of view? (5 marks) The Very important – S1, T1, B1 feature may not possible to deliver within 2 months There is no chance to iteration and timeboxing The user should wait for use the project until closure of project There might possible to more possible to daily meeting with the development in time of development Some project features might be lacking Section B - Answer 2 questions 1.