You are on page 1of 6

Table of contents Content Cover page page 1 2 3 3 4 5 7

Table of contents Summary of the scenario ... Introduction .. Life Cycle Model for Snow City System . Dependability measurement attributes and its application to Snow city System.. References.

Summary of the scenario 1. 2. 3. 4. 5. 6. Snow City has various price categories for individual customers. Customers can buy ticket on spot, in advanced, or make group booking. Payments are made while buying or booking the tickets. At the time of entry, label need to be scan to record the time. At the time of exit, ticket need to be scanned as well to record the time. At the time of exit, total time spent by the buyer is compare with the time period in prepurchased ticket. 7. If the real time used up is more the time period in the pre-purchased ticket, customer pay balance ticket price plus 25% penalty. 8. Customers are notified all charges at the time of fee 9. Costs are made also in money or credit card. 10. Ad-hoc reports are required by top management from time to time.

Introduction

Software Development Life Cycle (SDLC) Models are explanations of orders in which the stages in software production cycle are carried out, starting from the purpose to the final software that is to be delivered. It is also called Software Development Processes [1]. According to [2], the classical water fall model was introduced to help a software engineer to handle the growing difficulties of software projects. Davis et al in [2], explained the following points of using SDLC: Encourage one to specify what the system is supposed to do i.e. to define the purpose before building the system (designing). Encourage one to plan how components are going to work together i.e. designing before building the components (coding). Enables project managers to track progress more correctly and find out possible problems early; Requires that development process produce a number of documents which can later be used to test and maintain the system; Reduce development and maintenance costs due to all of the above reasons; and Enables the organization that will develop the system to be more prepared and manageable.

There are many SDLC models in the literature, some of which are similar to the classical water fall model with little difference to overcome some of the weaknesses of the water fall. These include the spiral model, incremental model, and V-shaped model and each of them has its advantages and disadvantages based on the clarity and difficulty of the software project.
3

In the recent years, there has been the introduction of modern models like Agile Development Model which is completely different from the classical methodology, but brings about quick development by skipping one or more of the life cycle phases, it is usually less formal and have reduced scope and suitable for time critical applications. [3], stated that the scope of agile life cycles can differ much and mentioned number of descriptions and figures to show different types of agile, which include Scrum construction life cycle, EUP (Enterprise Unified Process) life cycle. The more complete phases of agile are presented in [3] and consist of six phases which include iteration 1, iteration 0, construction iterations, let go (end-game), making and leaving. 3. Life Cycle Model for Snow City System Based on my understanding of the Snow city problem statement, I select Incremental Life Cycle model. Incremental model involves going through all phases of development showcase in waterfall in each cycle, meaning that it consist of multiple cycle with each cycle resulting in delivery of working software, and addition of functionalities. It involves prioritizing requirement, grouping and executing them based on priority. Phases of Incremental model, like Waterfall model include: Requirement: This is where business conditions are put together, at every cycle, starting with most basic and highly needed customer requirement, this can be obtained from long time experiences in dealing with the system, or from feedback obtained from customers. This time is the main center of plan manager and stake holders. Design: How the system will work is presented here in detail. This phase uses the deliverable from phase one, to come up the system architecture; this include both software and hardware, contact, software design like UML are all piece of the deliverable of the design phase. Functionalities to be used are added as the development progresses. Implementation: In this phase a code is generated based on the design phase deliverable. It is the focus of software developer, and the part that takes more time in Software Development Life Cycle. Tool such as CASE tool are used to automate the production of code using information obtained and produced during the design phase. Sometimes, implementation overlaps with both design and testing. When this happens, it is well documented so that addition of functionalities at different cycles is possible. Testing: during this phase, implementation (completion) is tested next to the conditions to make sure that the result produced is really doing the job it is expected to do. Both unit test and system / acceptance tests are done during this phase. Unit test is done on a specific unit or component of the system, while system test is done on the overall system. Deployment and Maintenance: This follows the testing phase; when the coding is properly tested it is released and distributed into production environment. Based on

satisfaction of the stake holders plus feedback from customers, the next cycle is applied until all the important conditions are followed and organized. Incremental Life Cycle Model has some drawbacks over the waterfall model which include rigidity in each phase; phases do not overlap and problem may arise concerning architecture, that is why it is suitable for a medium scale project like Snow city system, which all conditions can be seen in advanced, put in order of importance and applied incrementally because of the following advantages of incremental model: It generates a working software quickly and early during the software life cycle More flexible less costly to change scope and conditions Easier to test and debug during a smaller iteration Easier to manage risk because risky pieces are known and handled in its iteration Each is an easily managed goal

4. Dependability measurement attributes and its application to Snow city System In this section we shall tell the loyalty size quality which could be useful to the snow city system. And for each of the loyalty trial, we describe and evaluate its importance in contributing to the overall software quality. There are two major reasons why software engineering tends to measure the quality of software product; first is risk management and the second is cost management. The need for risk management is very important because software errors have caused a lot of loss of human lives. The reason for this ranges from poorly designed user interface to error in coding. Cost management has become part of software engineering and like any other engineering, it has the longest time phases and probably the most cost consuming is maintenance after the software has been set up. It has been referred to in [4] that an application with good structural quality cost less to maintain and easier to understand and change in response to the business needs. There are several dependability features in the literature which include availability, efficiency, reliability, safety / security, confidentiality, integrity and maintainability [5]. However, the common of these attributes are Reliability, Efficiency, Security and Maintainability and I am going to discuss these in relation to Snow city system. Reliability: this measures the level of risk and the possibility of failures. It also measures defect introduced due to changes. This attribute is very important measure in relation to the Snow city system, since the SDLC recommended is incremental model, which requires modification of the system at each cycle making sure that the reliability measure will prevent application downtime and improve performance of the system. Efficiency: efficiency measure focus on design and implementation, source code and architecture attributes are the element that guarantee high performance once application
5

is in run-time mode [4]. In the initial architectural design of the snow city system, ensuring that high level description of the entire system scope is put into consideration will help a lot in having good efficiency measure, in terms of coding and architecture that help the speed of the overall system. Security: This measures the likelihood of security violation due to poor coding and architectural practices. Snow city requires the use of online payment system, measuring security weaknesses of the system due to poor coding or architecture is required. Maintainability: Maintainability includes the idea of adaptability and strength of the system. Measuring maintainability is critical to systems like that of Snow city, since team of developers that develop one incremental cycle may not necessary be the same team to implement another round of increment in functionality. Ensuring that a standard way of coding is observed will help in making maintenance easy and will provide the needed control

5. References 1. http://en.wikipedia.org/wiki/Software_development_process, Software development process, Last modified on 31st October, 2011 at 21:54 2. M. Davis et' al: A strategy for Comparing Alternative Software Development Life Cycle Models, IEEE Transaction on software Engineering, Vol. 14 No 10, October, 1988 page 1453. http://www.ambysoft.com/essays/agileLifecycle.html, The Agile System Development Life Cycle (SDLC), Scott W. Ambler/Ambysoft, 2011. http://en.wikipedia.org/wiki/Software_quality, Software Quality, Last modified on 30, October, 2011 at 21:24.

3.

4.

5. Divya Kumari Prasad, Dependable System Integration Using Measurement Theory and Decision Analysis, PhD Dissertation, Department of Computer science, University of York, November, 1998.

You might also like