Deck 15: Implementation
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
سؤال
فتح الحزمة
قم بالتسجيل لفتح البطاقات في هذه المجموعة!
Unlock Deck
Unlock Deck
1/41
العب
ملء الشاشة (f)
Deck 15: Implementation
1
Your instructor has asked you to implement the Chocoholics Anonymous product (Appendix A).Which language would you choose for implementing the product, and why? Of the various languages available to you, list their benefits and their costs. Do not attempt to attach dollar values to your answers.
The issue of which programming language to use often can be decided by using cost benefit analysis in which management compute the cost and benefits of an implementation. This computation must be repeated for every language under consideration and the language with largest gain is selected. Also risk analysis can be done to decide which programming language to implement.
The list of various languages available with their advantages and disadvantages are:-
• Java-This language is robust, scalable for web application, platform independent, handles all the hardware and is free on internet but it is not suited for low level programming. Sometimes it does not perform well on older computers and is complex for small programs.
• C++-It is best suited for general purpose and low level programming. It is extremely fast, works well for GUI programming. It is good language to write operating system, drives and platform dependent applications but it is complex and difficult to debug when used for web application. Although it is platform independent but it is mostly used for platform specific applications only.
• C#- It can be used for web applications on Microsoft computers. It has marketable skill set and works well with Microsoft product line but it locks you into the Microsoft Platform.
• VB-It is extremely easy to use, even for people who are not computer programmers. It is excellent for writing little programs and piece of programs but it is not a true object oriented. Sometimes it becomes complex and difficult to manage on very large programs.
The appropriate language that can be chosen for implementing Chocoholic Anonymous product can be Object Oriented Language. The most widely used object oriented programming language is C++. The C++ programming language is used specially for those organisation in which product is organised around objects and classes instead of functions. Chocoholic Anonymous is most suitable to use C++ because their products are organised around objects and classes which are Members, Providers and Accounts. Members and Providers have number of attributes that interact with each other. Update, delete and addition operation done by organisation is also easy with object oriented language which is the requirement of Chocoholic Anonymous.
Thus, after studying the advantages and disadvantages of various programming languages, the most suited programming language for Chocoholic Anonymous will be C++.
The list of various languages available with their advantages and disadvantages are:-
• Java-This language is robust, scalable for web application, platform independent, handles all the hardware and is free on internet but it is not suited for low level programming. Sometimes it does not perform well on older computers and is complex for small programs.
• C++-It is best suited for general purpose and low level programming. It is extremely fast, works well for GUI programming. It is good language to write operating system, drives and platform dependent applications but it is complex and difficult to debug when used for web application. Although it is platform independent but it is mostly used for platform specific applications only.
• C#- It can be used for web applications on Microsoft computers. It has marketable skill set and works well with Microsoft product line but it locks you into the Microsoft Platform.
• VB-It is extremely easy to use, even for people who are not computer programmers. It is excellent for writing little programs and piece of programs but it is not a true object oriented. Sometimes it becomes complex and difficult to manage on very large programs.
The appropriate language that can be chosen for implementing Chocoholic Anonymous product can be Object Oriented Language. The most widely used object oriented programming language is C++. The C++ programming language is used specially for those organisation in which product is organised around objects and classes instead of functions. Chocoholic Anonymous is most suitable to use C++ because their products are organised around objects and classes which are Members, Providers and Accounts. Members and Providers have number of attributes that interact with each other. Update, delete and addition operation done by organisation is also easy with object oriented language which is the requirement of Chocoholic Anonymous.
Thus, after studying the advantages and disadvantages of various programming languages, the most suited programming language for Chocoholic Anonymous will be C++.
2
Repeat Problem 15.1 for the elevator problem (Section 12.7.1).
The issue of which programming language to use often can be decided by using cost benefit analysis in which management compute the cost and benefits of an implementation. This computation must be repeated for every language under consideration and the language with largest gain is selected. Also risk analysis can be done to decide which programming language to implement.
The list of various languages available with their advantages and disadvantages are:-
• Java-This language is robust, scalable for web application, platform independent, handles all the hardware and is free on internet but it is not suited for low level programming. Sometimes it does not perform well on older computers and is complex for small programs.
• C++- It is best suited for general purpose and low level programming. It is extremely fast, works well for GUI programming. It is good language to write operating system, drives and platform dependent applications but it is complex and difficult to debug when used for web application. Although it is platform independent but it is mostly used for platform specific applications only.
• C#- It can be used for web applications on Microsoft computers. It has marketable skill set and works well with Microsoft product line but it locks you into the Microsoft Platform.
• VB- It is extremely easy to use, even for people who are not computer programmers. It is excellent for writing little programs and piece of programs but it is not a true object oriented. Sometimes it becomes complex and difficult to manage on very large programs.
C++ programming language will be best suited for Section 12.7.1 which concerns the logic required to move n elevators between m floors because of the following reasons:
• C++ is a highly portable language. It is an object oriented programming language and includes classes, inheritance, polymorphism, data abstraction and encapsulation which all can be used in the elevator logic requirement.
• C++ is an efficient and fast language which allows exception handling and function overloading which will help to solve the elevator problem.
• If else statements of C++ will be most useful to check the conditions of elevator problem.
Thus, the most suited programming language for logic required to move n elevators between m floors can be C++. The most widely used object oriented programming language is C++. The C++ programming language is used specially for those organisation in which product is organised around objects and classes.
The list of various languages available with their advantages and disadvantages are:-
• Java-This language is robust, scalable for web application, platform independent, handles all the hardware and is free on internet but it is not suited for low level programming. Sometimes it does not perform well on older computers and is complex for small programs.
• C++- It is best suited for general purpose and low level programming. It is extremely fast, works well for GUI programming. It is good language to write operating system, drives and platform dependent applications but it is complex and difficult to debug when used for web application. Although it is platform independent but it is mostly used for platform specific applications only.
• C#- It can be used for web applications on Microsoft computers. It has marketable skill set and works well with Microsoft product line but it locks you into the Microsoft Platform.
• VB- It is extremely easy to use, even for people who are not computer programmers. It is excellent for writing little programs and piece of programs but it is not a true object oriented. Sometimes it becomes complex and difficult to manage on very large programs.
C++ programming language will be best suited for Section 12.7.1 which concerns the logic required to move n elevators between m floors because of the following reasons:
• C++ is a highly portable language. It is an object oriented programming language and includes classes, inheritance, polymorphism, data abstraction and encapsulation which all can be used in the elevator logic requirement.
• C++ is an efficient and fast language which allows exception handling and function overloading which will help to solve the elevator problem.
• If else statements of C++ will be most useful to check the conditions of elevator problem.
Thus, the most suited programming language for logic required to move n elevators between m floors can be C++. The most widely used object oriented programming language is C++. The C++ programming language is used specially for those organisation in which product is organised around objects and classes.
3
Repeat Problem 15.1 for the automated library circulation system (Problem 8.7).
The issue of which programming language to use often can be decided by using cost benefit analysis in which management compute the cost and benefits of an implementation. This computation must be repeated for every language under consideration and the language with largest gain is selected. Also risk analysis can be done to decide which programming language to implement.
The list of various languages available with their advantages and disadvantages are:-
• Java-This language is robust, scalable for web application, platform independent, handles all the hardware and is free on internet but it is not suited for low level programming. Sometimes it does not perform well on older computers and is complex for small programs.
• C++-It is best suited for general purpose and low level programming. It is extremely fast, works well for GUI programming. It is good language to write operating system, drives and platform dependent applications but it is complex and difficult to debug when used for web application. Although it is platform independent but it is mostly used for platform specific applications only.
• C#- It can be used for web applications on Microsoft computers. It has marketable skill set and works well with Microsoft product line but it locks you into the Microsoft Platform.
• VB-It is extremely easy to use, even for people who are not computer programmers. It is excellent for writing little programs and piece of programs but it is not a true object oriented. Sometimes it becomes complex and difficult to manage on very large programs.
The appropriate language that can be chosen for Automated Library circulation system can be VB. VB is an object oriented programming language which is used specially for those organisation in which product is organised around objects and classes instead of functions. Automated Library circulation system is most suitable to use VB because:-
• Automated Library circulation system has to perform various functions such as book issue, book return, renewal, reservation, recall, overdue calculation, fines, and reports.
• VB is a graphical user interface language which will help to work on such a variety of functions easy.
• Different GUI screens can be made in VB for each work and Pull down menus, buttons etc. tools can add in the easy functionality.
• VB will help to implement the system in modules which is the requirement of the system with so many functions.
• Events creation, Interface, LINQ, Procedures are the features of VB that can be used for Automated Library circulation system.
Thus, after studying the advantages and disadvantages of various programming languages, the most suited programming language for Automated Library circulation system will be VB.
The list of various languages available with their advantages and disadvantages are:-
• Java-This language is robust, scalable for web application, platform independent, handles all the hardware and is free on internet but it is not suited for low level programming. Sometimes it does not perform well on older computers and is complex for small programs.
• C++-It is best suited for general purpose and low level programming. It is extremely fast, works well for GUI programming. It is good language to write operating system, drives and platform dependent applications but it is complex and difficult to debug when used for web application. Although it is platform independent but it is mostly used for platform specific applications only.
• C#- It can be used for web applications on Microsoft computers. It has marketable skill set and works well with Microsoft product line but it locks you into the Microsoft Platform.
• VB-It is extremely easy to use, even for people who are not computer programmers. It is excellent for writing little programs and piece of programs but it is not a true object oriented. Sometimes it becomes complex and difficult to manage on very large programs.
The appropriate language that can be chosen for Automated Library circulation system can be VB. VB is an object oriented programming language which is used specially for those organisation in which product is organised around objects and classes instead of functions. Automated Library circulation system is most suitable to use VB because:-
• Automated Library circulation system has to perform various functions such as book issue, book return, renewal, reservation, recall, overdue calculation, fines, and reports.
• VB is a graphical user interface language which will help to work on such a variety of functions easy.
• Different GUI screens can be made in VB for each work and Pull down menus, buttons etc. tools can add in the easy functionality.
• VB will help to implement the system in modules which is the requirement of the system with so many functions.
• Events creation, Interface, LINQ, Procedures are the features of VB that can be used for Automated Library circulation system.
Thus, after studying the advantages and disadvantages of various programming languages, the most suited programming language for Automated Library circulation system will be VB.
4
Repeat Problem 15.1 for the product that determines whether a bank statement is correct (Problem 8.8).
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
5
Repeat Problem 15.1 for the automated teller machine (Problem 8.9).
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
6
How do coding standards for a one-person software production company differ from those in organizations with 300 software professionals?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
7
How do coding standards for a software company that develops and maintains software for intensive-care units differ from those in an organization that develops and maintains accounting products?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
8
Consider the statement
condition 1 condition 2
As stated at the end of Section 15.3, in Java and C++ the semantics of the operator are such that if condition 1 is false, then condition 2 is not evaluated. What is the technical term for this?
condition 1 condition 2
As stated at the end of Section 15.3, in Java and C++ the semantics of the operator are such that if condition 1 is false, then condition 2 is not evaluated. What is the technical term for this?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
9
Consider the statement
condition 1 and condition 2
In what programming languages is condition 2 evaluated even if condition 1 is false?
condition 1 and condition 2
In what programming languages is condition 2 evaluated even if condition 1 is false?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
10
Why does deep nesting of if -statements frequently lead to code that can be difficult to read?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
11
Why has it been suggested that modules ideally should consist of between 35 and 50 statements?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
12
Why should backward goto statements be avoided, whereas a forward goto may be used for error handling?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
13
Set up black-box test cases for Naur's text-processing problem (Section 6.5.2). For each test case, state what is being tested and the expected outcome of that test case.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
14
Using your solution to Problem 6.14 (or code distributed by your instructor), set up statement coverage test cases. For each test case, state what is being tested and the expected outcome of that test case.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
15
Repeat Problem 15.15 for branch coverage.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
16
Repeat Problem 15.15 for all-definition-use-path coverage.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
17
Repeat Problem 15.15 for path coverage.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
18
Repeat Problem 15.15 for linear code sequences.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
19
Draw a flowchart of your solution to Problem 6.14 (or code distributed by your instructor). Determine its cyclomatic complexity. If you are unable to determine the number of branches, consider the flowchart as a directed graph. Determine the number of edges e, nodes n, and connected components c. (Each method constitutes a connected component.) The cyclomatic complexity M is then given by the formula [McCabe, 1976]
M = e ? n + 2 c
M = e ? n + 2 c
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
20
You are the owner and sole employee of One-Person Software Company. You bought the programming workbench described in Section 5.8. List its five capabilities in order of importance to you, giving reasons.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
21
You are now the vice-president for software technology of Very Big Software Company; there are 17,500 employees in your organization. How do you rank the capabilities of the programming workbench described in Section 5.8? Explain any differences between your answer to this problem and that of Problem 15.21.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
22
As SQA manager for a software development organization, you are responsible for determining the maximum number of faults that may be found in a given code artifact during testing. If this maximum is exceeded, then the code artifact must be redesigned and recoded. What criteria would you use to determine the maximum for a given code artifact?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
23
Explain the difference between logic artifacts and operational artifacts.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
24
Defensive programming is good software engineering practice. At the same time, it can prevent operational artifacts from being tested thoroughly enough for reuse purposes. How can this apparent contradiction be resolved?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
25
What are the similarities between product testing and acceptance testing? What are the major differences?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
26
What is the role of the SQA group during implementation?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
27
You are the owner and sole employee of One-Person Software Company. You decide that to be competitive you must buy CASE tools. You therefore apply for a bank loan for $15,000. Your bank manager asks you for a statement no more than one page in length (preferably shorter) explaining in lay terms why you need CASE tools. Write the statement.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
28
The newly appointed vice-president for software development of Ye Olde Fashioned Software Corporation has hired you to help her change the way the company develops software. There are 650 employees, all writing COBOL 85 code without the assistance of any CASE tools (COBOL 85 conforms to the 1985 COBOL standard; it is not object-oriented). Write a memo to the vice-president stating what sort of CASE equipment the company should purchase. Justify your choice.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
29
You and a friend decide to start Personal Computer Software Programs 'R Us, developing software for personal computers on personal computers. Then a distant cousin dies, leaving you $1 million on condition that you spend the money on a business-oriented environment and the hardware needed to run it and that you keep the environment for at least 5 years. What do you do, and why?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
30
You are a computer science professor at an excellent small liberal arts college. Programming assignments for computer science courses are done on a network of 35 personal computers. Your dean asks you whether to use the limited software budget to buy CASE tools, bearing in mind that, unless some sort of site license can be obtained, 35 copies of every CASE tool have to be purchased. What do you advise?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
31
You have just been elected mayor of a major city. You discover that no CASE tools are being used to develop software for the city. What do you do?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
32
(Term Project) Draw up black-box test cases for the product you specified in Problem 12.20 or 13.22. For each test case, state what is being tested and the expected outcome of that test case.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
33
(Term Project) Implement and integrate the Chocoholics Anonymous product (Appendix A). Use the programming language specified by your instructor. Your instructor will tell you whether to build a Web-based user interface, a graphical user interface, or a text-based user interface. Remember to utilize the black-box test cases you developed in Problem 15.33 for testing your code.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
34
(Case Study) Download a copy of the implementation of the MSG Foundation product described in Section 15.8. Draw up statement coverage test cases for the product. For each test case, state what is being tested and the expected outcome of that test case.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
35
(Case Study) Repeat Problem 15.35 for branch coverage.
Reference problem 15.35
(Case Study) Download a copy of the implementation of the MSG Foundation product described in Section 15.8. Draw up statement coverage test cases for the product. For each test case, state what is being tested and the expected outcome of that test case.
Reference problem 15.35
(Case Study) Download a copy of the implementation of the MSG Foundation product described in Section 15.8. Draw up statement coverage test cases for the product. For each test case, state what is being tested and the expected outcome of that test case.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
36
(Case Study) Repeat Problem 15.35 for all-definition-use-path coverage.
Reference problem 15.35
(Case Study) Download a copy of the implementation of the MSG Foundation product described in Section 15.8. Draw up statement coverage test cases for the product. For each test case, state what is being tested and the expected outcome of that test case.
Reference problem 15.35
(Case Study) Download a copy of the implementation of the MSG Foundation product described in Section 15.8. Draw up statement coverage test cases for the product. For each test case, state what is being tested and the expected outcome of that test case.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
37
(Case Study) Repeat Problem 15.35 for path coverage.
Reference problem 15.35
(Case Study) Download a copy of the implementation of the MSG Foundation product described in Section 15.8. Draw up statement coverage test cases for the product. For each test case, state what is being tested and the expected outcome of that test case.
Reference problem 15.35
(Case Study) Download a copy of the implementation of the MSG Foundation product described in Section 15.8. Draw up statement coverage test cases for the product. For each test case, state what is being tested and the expected outcome of that test case.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
38
(Case Study) Repeat Problem 15.35 for linear code sequences.
Reference problem 15.35
(Case Study) Download a copy of the implementation of the MSG Foundation product described in Section 15.8. Draw up statement coverage test cases for the product. For each test case, state what is being tested and the expected outcome of that test case.
Reference problem 15.35
(Case Study) Download a copy of the implementation of the MSG Foundation product described in Section 15.8. Draw up statement coverage test cases for the product. For each test case, state what is being tested and the expected outcome of that test case.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
39
(Case Study) Starting with the detailed design of Problem 14.16, code the MSG Foundation case study in an object-oriented language other than C++ or Java.
Reference problem 14.16
(Term Project) Starting with your specifi cations of Problem 12.20 or 13.22, design the Chocoholics Anonymous product (Appendix A). Use the design technique specifi ed by your instructor.
Reference problem 13.22
(Term Project) Perform the analysis work flow of the Chocoholics Anonymous product described in Appendix A.
Reference problem 12.20
(Term Project) Using the technique specifi ed by your instructor, draw up a specifi cation document for the Chocoholics Anonymous product described in Appendix A.
Reference problem 14.16
(Term Project) Starting with your specifi cations of Problem 12.20 or 13.22, design the Chocoholics Anonymous product (Appendix A). Use the design technique specifi ed by your instructor.
Reference problem 13.22
(Term Project) Perform the analysis work flow of the Chocoholics Anonymous product described in Appendix A.
Reference problem 12.20
(Term Project) Using the technique specifi ed by your instructor, draw up a specifi cation document for the Chocoholics Anonymous product described in Appendix A.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
40
(Case Study) Recode the MSG Foundation case study (Section 15.8) in pure C, with no C++ features. Although C does not support inheritance, object-based concepts such as encapsulation and information hiding can be achieved relatively easily. How would you implement polymorphism and dynamic binding?
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck
41
(Case Study) To what extent is the documentation of the code of the implementation of Section 15.8 inadequate? Make any necessary additions.
فتح الحزمة
افتح القفل للوصول البطاقات البالغ عددها 41 في هذه المجموعة.
فتح الحزمة
k this deck