Softeng Ofse Answers v12
Softeng Ofse Answers v12
Softeng Ofse Answers v12
e testing is to observe the software behavior to meet its requirement expectation. Testing is a set of activities where the tester try to make the software behave anomalous in order to detect a defect or anomaly to be later fix.
Explain why interface testing is necessary even when individual components have been extensively validated through component testing and program inspections
Interface testing can observe the interaction between components in a system. There is a necessity to observe the error in a particular critical area such as parameter interfaces, shared memory interfaces, procedural interfaces, and message passing interfaces which component testing cant detect these error.
2
Explain the differences between verification and validation, and explain why validation is a particularly difficult process
Verification is checking whether a software is behaving according to its requirements. Validation is conforming the software to meet the clients expectation. In software engineering, validating a software might be harder since clients expectation may be vague or unclear. Clients may use adjective for their expectation which may resulted in confusion or misunderstanding.
3
Do you think is it necessary for a program to be completely free of defects before it is delivered to its customer? To what extent can testing be used to validate that the program is fit for its purpose?
Testing can be used to the extent of knowing the software to behave according to its requirements. It is impossible to do every possible test case as time might be the constraint and it the overhead cost of testing might exceed the benefit of the program.
Explain why program inspections are an effective technique for discovering errors in a program. What types of error are unlikely to be discovered through inspections? Program inspection is a process of detecting defects by assigning 4 people to inspect the code. The focus of the inspection are only to detect defects, standard conformance, and poor-quality programming. With four people in an inspection team for one or two hours, the cost of inspecting 100 lines of code is roughly equivalent to one personday effort. It can detect several faults such as data faults, control faults, input/ output faults, interface faults, storage management faults, and exception management faults which cant be all detected in a simple component testing. Since we are working with four people, the coverage of errors can be large and more detectable. Re-examination of the program may reveal misunderstandings and errors to be later fix The error that might unlikely to discovered are specification errors and misunderstanding of the application domain (e.g non-technical errors)
5
Explain why it may be cost-effective to use formal methods in the development of safety-critical software system. Why do you think that some developers of this type of system are against the sue of formal methods?
Formal methods focus on the design phase of the system. Any error that might occur in the system is detected in the design phase before going to the development phase. This is an effective method since the cost of system failure might be huge and involves people lives and safety. Developers are against the formal methods since:
It is highly possible to misunderstand the specification that is announced by the system users which may result to a design malfunction. Program proofs are large and complex. It is prone to have errors. The system may not used as anticipated and lead to a program ineffectiviy. Highly chance of failure since system is time-consuming.
6
*Suggest why the savings in cost from reusing existing software is not simply proportional to the size of the components that are reused.
Reusing components of existing software may bring several problems such as:
Compatibility of the reused components may not conformed to the new developed system. Additional bugs can occurred in the passing of messages between components interactions. The cost savings from reusing components are the cost savings from not having to write that component. Therefore, the larger the component, the greater the cost saving. However, there are costs of reuse from finding and understanding components to changing other parts of the system to accommodate the reused components. For small components, these reuse costs may actually be greater than the costs of rewriting the component so the cost savings are relatively small unless the component is very complex and difficult to write. As the component size increases, the overhead of finding and understanding the component becomes relatively less so cost savings increase. Furthermore, the larger the component, the cost of changing the system to accommodate it also becomes relatively less so cost savings are greater. Therefore, reuse benefits are not simply proportional to size but increase as the reused component becomes larger.
Give at least two circumstances where you might recommend against software reuse.
The source of software is not credible and might bring potential errors in the components. This is dangerous as reused component might bring numerous bugs to the system and high costineffective. Critical-system is not a good subject of software reusing since we have to have a good understanding of the program flow. Since software reusing is susceptible to compatibility issue, it is not worth to implement it and will bring further time-consuming fix to the system.
8
Explain in detail why a software system that is used in a real-world environment must change or become progressively less useful.
The number of users may increases the burden of the system, requiring it to expand its hardware capability to handle several connections. The business model of the company may change so the system become obsolete and need for a change to cope its requirements. The law in the particular country may impose a particular standard to conform a legal usable software. The expansion of requirements which requires the software to enable additional features to cope users requests.
9
What are essential conditions for software reengineering to be successful? The quality of the software to be reengineered is good to the extent of minimum errors occurrence and complete documentation of the system. The tools for reengineering is available. Automated tools such as CASE can be factor to decide a successful reengineering. The expert staff is available and understand the system works. This can be a potential problem if the system were an old system and no longer used.
10
What are the strategic options for legacy system evolution? When would you normally replace all or part of a system rather than continue maintenance of the software (with or without re-engineering)?
Your customer wants to develop a system for stock information where dealers can access information about companies and can evaluate various investment scenarios using an simulation system. Each dealer uses the simulation in a different way, according to his/her experience and the type of stocks n question. Suggest a client-server architecture for this system that shows where functionality is located. Justify the client-server system model that you have chosen.
Since the simulation is carried out different way between dealers and all the crucial parts are the data of each stock and company information, it is effective the develop a fat-client model where the server holds the data and the application is in the users desktop. It is a swift approach where user can request a consistent data and simulate it under the application which resides in the user computer.
Client Request data Application Send data Database Server
12
By making reference to the application model shown below , list and explain at least two problems that might arise when converting a 1980 s mainframe legacy system for insurance policy processing to a client-server architecture
Lack of system documentation and obsolete system that is not used anymore might bring a problem to understand the program flow. Client-server application needs to define which function for application processing or data management to be separately reside in client or server respectfully. Lack of function clarity might cause difficult to effectively design the system architecture. Presentation layer might mixed up in the other layer which may difficult to edit the presentation layer globally. (Different presentation for different function)
13
Modify below to show the generic architecture of a presentation system. Base your design on the features of any spreadsheet system that you have used.
14
*Using UML graphical notation for object classes , design the following object classes identifying attributes and operations. User your own experience to decide on the attributes and operations that should be associated with theses objects:
15
*Identify the possible objects in the following systems and develop an objectoriented design for them. You may make any reasonable assumptions about the system when deriving the design.
16
*What factors to be taken into account in the design of a menu-based interface for walk-up systems such as bank ATMs? Write your comments on the interface of an ATM that you use.
Factors to be taken into account when designing 'walk up and use' systems are: 1. System users may be infirm, or disabled so will not be able to respond quickly to requests. 2. Users may not be able to speak the native language of the country where the machine is installed. 3. ystem users may be completely unfamiliar with technology and may make almost any kind of error in using the machine. The interface must minimise the number of possible errors and must be resilient to any possible error. 4. Some system users are likely to be intimidated by many options. On the other hand, as users gain familiarity with the system, they may expect to use it for a wider range of banking services. 5. Different people may understand the meaning of icons in different ways. 6. If the system has navigation options, users are almost certain to become lost. 7. Most users will want to use the system for very simple functions (e.g. withdraw cash from an ATM) and will want to do this as quickly as possible. There are many different ATM interfaces so each must be considered separately. Some example problems are: When is it possible to cancel a transaction? What happens when I do so? What will I have to re-input if I restart the transaction? There is not usually any way of saying give me the maximum amount of money I may withdraw today. Some machines only support single transactions - there is no way of saying I will be making several transactions and the same validation process is applicable to all of them.
17
Discuss whether it is ethical to instrument software to monitor its use without telling end users that their work is being monitored.
To design a software to monitor the work of individual is ethical since critical-system is concerned about failures. Every action of individual have to observed to detect any anomaly or error and it is functional as a black box to investigate accident causes. However, not telling the workers that they are being watched is unethical since they deserve to know whats going on in the company. It violates the human rights to obtain information they deserve to know.
18
Explain why the rapid delivery and development of new system is often more important to business than the detailed functionality of theses systems
Rapid delivery focuses on the delivery of the system. It is good for a system that is required to show the result of the system. It is good for business since the system can be used early if the essential functionality is available and be later improved as the user requirements change. Rapid delivery can make profit swiftly. However, rapid delivery is not good for criticalsystem development since the delivery of the system needs to be perfect and without failures.
19
Extreme programming express user requirements as stories, with each story written on a card. List and explain at least two respectively, advantages and disadvantages of this approach to requirements description.
Advantages
Scenarios cope with most of common operation. It is easy to identify what type of operation that is required in the users stories. (Just look for the verb in the scenario cards) Customer focus in the scenario card increase the chance that the software produced will actually meet the needs of the users
Disadvantages
Using scenarios on a card can bring to a function overlooked or omission which can be a time-consuming process to complete the system Two different scenarios can lead to the same function as it will be conflicted each other. Crossing out redundant scenarios can be a cumbersome tasks.
20
Suggest at least two reasons why the productivity rate of programmers working as a pair is roughly the same as two programmers working individually.
Continuous reviewing of the program by two different individuals is more effective than one individual which may be bias and undetectable. Pair programming makes the code less defective. Encourages refactoring. The code is prone to be edited and enhanced to increase effectiveness and testing the code will outputted in a non-biased result. Increase communication in discussing the software before development results in fewer false start and less rework. The number of errors avoided by the formal inspection is such that less time is spent to repairs bugs in the testing phase.
21
A charity has asked you to prototype a system that keeps track of all donations they have received. This system has to maintain the names and addresses of donors, their particularly interest, the amount donated and when the donations was made, If the donation is over a certain amount, the donor may attach conditions to the donation (e.g. It must be spent on a particular project), and the system must keep track of theses and how the donation was spent. Explain in details how you would prototype this system, nearing in mind that the charity has a mixture of paid workers and volunteers. Many if the volunteers are retirees who have has little computer experience.
Since computer experience is a concern in this casestudy, we have ease up the interface of the system. A paper-form reader which will recognize handwriting of a person have to be implemented for automated data input system. The application has to be mobile available for inspection (can be accessed through wireless device, such as handphone). Data is managed distributedly to increase swift data request of particular region. Report generator for daily, weekly, yearly transaction has to be available for transparency purpose. Seal and proof of donation has to be printed whenever a person has donated his money and an account of the particular donator have to be created in order to check 22 his donation money flow.
To help counter terrorism, many countries are planning the development of computer systems that track large numbers of their citizens and their actions. Clearly this has privacy implications. Discuss the ethics of developing this type of system.
The system will violate the privacy of the people which is the based of human rights. In the past years, American citizens has already complained about illegal wiretapping in their house performed by the FBI. Even the most recent Patriot Acts which give permission for federal officer to eavesdrop on telephone conversation brings controversy to the community eventhough it is for the sake of countering terrorism. Hence, this system might be oppressed by the citizens and clearly unethical to the privacy of humankind.
23
Apart from the challenge of heterogeneity, rapid delivery and trust, identify at least three problems and challenges that Software Engineering is likely to face in the 21st century.
Confidentiality
Engineers should normally respect the confidentiality of their employers or clients irrespective of whether or not a formal confidentiality agreement has been signed.
Competence
Engineers should not misrepresent their level of competence. They should not knowingly accept work which is outwit their competence.
List at least two advantages and two disadvantages professional software engineer should be certified in the same way as doctors or lawyers.
Advantages
Competitive since they have been trained according to the standardize training procedure. Legal binding from the source of certification can ensure the that the software engineer is trusted.
Disadvantages
Certification may not reflect the performance of the software engineer. No assurance that certified software engineer will guarantee fool-proofed project.
25
26
A multimedia virtual museum system offering virtual experiences of ancient Greece is to be developed for a consortium of European museum, The system should provide users with the facility to view 3-D models of ancient Greece through a standard web browser and should also support an immersive virtual reality experience. What political and organizational difficulties might arise when the system is installed in the museum that make up the consortium?
Museums are conservative places and some staff may resent the introduction of new technology. Existing museum staff may be asked to deal with problems of the equipment not working and may not wish to appear unable to deal with this. Other areas of the museum may oppose the system because they see it as diverting resources from their work. Different museums may have different preferred suppliers for the equipment so that all equipment used is not identical thus causing support problems. The new displays take up a lot of space and this displaces other displays. The maintainers of these displays may oppose the introduction of the system. Some museums may have no mechanism for providing technical support for the system.
27
Draw a block diagram of possible architecture for such a flood warning system. You should identify the principal sub-system and their links between them.
28
In a medical system that is designed to deliver radiation to treat tumors, suggest one hazard that may arise AND propose one software feature that may be used to ensure that the identifies hazard does not result in an accident.
The main problem is that too much radiation penetrated to the tumor which will caused a possible lethal effect the patient. One solution to counter this is to have a sensor monitor which will visualize the amount of radiation which radiated to the patient. A safety system also have to be implemented whenever an increment of radiation has to be performed. By implementing a calculation or simulation of specific radiation effect, the system can conform to a highly safety system. A confirmation feature also needed to avoid wrong input of radiation. A two operators confirmation can reduced bias decision to the amount of radiation.
29
*Giving reasons for your answers, suggest which dependability attributes are likely to be more critical for the following systems:
An internet service provider by an ISP with thousands of customers: availability, because the ISP must serve many customers at once, so it must be able to be accessed by all customers A computer controlled scalped used in keyhole surgery: safety, because the system will have to perform a critical task to do a surgery, it must concern for patients safety A directional control system used in a satellite launch vehicle: reliability, because the satellite must not miss the target, if not it the satellite can collide with other satellites An Internet-based personal finance management system: security, because many credit cards fraught and identity theft so the system must be as secure as possible to protect customers data
30
Reliability and safety are related but distinct dependability attributes. Describe the most important distinction between these attributes and explain why it is possible for a reliable system to be used and vice versa.
System reliability is concerned whether a system is delivering to its requirements. The system shall behave where it is required by the user requirements. System safety is concerned whether a system is safe from behaving abnormal way. The system shall not behave the wrong way when the user wrongly used the system and provide precaution to this event.
31
In computer security terms, explain the differences between an attack and a threat. Attack is an intrusion attempt to a system that might lead to a vulnerability of a system. Threat is the exploitation of system vulnerability that can cause the system to fail or degrade. An attack, however, is not necessary lead to a threat if it is managed and prevented by the system.
32
Giving reasons for your answer based in the type of system being developed, suggest the most appropriate generic software process model that might be used as basis for managing the development of the following system: A system to control anti-locking in a car.
Spiral model. Since this type of system is a safety-critical system, we need to designed a perfect system with no errors since error may lead to a lifethreatening situation
An interactive system that allows railway passengers to find train times from terminals installed in stations.
Prototype model. User requirements may likely to change and fast delivery is essential to be implemented. Therefore, prototype model can save time of development to focus on essential function first to be later completed.
33
In the context of CMM prediction of performance, explain in details in the following areas:
Level1
Few stable processes exist or are used.
Level2
Documented and stable estimating, planning, and commitment processes are at the project level. Problems are recognized and corrected as they occur
Level3
Integrated management and engineering processes are used across the organization. Problems are anticipated and prevented or their impacts are minimized.
Level4
Processes are quantitatively understood and stabilized.
Level5
Processes are continuously and systematically improved.
P R O C E S S
Just do it
In the context of CMM prediction of performance, explain in details in the following areas:
Level1 Success depends on individual heroics. Level2 Success depends on individuals; management system supports. Level3 Project groups work together, perhaps as an integrated product team. Level4 Strong sense of teamwork exists within each project. Level5 Strong sense of teamwork exists across the organization. Everyone is involved in process improvement..
P E O P L E
Commitments Training is are understood planned and and managed. provided according to roles. People are trained.
35
In the context of CMM prediction of performance, explain in details in the following areas:
T E C H N O L O G Y M E A S U R E M E N T
Level1
Level2
Level3 New technologies are evaluated on a qualitative basis. Data are collected and used in all defined processes.
Level4 New technologies are evaluated on a quantitative basis. Data definition and collection are standardized across the organization. Data are used to understand the process quantitatively and stabilize it.
Level5 New technologies are proactively pursued and deployed. Data are used to evaluate and select process improvements.
Introduction of Technology new technology supports is risky. established stable activities. Data collection and analysis are ad hoc. Planning and management data used by individual projects.
36
Explain the role of Joint Application Development (JAD) in Software Requirements and one illustration to all participations who involved in JAD.
JAD is a technique that allows the developments, management, and customer groups to work together to build a product. JAD actively involves users and management in the development project. JAD reduces function creep by defining it early from the beginning. It helps designer's delay their typical "solution fixation" until they understand the requirements better. JAD helps to avoid the requirements from being too specific and too vague, both of which cause trouble during implementation and acceptance. JAD reduces the amount of time required to develop systems since it eliminates process delays and misunderstandings and improves system quality.
37
Classic mistakes
The assumption that increasing workforce of an IT project may lead to a faster finished in software development is wrong. This usually happens because of underestimating the worth of project deadline and by adding people in the late project will result in greater conflict and inefficient communication between the team.
38
T2
Start: 2/24/09 Finish: 3/16/09 Res: ID: 2 Dur: 15 days
T3
Start: 3/17/09 Finish: 3/30/09 Res: ID: 3 Dur: 10 days
T7
Start: 3/31/09 Finish: 4/27/09 Res: ID: 7 Dur: 20 days
T8
Start: 4/28/09 Finish: 6/15/09 Res: ID: 8 Dur: 35 days
T4
Start: 2/10/09 Finish: 3/9/09 Res: ID: 4 Dur: 20 days
T6
Start: 3/31/09 Finish: 4/20/09 Res: ID: 6 Dur: 15 days
T9
Start: 4/21/09 Finish: 5/11/09 Res: ID: 9 Dur: 15 days
T13
Start: 3/31/09 Finish: 5/18/09 Res: ID: 13 Dur: 35 days
T5
Start: 2/10/09 Finish: 2/23/09 Res: ID: 5 Dur: 10 days
39
40
Fixed-price contracts, where the contractor bids a fixed price to complete a system development, may be used to move project risk from client to contractor. If anything goes wrong, the contractor has to pay. Suggest how the use of such contacts may increase the likelihood that product risks will arise.
Quality of software that is delivered may be poor to the limited time of delivery. Contractor is prone to avoid late delivery and give bug-ridden software to the client. Contractor may reduce the necessary workforce to gain profit which will increase the work pressure of each individual.
41
Explain why the process of project planning is iterative and why a plan must be continually reviewed during a software project.
Project planning has to be continually reviewed to anticipate project late progress. It is necessary to determine what action to be performed next. Since a particular task may involve a partial information, we have to continually update any information change to the particular task or the next task. This type of activity will increase the possibility of delivering a successful project.
42
*Discover ambiguities or omissions in the following statement of the requirements for part of a ticket-issuing system.
Ambiguities and omissions include: Can a customer buy several tickets for the same destination together or must they be bought one at a time? Can customers cancel a request if a mistake has been made? How should the system respond if an invalid card is input? What happens if customers try to put their card in before selecting a destination (as they would in ATM machines)? Must the user press the start button again if they wish to buy another ticket to a different destination? Should the system only sell tickets between the station where the machine is situated and direct connections or should it include all possible destinations?
43
Suggest who might be stakeholders in a university student records system. Explain why it is almost inevitable that the requirements of different stakeholders will conflict in some way.
Stakeholder: student, lecturer, admin staff, finance staff, rector, accounting staff, HRD staff Requirements of different stakeholder will conflict since they need different format for requesting student information. (accounting staff may not need student GPA grade as admin staff need it)
44
*The LONTAR system has to include support for cataloging new documents where the system catalog may be distributed across several machines. What are likely to be the most important types of nonfunctional requirements associated with the cataloguing facilities?
Performance
The time to search a particular document is not less than 5 ms. The time to login into the system must less than 1 ms Downtime period is less than 1 hour and performed at 01.00 AM where system activities is at the minimum level.
Data is updated real-time, with interval of data update less than 3 ms. Data redundancies are reduced until 0% with no fake data entry. The addition of data log to track the activity of data entry, producing a reliable information. The form that has to be written to enter a document is only one with less than 10 fields. No form is needed to request a particular document. Only legitimate user can gain access to the documents. System administrator is only one against the manual system which take more than 5 people. Paperwork is reduced to less than Rp 50,000/month. The only expense in paperwork is when monthly and annual report is required. Space consume for installing the system is less than 1/16 of the average cubical office.. The existence of an underground backup storage will prevent data loss from accident or mishap.
Information
Efficiency
Control
Economy
Security
45
*Using your knowledge of how an ATM is used, develop a set of use-cases that could server as a basis for understanding the requirements for an ATM system.
Login Withdraw Money Check Amount Check Transfer Limit Calculate Current Balance Update Account Balance Print Report
46
*When emergency changes have to be made to system, the system software may have to be modified before
changes to the requirements have been approved. Suggest a process model for making these modifications that ensures that the requirements document and the system implementation do not become inconsistent.
47
Your company uses a standard analysis method that is normally applied in all requirements analyses. In your work, you find that this method can not represent social factors that are significant in the system you are analyzing. You point this out to your manager, who makes it clear that the standard should be followed. Discuss what you should do in such situation.
Since the manager is quite conservative and demand that the standard should be followed, we have to provide a significant evidence to convince him. One of the method is by using a prototype model which follows the company standard method and launch it the users to ask for their feedback. This feedback will be the evidence whether a standard upgrade is necessary or not.
48
Draw a context model for a patient information system in a hospital. You may make any reasonable assumptions about the other hospital systems that are available, but your model must include a patient admission and an image storage system for X-ray, as well as other diagnostic records.
49
Draw a data-flow diagram modeling the data processing with a bank ATM involved when a customer withdraw cash from the machine.
50
Develop a sequence diagram showing the interaction involved when a student registers for a course in a university. Course may have limited enrolment, so the registration process must include checks that places are available. Assume that the student accesses an electronic course catalogue to find out about available courses.
51
In the insulin pump system, the user has to change the needle and insulin supply at regular intervals ad may also change the maximum single dose ad the maximum daily dose that may be administrated. Suggested three user errors that might occur and propose safety requirements that would avoid theses errors resulting in an accident.
Operator may be false in inputting maximum daily dose of the insulin. Therefore each time the operator doing input, confirmation needs to be done first along with its simulation result to current condition. Operator may do miscalculation in determining maximum single dose. Therefore each calculation must be accompany by simulation result of current condition. Operator may forget to replace empty insulin reservoir with the new one. Therefore the system must provide sensor process which alert operator when insulin at each reservoir below minimum level. Operator may wrongly placed the reservoir. Therefore each placement of reservoir back to its position must have status(green/red light) of a condition that shows if reservoir at the correct place or not. Operator may failed to inject insulin needle to correct place. Therefore the system must provide sensor system which check patient condition because of injection.
52
5. A safety-critical software system for treating cancer patients has two principal components: -A radiation therapy machine that delivers controlled doses of radiation to tumor sites. This machine is controlled by an embedded software system. -A treatment database that includes details of the treatment given to each patient. Treatment requirements are entered in this database and are automatically downloaded to the radiation therapy machine. Identify three hazards that ma arise in this system. For each hazard, suggest a defensive requirement that will reduce the probability that these hazards will result in an accident. Explain why your suggested defense is likely to reduce the risk associated with the hazard.
53
Explain why it may be necessary to design the system architecture before the specifications are written.
Writing specification for the whole system might bring great complexity and it is difficult to formulate it. Therefore, it is easier to divide the system into simpler subsystems and define their specification and it will save you the hassle of defining specification and put it into the respective subsystem. Hence we can concurrently develop subsystems and the specifications to be readily into the implementation stage. 54
Giving reasons for your answer, suggest an appropriate structural model for the following system: 1. An automated ticket-issuing system used by passenger at a railway station. 2. A computer-controlled video conferencing system that allows video audio, and computer data to be visible to several participants at the same time. 3. A robot floor-cleaner that s intended to clean relatively clear spaces such as corridors. The cleaner must be able to sense walls and other obstructions.
55
Giving reasons for your answer, suggest an appropriate control model for the following systems: 1. A batch processing that takes information about hours worked and pay rates and prints salary slips and bank credit transfer information. 2. A set of software tools that are produced by different vendors, but which must work together. A television controller that responds to signals from a remote control unit.
56