bcspgdse2.blogspot.com
Open in
urlscan Pro
2a00:1450:4001:82b::2001
Public Scan
URL:
https://bcspgdse2.blogspot.com/
Submission: On July 03 via api from US — Scanned from DE
Submission: On July 03 via api from US — Scanned from DE
Form analysis
0 forms found in the DOMText Content
SOFTWARE ENGINEERING (BCS PGD) GUIDANCE FROM MS.DILSHARA WEERASINGHE This is a Personal Education Blog Maintained by Dilshara Weerasinghe - a Senior Lecturer in ICT and Business Management . Feel free to use these material and excel in your studies :) Good Luck ! FRIDAY, MARCH 16, 2018 30. LEGACY SYSTEM MANAGEMENT there are still many legacy systems that are critical business systems. These have to be extended and adapted to changing e-business practices. legacy systems that they use, with a limited budget for maintaining and upgrading these systems They have to decide how to get the best return on their investment There are four strategic options 1. Scrap the system completely This option should be chosen when the system is not making an effective contribution to business processes. This commonly occurs when business processes have changed since the system was installed and are no longer reliant on the legacy system. 2. Leave the system unchanged and continue with regular maintenance This option should be chosen when the system is still required but is fairly stable and the system users make relatively few change requests. 3. Reengineer the system to improve its maintainability This option should be chosen when the system quality has been degraded by change and where a new change to the system is still being proposed. This process may include developing new interface components so that the original system can work with other, newer systems. 4. Replace all or part of the system with a new system This option should be chosen when factors, such as new hardware, mean that the old system cannot continue in operation or where off-the-shelf systems would allow the new system to be developed at a reasonable cost. In many cases, an evolutionary replacement strategy can be adopted in which major system components are replaced by offthe-shelf systems with other components reused wherever possible. 1. Low quality, low business value - Scrap Keeping these systems in operation will be expensive and the rate of the return to the business will be fairly small. These systems should be scrapped. 2. Low quality, high business value - replace These systems are making an important business contribution so they cannot be scrapped. However, their low quality means that it is expensive to maintain them. These systems should be reengineered to improve their quality. They may be replaced, if a suitable off-the-shelf system is available. 3. High quality, low business value - Continue or Scrap These are systems that don’t contribute much to the business but which may not be very expensive to maintain. It is not worth replacing these systems so normal system maintenance may be continued if expensive changes are not required and the system hardware remains in use. If expensive changes become necessary, the software should be scrapped. 4. High quality, high business value - Continue These systems have to be kept in operation. However, their high quality means that you don’t have to invest in transformation or system replacement. Normal system maintenance should be continued. What about this paper question ? March 2016 A2. a) Explain what is meant by a legacy system and why such systems may be critical to the operation of an organization. Discuss ways in which organizations can lessen their reliance on legacy systems. (10 marks) Sep 2016 - A2 b) When you are assessing a legacy system, you have to look at it from a business perspective and a technical perspective. From a business perspective, you have to decide whether the business really needs the system. From a technical perspective, you have to assess the quality of the system and its related support software and hardware. You then use a combination of the business value and the system quality to take one of the following informed decisions: scrap the system, re-engineer the system, replace the system, continue the system’s maintenance. Your task is to assess legacy systems in your organization and decide what would be the most appropriate strategy for maintaining these systems. ii. Assume that you assessed four systems and the results of the assessment are as follows: System A: high quality, low business value System B: high quality, high business value System C: low quality, low business value System D: low quality, high business value What would be your recommendations for each of these systems? Justify your decisions. (10 marks) at March 16, 2018 No comments: Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest 29. FUNCTION POINTS VS OBJECT POINTS hello all, remember we learnt the software estimation techniques . COCOMO and FP ? in another way COCOMO and FP can be taken as software measurements (metrics ) , here I am listing another metric ; object points below . Function points FP are a language independent way of expressing the functionality in a program. Productivity is expressed as the number of function points that are implemented per person-month. A function point is computed by combining several different measurements or estimates (see below) You can then compute the so-called unadjusted function-point count (UFC) by multiplying each initial count by the estimated weight and summing all values. The unadjusted function-point count is then readjusted and yield final function-point count for the overall system. problems unction-point count in a program depends on the estimator. Different people have different notions of complexity. Object Points (Application Points ) Application points are an alternative to function points. Object points are only concerned with screens, reports and modules in conventional programming languages. The advantage of application points over function points is that they are easier to estimate The number of application points in a program is a computed using , * The number of separate screens that are displayed * The number of reports that are produced. * The number of modules in codes to be developed to supplement the database programming code Problems They are not concerned with implementation details and the complexity factor estimation is much simpler When you have free time (perhaps after exams ) read this for more information : http://fattocs.com/en/resources/faq Source : https://ifs.host.cs.st-andrews.ac.uk/Books/SE9/Web/Planning/FPs.html Try this question : 2016 Sep A1 - b) Object Points and Function Points are general, high level system size metrics. Which aspects of the software system are taken into account in the Object Point metric, and which in the Function Point metric? at March 16, 2018 1 comment: Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest 28. LEHMAN’S LAWS OF SOFTWARE EVOLUTION Remember we did a lesson on configuration management and change management ? here is an additional element to the same lesson : Law 1 first law states that system maintenance is an inevitable process. As the system’s environment changes, new requirements emerge and the system must be modified. Law 2 The second law states that, as a system is changed, its structure is degraded Law 3 large systems have a dynamic of their own that is established at an early stage in the development process. which suggests that program evolution is largely independent of management decisions Law 4 Lehman’s fourth law suggests that most large programming projects work in a ‘saturated’ state. That is, a change to resources or staffing has imperceptible effects on the long-term evolution of the system Law 5 Lehman’s fifth law is concerned with the change increments in each system release. Adding new functionality to a system inevitably introduces new system faults. Law 6 and 7 When the time passes , new functions need to be added based on operational and environmental demands. ( users of software will become increasingly unhappy with it unless it is maintained and new functionality is added to it) Law 8 in order to see products improvement, you need to collect feedback and improve accordingly. (it is not yet clear how this can be applied in practical software development) Summary of Lehman’s 8 Laws Try this question : 2016 Sep A2 a) With respect to Lehman's laws of software evolution, state the two most fundamental laws and explain their implication for software lifecycle management. (5 marks) at March 16, 2018 1 comment: Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest 27. SOFTWARE METRICS LESSON TO BE DONE ON 18TH MARCH A high quality process (input) that can result in a high quality product (output) Software Metric produces a numeric value or profile for an attribute of a software component, system, or process examples : * Size of a product in lines of code * the Fog index (Gunning, 1962), which is a measure of the readability of a passage of written text * the number of reported faults in a delivered software product * number of person-days required to develop a system component Purpose of having a Metric Metrics facilitate prediction, costing, and management decision-making on the process, and expected products. By comparing the values produced in measurement they can compare to the standards that apply across an organization, you may be able to draw conclusions about the quality of software, or assess the effectiveness of software processes, tools, and methods produce an example of using a metric in a project: example, say an organization intends to introduce a new software-testing tool. Before introducing the tool, you record the number of software defects discovered in a given time. This is a baseline for assessing the effectiveness of the tool. After using the tool for some time, you repeat this process. If more defects have been found in the same amount of time, after the tool has been introduced, then you may decide that it provides useful support for the software validation process Software Metrics – 2 Types 1. control metrics (aka Process Metrics) - support process management eg : average effort and the time required to repair reported defects 2. predictor metrics ( aka Product Metrics)- help you predict characteristics of the software eg : cyclomatic complexity of a module , average length of identifiers in a program, number of attributes and operations associated with object classes in a design How Metrics are use din each SDLC stage * requirements analysis and specification metrics can help to highlight critical aspects of the expected product, its quality and subsequent maintenance, based on available process and resource inputs. For example, a simple function point analysis may highlight the scale of the development and likelihood of delivery within timescale such that the stakeholders are asked to revisit the requirements, re scope and cost the system; * design phase process metrics can highlight complexity, productivity, and engineering build quality. For example, the McCabe complexity metric as an indicator of complexity can result in design decisions about the process of decomposition, and subsequent testing and maintenance processes. * implementation and testing phase metrics can verify and predict operational performance, configuration and maintenance requirements. For example, a metric for testing in terms of defects identified per 100 modules inspected, may cause stakeholders to release the product early, in the sure knowledge of the number and timing of patches that would follow in terms of maintenance. * maintenance phase process metrics are concerned with change, their frequency, the sub-systems affected, and the predicted cost and expected system lifetime. Process metrics such as these can lead to decisions to delay certain requests, or system decommissioning. Directly Measurable Quality attributes Depth of Inheritance Tree Cyclomatic Complexity No of Errors/ error messages Program size in No of Lines of Code Length of user manual Indirectly Measurable Quality attributes Maintainability , Reliability ,Reusability , Usability but there many be relationships between external and internal attributes, so we can indirectly measure them Now lets talk about few product metrics Product metrics have 2 classes 1. Dynamic metrics, which are collected by measurements made of a program in execution. Dynamic metrics help to assess the efficiency and reliability of a program eg : number of bug reports or the time taken to complete a computation 2. Static metrics, which are collected by measurements made of representations of the system, such as the design, program, or documentation. Static metrics help assess the complexity, understandability, and maintainability of a software system eg : code size and the average length of identifiers used Some descriptions of Static Metrics *** Cyclomatic complexity is a software metric, used to indicate the complexity of a program. It is a quantitative measure of the number of linearly independent paths through a program's source code.Lower the Program's cyclomatic complexity, lower the risk to modify and easier to understand lets do a simple calculation of Cyclomatic Complexity Cyclomatic complexity = E - N + 2*P where, E = number of edges in the flow graph. N = number of nodes in the flow graph. P = number of nodes that have exit points The Cyclomatic complexity is calculated using the above control flow diagram that shows seven nodes(shapes) and eight edges (lines), One exit point hence the cyclomatic complexity is 8 - 7 + 2 = 3 questions to try : March 2017 A1 a) Write a brief overview of the various forms of software process metrics available today, and discuss how they might be usefully employed from the initial project stages, through to the commissioning of a new system. Illustrate your answers with examples. c) Consider the following software attributes: Maintainability, Cyclomatic complexity, Lines of Code count (LOC), Reliability, Number of errors. Which of these attributes can be measured directly and which indirectly? Justify your answers. at March 16, 2018 1 comment: Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest MONDAY, MARCH 12, 2018 26. LETS DISCUSS A GENERAL QUESTION ON PROCESS IMPROVEMENT - 3 Look at Sep 2017 Question 4 part a Define the term software process improvement, and explain how the process triangle of product, people and technology can impact quality and performance how are you going to answer this kind of a generic question ? 1. first explain what process improvement means (refer to my note ) 2. then explain the process triangle : people, process , technology ( use this link for a very related explanation : https://justindavies.com.au/2007/02/09/people-process-technology-still-the-3-keys-to-successful-application-development-projects/) 3. Explain how each element above can impact quality and performance of an organization / project (here is a very related article : https://www.linkedin.com/pulse/understanding-people-process-technology-equation-kevin-decker ) at March 12, 2018 No comments: Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest 25. LETS DISCUSS A QUALITY MANAGEMENT QUESTION ONLINE - 2 Hello all , trust we did a quality assurance and quality management lecture few weeks ago. Gess I have forgotten to upload the note. here it is…. please have a strong look at the ISO 9126 , ISO 9001:2008 guidelines . these are useful for the answers https://www.dropbox.com/s/ps162jyzzivlq4l/PROJECT%20QUALITY%20MANAGEMENT.pdf?dl=0 consider Sep 2017 – Question 4 – part 3 A small to medium sized software house is considering the use of a reference framework such as CMMI, and ISO/IEC 12207 for improving its own processes. Write a report that presents a brief outline of ONE of these reference frameworks highlighting the degree of coverage of the software process, independence of specific methodologies, and acceptance amongst software professionals and communities. (12 marks) You can freely choose CMMI and explain how an organization is supposed to improve their processes , using CMMI as a guideline . here is a structure for your answer * what is CMMI * what's the importance of CMMI for an organization * provide the diagram for CMMI * explain each stage and how each stage relate to software processes ( eg : requirements gathering in random data gathering methods like informal discussions could be done in “initial stage” of CMMI ) * explain how far CMMI is relevant to a software company * explain how MCMI is providing guidelines generic to any company what if you choose ISO / IEC 12207 whats ISO 12207 ? This International Standard establishes a common framework for software life cycle processes, with well-defined terminology, that can be referenced by the software industry. It aims to be the standard that defines all the tasks required for developing and maintaining software. It applies to the acquisition of systems and software products and services, to the supply, development, operation, maintenance, and disposal of software products and the software portion of a system, whether performed internally or externally to an organization. Those aspects of system definition needed to provide the context for software products and services are included. Software includes the software portion of firmware (read more : https://www.iso.org/obp/ui/#iso:std:iso-iec:12207:ed-2:v1:en ) This standard contains Primary processes and each process contain activities . There are six different main processes: * Acquisition * Supply * Development * Operation * Maintenance * Destruction each process has a set of activities . for each activity , deliverables are defined. read more on : https://en.wikipedia.org/wiki/ISO/IEC_12207 at March 12, 2018 No comments: Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest 23. LETS DISCUSS SOME PAST PAPER QUESTIONS ONLINE–1 Look at Sep 2017 Q4 – part 2 Give a brief explanation of what improvements can be made to the construction and infrastructure management processes of a traditional development process cycle. (8 marks) what are the exactly looking for in this answer ? all you need to elaborate here are , *** what are the issues that exist in a traditional SDLC processes . How can they be improved by incorporating good practices of other SDLC models such a Agile , INcremental , RAD etc … here is a suggested structure for your answer * What are the main steps of traditional SDLC ? * Provide a diagram ( waterfall) * what are the key unique features / limitations of traditional SDLC ? * sequential, linear models are not too practical , * less involvement of end users in requirement gathering , * too many processes , procedures , * belief in delivering documentations * testing takes too long in planning and design * change management process is slow and formal * less team work seen * modular programming may not be practical * how could the SDLC stages be improved by incorporating good practices of any other SDLC you know * Requirements Engineering stage ( by involving end users , prototyping ) * Design Stage ( reduce design and development time by using CBSD , reusing components * Development (use of CASE tools , development frameworks etc , component based delivery like incremental ) * Testing ( involvement of end users , using 3rd parties / outsourcing for testing smoke testing ) * Implementation ( pilot delivery , component based implementation ) * Maintenance (version management , change management ) you need to elaborate the above points I have given . BCS Examiner report says , The “traditional” software development process is often represented by a sequence of phases from development into maintenance. Within each phase, there exist many activities that can be implemented to varying degrees. These improvements relate not just to the sequencing of the steps or to the inclusion (or exclusion) of certain steps but also to the specific implementation of the individual steps. Improvements to the general area of requirements management, including capture, sign-off and change management by adopting prototyping methods or tools to a lesser or greater degree. In addition improvements in the testing process can also yield positive benefits. at March 12, 2018 No comments: Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest Older Posts Home Subscribe to: Posts (Atom) MS.DILSHARA WEERASINGHE (AKA JEEVITHE MAL) ජීවිතේ මල් ලෝකයත් එක්ක සුහදව ඉන්න කැමති, ජීවිතේට ලොකු ලොකු නිර්ණායක නැති , මම .... View my complete profile REPORT ABUSE MATERIAL LIST * ► 2017 (13) * ► November 2017 (8) * ► December 2017 (5) * ▼ 2018 (16) * ► January 2018 (3) * ► February 2018 (2) * ▼ March 2018 (11) * 19. How I did BCS exams :) * 20. Software Reuse vs Reusability * 21. Component Based Software Development * 22. People CMM * 23. Lets Discuss some past paper questions online–1 * 25. lets discuss a Quality Management Question Onl... * 26. Lets Discuss a General Question on Process Imp... * 27. Software Metrics Lesson to be done on 18th March * 28. Lehman’s Laws of Software Evolution * 29. Function POints vs Object Points * 30. Legacy system management Simple theme. Powered by Blogger. Diese Website verwendet Cookies von Google, um Dienste anzubieten und Zugriffe zu analysieren. Deine IP-Adresse und dein User-Agent werden zusammen mit Messwerten zur Leistung und Sicherheit für Google freigegeben. So können Nutzungsstatistiken generiert, Missbrauchsfälle erkannt und behoben und die Qualität des Dienstes gewährleistet werden.Weitere InformationenOk