CONTENT WRITING TEMPLATE Author: : Dr. Zaitun A. B. Date: : 5/1/2009 Subject Title: : IT and Applications Subject Code : CICT1033 Lesson Title : Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 Version: 1.0 Systems Analysis and Design Introduction: Developing an information system can be a risky and tricky task. There methodologies to help developers build information system. In the very early stages, the systems analyst will meet the users and investigate the real problems and propose solutions and alternatives. Very often, users requirements are misunderstood and in return, the analyst built systems that do not meet all users requirements fully. The following pictures demonstrate the whole situation. (I will come and give you the picture myself) Learning Outcome: In the end of this lesson, you will be able to: Understand what is meant by ‘system thinking’ Understand the different phases of system developments life cycle Identify the strengths and weaknesses of different development methodologies such as: RAD, Prototyping, JAD and CASE Explain Agile Methodologies and Extreme Programming Describe OOSAD and RUP *Every topic must cover one learning outcome only. List of Topic No 1. 2. Topic Title Introduction The Systems Development Environment <Topic #> <Lesson Title> | Private and Confidential 1 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 3. The information Systems Development Life Cycle (SDLC) 4. Rapid Application Development (RAD), prototyping, Joint Application Development (JAD) and Computer Aided Software Engineering (CASE). 5. Agile methodologies and extreme programming 6. Object Oriented Analysis and Design and the Rational Unified Process (RUP). *Maximum 12 topics. Terminology No 1. Word System Definition A system is a collection of components that work together to realize some objective forms and the three major components in every system, namely input, processing and output. 2. Integrated An integrated information system is a system used by the whole information system organization for each of their functional division with a single data repository. 3. 4. 5. 6. Distributed Distributed information system, are information sub-systems that form information system islands of information systems in an organization System life cycle System life cycle is an organizational process of developing and (SDLC) maintaining systems. Rapid application It is an approach to system development which attempts to create an development application more quickly through strategies that include fewer formal (RAD), methodologies and reusing software components. Joint Application The Joint Application Development (JAD) methodology is an approach to Development (JAD) system development which aims to involve the client in the design and development of an application. 7. Prototyping Prototyping is the process of quickly putting together a working model (a prototype) in order to test various aspects of a design, illustrate ideas or features and gather early user feedback. 8. CASE (computeraided software engineering) CASE (computer-aided software engineering) is the use of a computerassisted method to organize and control the development of software, especially on large, complex projects involving many software components and people. <Topic #> <Lesson Title> | Private and Confidential 2 CONTENT WRITING TEMPLATE 9. Agile methodology 10. Extreme Programming (XP) Rational Unified Process (RUP) 11. Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 Agile methodology is an approach to project management, typically used in software development which helps development teams to respond to the unpredictability of building software through incremental, iterative work cadences, known as sprints. Extreme Programming (XP) is a deliberate and disciplined approach to software development and it stresses customer satisfaction. Rational Unified Process (RUP) is an object-oriented and Web-enabled program development methodology. Reference: 1. Ani – Animation 2. Gfx – Graphics 3. Voice over 4. Insert a diagram 5. Sub Topic No. of Lesson Sub Topic 1.1.1 No. of Sub Topic No. of Topic <Topic #> <Lesson Title> | Private and Confidential 3 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 Content Topic Title : Topic 1: Introduction Sub Topic 11.1.1 Systems Thinking What is a system? Systems are created to solve problems. One can think of the systems approach as an organized way of dealing with a problem. System Analysis and Design, mainly deals with the software development activities. A system is a collection of components that work together to realize some objective forms. Basically there are three major components in every system, namely input, processing and output. In a system the different components are connected with each other and they are interdependent. For example, Human body represents a complete natural system. We are also bound by many national systems such as political system, economic system, educational system and so forth. The objectives of the system demand that some output is produced as a result of processing the suitable inputs. Activity A (Courseware Activity) <Instruction: Click and drag …etc> Activity B (Group Activity) <Instruction: Discuss, collect, visit…etc> Exercise <Topic #> <Lesson Title> | Private and Confidential 4 CONTENT WRITING TEMPLATE <Topic #> <Lesson Title> | Private and Confidential Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 5 CONTENT WRITING TEMPLATE Topic Title : Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 Topic 2: The information Systems Development Life Cycle (SDLC) Sub Topic 11.2.1 Information system aims at providing detailed information on a timely basis throughout the organization so that the top management can take proper and effective decisions. The information system cuts across departmental lines and help achieving overall optimization for the organization. The organization is viewed as a network of inter-related sub-systems rather than as a hierarchy of manager-subordinate relationship. The information system can be of two types: (a) Integrated information system (b) Distributed information system Sub Topic 11.2.2 Integrated Information System Based on the presumption that the data and information are used by more than one system in the organization and accordingly, the data and information are channeled into a reservoir or database. All the data processing and provision of information is derived and taken from this common database. The development of an integrated information system requires a long-term overall plan, commitment from management at all levels, highly technical personnel, availability of sufficient fund, and sophisticated technology. It also requires adequate standby facilities, without which the system is doomed to failure. Because of its integrated component, the modification to the system is quite difficult and the system development takes a fairly long time. Insert a block diagram showing an integrated information system Sub Topic 11.2.3 Distributed Information System There are opinion that development of an integrated information system is embodied with several practical problems and therefore, not feasible. This view has been reinforced by the failure of integrated systems in various large organizations. The concept of a distributed information system has emerged as an alternative to the integrated <Topic #> <Lesson Title> | Private and Confidential 6 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 information system. In the distributed information system, there are information sub-systems that form islands of information systems. The distributed information system aims at establishing relatively independent sub-systems, which are, however, connected through communication interfaces. Insert a block diagram showing a distributed information system Sub Topic 11.2.4 There must be a special reason/s for choosing distributed information system! Following are the advantages of the distributed information system: The processing equipments as well as databases are dispersed, bringing them closer to the users. It does not involve huge initial investment as is required in an integrated system. It is more flexible and changes can be easily taken care of as per user's requirements. The problem of data security and control can be handled more easily than in an integrated system. There is no need of standby facilities because equipment breakdowns are not as calamitous as in an integrated system. Sub Topic 11.2.5 What about the negative aspects? The drawbacks of the distributed system are: It does not eliminate duplication of activities and redundancy in maintaining files. Coordination of activities becomes a problem. It needs more channels of communication than in an integrated system. Activity A (Courseware Activity) True or False: 1. In an integrated information system, the whole organizations used the same database. 2. The development of an integrated information system requires a long-term overall plan, commitment from management at all levels, highly technical personnel, availability of sufficient fund, and sophisticated technology. <Topic #> <Lesson Title> | Private and Confidential 7 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 3. Distributed information system aims at establishing relatively independent databases. 4. The development of Distributed information system involves huge initial investment as is required in an integrated system. 5. In distributed information systems, the problem of data security and control can be handled more easily than in an integrated system. 6. Distributed information systems are not flexible and changes cannot be easily taken care of as per user's requirements 7. In distributed information systems, there is no need of standby facilities because equipment breakdowns are not as calamitous as in an integrated system. 8. In distributed information systems, coordination of activities is not a problem. 9. Distributed information systems need more channels of communication than in an integrated system. 10. Integrated information system requires adequate standby facilities. Answers: 1. True 2. True 3. False 4. False 5. True 6. False 7. True 8. False 9. True 10. True Activity B (Group Activity) Exercise . <Topic #> <Lesson Title> | Private and Confidential 8 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 . Topic Title : Topic 3: The information Systems Development Life Cycle (SDLC) Sub Topic 11.3.1 System life cycle is an organizational process of developing and maintaining systems. It helps in establishing a system project plan, because it gives overall list of processes and sub-processes required developing a system. In the System Analysis and Design terminology, the system development life cycle means software development life cycle. In short it is often referred to as SDLC. See figure 11.2. It is made up of the following phases: (a) System study (b) Feasibility study (c) System analysis (d) System design (e) Coding (f) Testing (g) Implementation (h) Maintenance The whole process can be summarised in a diagram shown in the next slide. Sub Topic 11.3.2 Insert figue 11.2 of the mastertext We will now look at each phase to understand what happens at each stage and see how they are related to other stages of the SDLC. Sub Topic 11.3.3 a) System study System study gives a clear picture of what actually the physical system is. It is done in two phases. In the first phase, the preliminary survey of the system is done which helps in identifying the scope of the system. The second phase of the system study is more detailed and in-depth study in which the identification of user’s requirement and the limitations and problems of the present system are studied. After completing the system study, a system proposal is prepared by the System Analyst (who studies the system) and placed before the user. <Topic #> <Lesson Title> | Private and Confidential 9 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 The proposed system contains the findings of the present system and recommendations to overcome the limitations and problems of the present system in the light of the user’s requirements. Insert a block diagram to explain the above explanation. Sub Topic 11.3.4 (b) Feasibility study The feasibility study is basically the test of the proposed system in the light of its workability, meeting user’s requirements, effective use of resources and .of course, the cost effectiveness. In the process of feasibility study, the cost and benefits are estimated with greater accuracy. The outcome of this study is the feasibility study report which management uses to decide whether to proceed with the system development or otherwise. The report will be of three types: - operational feasibility report, technical feasibility report and financial feasibility report. Insert a block diagram to explain the above explanation. Sub Topic 11.3.5 (c) System analysis Analysis involved a detailed study of the current system, leading to specifications of a new system. It is a detailed study of various operations performed by a system and their relationships within and outside the system. During analysis, data are collected on the available files, decision points and transactions handled by the present system. Interviews, on-site observation and questionnaire are the tools used for system analysis. All procedures, requirements must be analyzed and documented in the form of detailed data flow diagrams (DFDs), data dictionary, logical data structures and miniature specifications. System Analysis also includes sub-dividing of complex process involving the entire system, identification of data store and manual processes. The outcome of the system analysis phase is the detailed systems analysis report which will be used during the system design and system development phase. <Topic #> <Lesson Title> | Private and Confidential 10 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 Insert a block diagram to explain the above explanation. Sub Topic 11.3.6 (d) System design Based on the user requirements and the detailed analysis of a new system, the new system is designed. This is the phase of system designing and it proceeds in two stages : preliminary or general design Structure or detailed design Let us look at each stage a little closer. Sub Topic 11.3.7 Preliminary or general design In the preliminary or general design, the features of the new system are specified. The costs of implementing these features and the benefits to be derived are estimated. If the project is still considered to be feasible, we move to the detailed design stage. Detailed design stage In the detailed design stage, computer oriented work begins in earnest. At this stage, the design of the system becomes more structured. Structure design is a blue print of a computer system solution to a given problem having the same components and inter-relationship among the same components as the original problem. Input, output and processing specifications are drawn up in detail. In the design stage, the programming language and the platform in which the new system will run are also decided. Insert a block diagram to explain the above explanation. Sub Topic 11.3.8 There is a lot of work involved at this stage and it is impossible for the analysis to describe everything in words. Therefore the analysts will require some specific tools to assist them. There are several tools and techniques used for designing. These tools and techniques are: Flowchart Data flow diagram (DFDs) <Topic #> <Lesson Title> | Private and Confidential 11 CONTENT WRITING TEMPLATE Data dictionary Structured English Decision table Decision tree Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 Insert examples of the above diagrams. Sub Topic 11.3.9 (e) Coding This is also called the programming phase in which the programmer converts the program specifications into computer instructions, which we refer as programs. The programs coordinate the data movements and control the entire process in a system. Insert a sample page of program codes. Sub Topic 11.3.10 (f) Testing Before actually implementing the new system into operations, a test run of the system is done removing all the bugs, if any. After codifying the whole programs of the system, a test plan should be developed and run on a given set of test data. The output of the test run should match the expected results. Using the test data following test run are carried out: Unit test System test Unit test: When the programs have been coded and compiled and brought to working conditions, they must be individually tested with the prepared test data. Any undesirable happening must be noted and debugged (error corrections). System Test: After carrying out the unit test for each of the programs of the system and when errors are removed, then system test is done. At this stage the test is done on actual data. The complete system is executed on the actual data. At each stage of the execution, the results or output of the system is analyzed. During the result analysis, it may be found that the outputs are not matching the expected out of <Topic #> <Lesson Title> | Private and Confidential 12 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 the system. In such case, the errors in the particular programs are identified and are fixed and further tested for the expected output. When it is ensured that the system is running error-free, the users are called with their own actual data so that the system could be shown running as per their requirements. Insert a block diagram to explain system testing. Sub Topic 11.3.11 (g) Implementation Implementation is the stage of a project during which theory is turned into practice. During this phase, all the programs of the system are loaded onto the user's computer. After loading the system, training of the users starts. After the users are trained about the computerized system, manual working has to shift from manual to computerized working. The following two strategies are followed for running the system: i. Parallel run: In such run for a certain defined period, both the systems i.e. computerized and manual are executed in parallel. ii. Pilot run: In this type of run, the new system is installed in parts. Some part of the new system is installed first and executed successfully for considerable time period. When the results are found satisfactory then only other parts are implemented. This strategy builds the confidence and the errors are traced easily. Insert block diagrams to explain parallel run and pilot run. Sub Topic 11.3.12 (h) Maintenance Once the system is up and running, we need to do maintenance work. Maintenance is necessary to eliminate errors in the system during its working life and to tune the system to any variations in its working environment. It has been seen that there are always some errors found in the system that must be noted and corrected. It also means the review of the system from time to time. The review of the system is done for: I. knowing the full capabilities of the system II. knowing the required changes or the additional requirements III. studying the performance <Topic #> <Lesson Title> | Private and Confidential 13 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 If a major change to a system is needed, a new project may have to be set up to carry out the change. The new project will then proceed through all the above life cycle phases. Activity A (Courseware Activity) Fill in the blanks. 1. During the …… stage, all the programs of the system are loaded onto the user's computer and the training of the users starts. 2. During the …… stage, errors in the system during its working life are eliminated and the system is fine tuned to cater for any variations in its working environment. 3. During the …… stage, all bugs in the programs are removed. 4. During the …… stage, the programmer converts the program specifications into computer instructions, which we refer as programs. 5. During the …… stage, the features of the new system are specified 6. During the …… stage, Input, output and processing specifications are drawn up in detail 7. During the …… stage, data are collected on the available files, decision points and transactions handled by the present system. 8. During the …… stage, the cost and benefits of the proposed system are estimated with greater accuracy. 9. During the …… stage, a clear picture of what actually the physical system is defined. 10. During the …… stage, a system proposal is prepared by the System Analyst Answer: 1. Implementation 2. maintenance 3. testing 4. coding 5. preliminary or general design 6. detail design 7. analysis 8. feasibilty study 9. System study 10. System study Activity B (Group Activity) <Topic #> <Lesson Title> | Private and Confidential 14 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 Exercise Topic Title : Topic 4: Rapid Application Development (RAD), prototyping, Joint Application Development (JAD) and Computer Aided Software Engineering (CASE). Sub Topic 11.4.1 There are many methodologies or approach to SDLC. The common ones that we will mention in our lesson will be: Rapid Application Development (RAD) Joint Application Development (JAD) Prototyping Computer Aided Software Engineering (CASE) We shall now look at each one briefly to complete our understanding of how information systems can be developed efficiently. Sub Topic 11.4.2 Rapid application development (RAD) A variation on JAD, attempts to create an application more quickly through strategies that include fewer formal methodologies and reusing software components. With conventional methods, there is a long delay before the customer gets to see any results. Development can take so long that the customer's business has fundamentally changed by the time the system is ready for use. The user cannot see anything until 100% of the development process is finished and 100% of the software is delivered. RAD are used because: to converge early toward a design acceptable to the customer and feasible for the developers to limit a project's exposure to the forces of change to save development time, possibly at the expense of economy or product quality Insert a block diagram to show how RAD works. <Topic #> <Lesson Title> | Private and Confidential 15 Revision No. Document No. Effective Date: CONTENT WRITING TEMPLATE 0 CWT/ISDT/001 Sept 2008 Sub Topic 11.4.3 Joint Application Development (JAD) The Joint Application Development (JAD) methodology aims to involve the client in the design and development of an application. This is accomplished through a series of collaborative workshops called JAD sessions. JAD is thought to lead to shorter development times and greater client satisfaction, both of which stem from the constant involvement of the client throughout the development process. On the other hand, with the traditional approach to systems development, the developer investigates the system requirements and develops an application, with client input consisting of a series of interviews. Insert a block diagram to show how JAD works. Sub Topic 11.4.4 Prototyping The process of quickly putting together a working model (a prototype) in order to test various aspects of a design, illustrate ideas or features and gather early user feedback. Often treated as an integral part of the system design process, where it is believed to reduce project risk and cost. Often one or more prototypes are made in a process of iterative and incremental development where each prototype is influenced by the performance of previous designs; in this way, problems or deficiencies in design can be corrected. When the prototype is sufficiently refined and meets the functionality, robustness, manufacturability and other design goals, the product is ready for production. Insert a block diagram to show how prototyping works. Sub Topic 11.4.5 Advantages of Prototyping May provide the proof of concept necessary to attract funding Early visibility of the prototype gives users an idea of what the final system looks like Encourages active participation among users and producer Enables a higher output for user Cost effective (Development costs reduced) <Topic #> <Lesson Title> | Private and Confidential 16 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 Increases system development speed Assists to identify any problems with the efficacy of earlier design, requirements analysis and coding activities Helps to refine the potential risks associated with the delivery of the system being developed Sub Topic 11.4.6 Disadvantages of prototyping User’s expectation on prototype may be above its performance Possibility of causing systems to be left unfinished Possibility of implementing systems before they are ready. Producer might produce a system inadequate for overall organization needs Producer might get too attached to it (might cause legal involvement) Often lack flexibility Not suitable for large applications Sub Topic 11.4.7 Computer Aided Software Engineering (CASE). CASE (computer-aided software engineering) is the use of a computer-assisted method to organize and control the development of software, especially on large, complex projects involving many software components and people. Using CASE allows designers, code writers, testers, planners, and managers to share a common view of where a project stands at each stage of development. CASE helps ensure a disciplined, check-pointed process. A CASE tool may portray progress (or lack of it) graphically. It may also serve as a repository for or be linked to document and program libraries containing the project's business plans, design requirements, design specifications, detailed code specifications, the code units, test cases and results, and marketing and service plans. Sub Topic 11.4.8 Background of CASE CASE originated in the 1970s when computer companies were beginning to borrow ideas from the hardware manufacturing process and applies them to software development (which generally has been viewed as an insufficiently disciplined process). Some CASE tools supported the concepts of structured programming and similar organized <Topic #> <Lesson Title> | Private and Confidential 17 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 development methods. More recently, CASE tools have had to encompass or accommodate visual programming tools and object-oriented programming. In corporations, a CASE tool may be part of a spectrum of processes designed to ensure quality in what is developed. Sub Topic 11.4.9 Benefits of CASE Some of the benefits of CASE and similar approaches are that, by making the customer part of the process (through market analysis and focus groups, for example), a product is more likely to meet real-world requirements. Because the development process emphasizes testing and redesign, the cost of servicing a product over its lifetime can be reduced considerably. An organized approach to development encourages code and design reuse, reducing costs and improving quality. Finally, quality products tend to improve a corporation's image, providing a competitive advantage in the marketplace. Activity A (Courseware Activity) Activity B (Group Activity) Exercise . Topic Title : Topic 5: Agile methodologies and extreme programming <Topic #> <Lesson Title> | Private and Confidential 18 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 Sub Topic 11.5.1 Besides the RAD, JAD, CASE and prototyping, there are newer and better methodologies being introduced to improve systems development. Agile develoment and Extreme programming are some of them. We will now look at them to understand how these new approaches work. Sub Topic 11.5.2 Agile Methodology An approach to project management, typically used in software development. Helps teams respond to the unpredictability of building software through incremental, iterative work cadences, known as sprints. In waterfall, development teams only have one chance to get each aspect of a project right. In an agile paradigm, every aspect of development — requirements, design, etc. — is continually revisited throughout the lifecycle. When a team stops and re-evaluates the direction of a project every two weeks, there’s always time to steer it in another direction. By focusing on the repetition of abbreviated work cycles as well as the functional product they yield, agile methodology could be described as “iterative” and “incremental.” The results of this “inspect-and-adapt” approach to development greatly reduce both development costs and time to market. Agile development methodology helps companies build the right product. Instead of committing to market a piece of software that hasn’t even been written yet, agile empowers teams to optimize their release as it’s developed, to be as competitive as possible in the marketplace. Sub Topic 11.5.3 Extreme Programming (XP) a deliberate and disciplined approach to software development. It is only eight years old but it has already been proven at many companies of all different sizes and industries worldwide to work. XP is successful because it stresses customer satisfaction. The methodology is designed to deliver the software your customer needs when it is needed. XP empowers your developers to confidently respond to changing customer requirements, even late in the life cycle. Emphasizes on teamwork. Managers, customers, and developers are all part of a team dedicated to delivering quality software. XP implements a simple, yet effective way to enable groupware style development. <Topic #> <Lesson Title> | Private and Confidential 19 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 XP improves a software project in four essential ways; communication, simplicity, feedback, and courage. XP programmers communicate with their customers and fellow programmers. They keep their design simple and clean. They get feedback by testing their software starting on day one. They deliver the system to the customers as early as possible and implement changes as suggested. With this foundation XP programmers are able to courageously respond to changing requirements and technology. XP is a lot like a jig saw puzzle. There are many small pieces. Individually the pieces make no sense, but when combined together a complete picture can be seen. This is a significant departure from traditional software development methods and ushers in a change in the way we program. Activity A (Courseware Activity) True or False: 1. Agile methodology could be described as “iterative” and “incremental.” 2. Agile development cannot reduce both development costs and time to market. 3. Agile development focuses on the repetition of abbreviated work cycles as well as the functional product they yield. 4. Agile development methodology helps companies build the right product 5. XP has already been proven at many companies of all different sizes and industries worldwide to work. 6. XP empowers your developers to confidently respond to changing customer requirements, but oly in the early life cycle. 7. XP does not emphasize on teamwork. Answers: 1. True 2. False 3. True 4. True 5. True 6. Fasle 7. False Activity B (Group Activity) <Topic #> <Lesson Title> | Private and Confidential 20 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 Exercise . Topic Title : Topic 6: Object Oriented Analysis and Design and the Rational Unified Process (RUP). Sub Topic 11.6.1 Another approach to system development is through the object oriented paradigm. In the conventional method, we use entities to model our data, but in object oriented approach we use objects to represent data. These objects have attributes to describe them and processes that it can be involved in which are called methods. The approach to use objects in SLDC is called the Object Oriented Analysis and Design. It is field or subject on its own. It has a set of notation and tools to assist analysts to develop systems. To capture and document user requirements, the Use Case diagrams are used. To show the flow of events and data in a process, the sequence diagrams are used. To show all the objects and relationships between objects, the object and class diagrams are used. Even though the Object Oriented Analysis and Design approach has been introuced since the late 1960s, the conventional approach to SDLC is still very much preferred and used in the industry. Sub Topic 11.6.2 Rational Unified Process (RUP) an object-oriented and Web-enabled program development methodology. RUP is like an online mentor that provides guidelines, templates, and examples for all aspects and stages of program development. RUP and similar products -- such as Object-Oriented Software Process (OOSP), and the OPEN Process -- are comprehensive software engineering tools that combine the procedural aspects of development (such as defined stages, techniques, and practices) with other components of development (such as documents, models, manuals, code, and so on) within a unifying framework. <Topic #> <Lesson Title> | Private and Confidential 21 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 Sub Topic 11.6.3 RUP establishes four phases of development, each of which is organized into a number of separate iterations that must satisfy defined criteria before the next phase is undertaken: I. in the inception phase, developers define the scope of the project and its business case; II. in the elaboration phase, developers analyze the project's needs in greater detail and define its architectural foundation; III. in the construction phase, developers create the application design and source code; IV. and in the transition phase, developers deliver the system to users. RUP provides a prototype at the completion of each iteration. The product also includes process support for Java 2 Enterprise Edition (J2EE) and BEA (WebLogic) development, and supplies an HTML-based description of the unified process that an organization can customize for its own use. Insert a block diagram to represent the above cycle. Sub Topic 11.6.4 Other Methodologies that you may find includes: Adaptive Project Framework Crystal Methods Dynamic Systems Development Model (DSDM) Feature Driven Development (FDD) Information Technology Infrastructure Library (ITIL) Lean Development (LD) PRINCE2 Rational Unified Process (RUP) Scrum Spiral TenStep Project Management Process Waterfall (a.k.a. Traditional) Click on the above links to find out more about these methodologies and you may nt know whch one to adopt. Each has its own strengths and weaknesses. Activity A (Courseware Activity) Fill in the blanks. 1. In the object oreinted methodology the ….. is used to capture and document user requirements. <Topic #> <Lesson Title> | Private and Confidential 22 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 2. In the object oreinted methodology the ….. is used to show the flow of events and data in a process. 3. In the object oreinted methodology the ….. is used to show the objects and relationships between them. 4. ….. provides guidelines, templates, and examples for all aspects and stages of program development. 5. … is an object-oriented and Web-enabled program development methodology. 6. In the ……. Phase of the RUP, developers define the scope of the project and its business case. 7. In the ……. Phase of the RUP, developers analyze the project's needs in greater detail and define its architectural foundation. 8. In the ……. Phase of the RUP, developers create the application design and source code. 9. In the ……. Phase of the RUP, developers deliver the system to users. 10. ….. provides a prototype at the completion of each iteration. Answers: 1. Use case diagram 2. Sequence diagram 3. Object and class dagrams 4. RUP 5. RUP 6. inception phase 7. elaboration phase 8. construction phase 9. transition phase 10. RUP Activity B (Group Activity) Exercise <Topic #> <Lesson Title> | Private and Confidential 23 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 *Add more table for new topic if necessary. <Topic #> <Lesson Title> | Private and Confidential 24 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 Summary In the end of this lesson, you have learned that: A system is a collection of components that work together to realize some objective forms. Information system aims at providing detailed information on a timely basis throughout the organization so that the top management can take proper and effective decisions. The information system can be of two types: Integrated information system and Distributed information system. The system development life cycle is made up eight phases: System study, Feasibility study, System analysis, System design, Coding, Testing, Implementation and Maintenance. Rapid application development (RAD), attempts to create an application more quickly through strategies that include fewer formal methodologies and reusing software components Prototyping is the process of quickly putting together a working model (a prototype) in order to test various aspects of a design, illustrate ideas or features and gather early user feedback. The Joint Application Development (JAD) methodology aims to involve the client in the design and development of an application. CASE (computer-aided software engineering) is the use of a computer-assisted method to organize and control the development of software, especially on large, complex projects involving many software components and people. Agile methodology helps teams respond to the unpredictability of building software through incremental, iterative work cadences, known as sprints. Extreme Programming (XP) is actually a deliberate and disciplined approach to software development. Rational Unified Process (RUP) is an object-oriented and Web-enabled program development methodology. Self Assessment Fill in the blanks: 1. A …… is a collection of components that work together to realize some objective forms. 2. …… is an object-oriented and Web-enabled program development methodology. 3. ….. is a successful software development approach because it stresses customer satisfaction. 4. In ……. aspects of development such as: requirements, design, etc. — are continuously revisited <Topic #> <Lesson Title> | Private and Confidential 25 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 throughout the lifecycle. 5. Some ….. support the concepts of structured programming and similar organized development methods. 6. …… can lead to shorter development times and greater client satisfaction, both of which stem from the constant involvement of the client throughout the development process. 7. ……. is often treated as an integral part of the system design process, where it is believed to reduce project risk and cost. 8. ……. attempts to create an application more quickly through strategies that include fewer formal methodologies and reusing software components. 9. ……. is the stage of a project during which all the programs of the system are loaded onto the user's computer. 10. …… is when the programs which have been coded and compiled and brought to working conditions, are individually tested with the prepared test data. 11. The ……. stage is when the design of the system becomes more structured. 12. The ……. is basically the test of the proposed system in the light of its workability, meeting user’s requirements, effective use of resources and cost effectiveness. 13. The second phase of the …… is more detailed and in-depth, in which the identification of user’s requirement and the limitations and problems of the present system are studied. 14. The …… system is based on the presumption that the data and information are used by more than one system in the organization. 15. ……. is an organizational process of developing and maintaining systems. Answers: 1. System 2. Rational Unified Process (RUP) 3. XP 4. agile programming 5. CASE tools 6. JAD 7. Prototyping 8. Rapid application development (RAD) 9. Implementation 10. Unit test 11. detailed design 12. feasibility study <Topic #> <Lesson Title> | Private and Confidential 26 CONTENT WRITING TEMPLATE Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 13. system study 14. integrated information 15. System life cycle Short Essay Questions: 1. Define a system. Explain the components of a system. 2. What do you understand by system development life cycle? 3. Discuss the importance of system analysis and design in the development of a system? 4. What is difference between integrated information system and distributed information system? 5. What are the advantages of distributed systems? 6. What are the advantages and disadvantages of prototyping? 7. Compare and contrast between CASE tools, Prototyping, JAD and RAD. 8. What happens during the testing stage of the SDLC? 9. Why is the analysis phase of the SDLC very important? 10. Why is extreme programming getting more and more popular? Reference Computing Essentials 2002-2003 Complete, 14/e, Timothy J. O'Leary, Linda I. O'Leary, McGraw-Hill 2003. Ending *A short brief for the next lesson. <Topic #> <Lesson Title> | Private and Confidential 27 CONTENT WRITING TEMPLATE <Topic #> <Lesson Title> | Private and Confidential Revision No. Document No. Effective Date: 0 CWT/ISDT/001 Sept 2008 28