New Semester
Started
Get
50% OFF
Study Help!
--h --m --s
Claim Now
Question Answers
Textbooks
Find textbooks, questions and answers
Oops, something went wrong!
Change your search query and then try again
S
Books
FREE
Study Help
Expert Questions
Accounting
General Management
Mathematics
Finance
Organizational Behaviour
Law
Physics
Operating System
Management Leadership
Sociology
Programming
Marketing
Database
Computer Network
Economics
Textbooks Solutions
Accounting
Managerial Accounting
Management Leadership
Cost Accounting
Statistics
Business Law
Corporate Finance
Finance
Economics
Auditing
Tutors
Online Tutors
Find a Tutor
Hire a Tutor
Become a Tutor
AI Tutor
AI Study Planner
NEW
Sell Books
Search
Search
Sign In
Register
study help
business
software testing and quality assurance
Software Engineering Principles And Practice 3rd Edition Hans Vliet - Solutions
To be aware of software development processes for component-based systems
To know the main characteristics of components and component models
To understand the essentials of component-based software engineering
^ I n developing abstract data types (ADTs), we try to strictly separate (and hide)implementation concerns from the users of those ADTs. To what extent could these implementation concerns be relevant to the person reusing them?
^ S u p p o s e you developed a routine to determine the inverse of a matrix. The routine is to be incorporated in a library of reusable components. Which aspects of this routine should be documented in order that others may determine the suitability of the routine for their application?
^ From your own past in software development, make an inventory of:o components developed by yourself which you reused more than once, and o components developed by others and reused by you.To what extent does the ’ not-invented-here’ syndrome apply to your situation? Is reuse in your situation
^ D i s c u s s possible merits of knowledge-based approaches to software reusability.
^ F o r the domains studied in Exercise 11, is there any relation between the reuse level achieved and (de facto or de jure) standardization within the domain? Can you discern any influence of standardization on reuse, or vice versa?
^ Assess one or more of the following domains and determine the extent and kind of reuse that has been achieved:o window management systems;o (2D) computer graphics;o user-interface development systems;o office automation;o salary administration;o hypertext systems.
^ Devise a managerial setting and a software development process model for a component-based software factory.
^ For the same domain, assess its maturity level and that of the components identified. Can you relate the maturity level of components to their perceived reusability?
^ For a domain with which you are familiar, identify a set of potentially reusable software components and devise a classification scheme for them. Consider both a hierarchical and a faceted classification scheme and assess their merits with respect to ease of classification and search, and
To what extent do you consider a domain-independent library of reusable software components a realistic option?
How does CORBA promote reuse?
Discuss the main differences between module interconnection languages (MILs) and architecture description languages (ADLs). How do these differences relate to software reuse?
Describe the software-development-with-reuse process model. Where does it differ from the software-development-for-reuse process model?
What is the difference between horizontal and vertical reuse?
What is a faceted classification scheme?
What is the difference between composition-based reuse and generation-based reuse?
To understand the major factors that impede successful reuse
To recognize the relation between reuse and various other software engineering concepts and techniques
To see how reuse can be incorporated into the software lif e cycle
To be aware of a number of composition-based and generation-based reuse techniques
To appreciate various dimensions along which approaches to reuse may be c la ssifie d
^ D i s c u s s the pros and cons of the following approaches to user interface development:o discussing manually constructed usage scenarios with prospective users;o prototyping screen displays and iterativ e ly enhancing them;o developing the user interface a fte r the functional parts of the
^Augment the w aterfall model such that user interface issu es are dealt with at appropriate phases.
^ Discuss the requirements for online help f a c il it i e s for a word processor.
^ Try to answer the following questions from the manual of your favorite word processor:o How do I swap two paragraphs?o How do I include the text of some other document at a given position?o How do I le t the page numbering sta rt at 0 rather than 1?o How do I align a picture at the top or bottom
~ Study the desktop metaphor as it is commonly used in user interfaces for PCs and workstations.Can you spot places where the metaphor breaks down or may even lead you astray?
Discuss the following user interface evaluation methods:o scenario-based evaluation:o h eu ristic evaluation;o cognitive walkthrough.
Discuss the differences between sin gle-user systems and groupware with respect to task an alysis.
Describe the constituents of Command Language Grammar (CLG).
In which ways is the user s mental model activated while using a computer system?
What is the difference between working memory and long-term memory?
Sketch a model of human information processing.
Describe the role of cognitive ergonomics in user interface design.
Discuss the differences between the Seeheim model and MVC.
Define the following terms: mental model, conceptual model, and user v irtu al machine.
~ Why is tool integration such an important issue?
~ One of the claims of CASE-tool providers is that CASE will dramatically improve productivity. At the same time though, customers seem to be disappointed with CASE and take a cautionary stand. Can you think of reasons for this discrepancy?
~ Discuss the possible role of automatic support for configuration control in the management of artifacts other than source code modules.
Select and evaluate some commercial UML modeling tool using the criteria given in (Zucconi, 1989) or (Baram and Steinberg, 1989).
For the development environment you are currently working in, prepare a list of:– utilities you use on a regular basis;– utilities you use infrequently or vaguely know about.Next compare these lists with the manuals describing the environment. What percentage of the environment’s
~ Defend the statement that configuration management tools are the only‘real’ process-centered environments (see (Conradi et al., 1998)).
Why is the user scale an important issue when considering the adoption of tools?
Discuss the fundamental tension between formality and informality in tools.
What is the basic functionality of a tool for configuration management?
What is the difference between Upper-CASE and Lower-CASE?
What are the main distinguishing features of:– a toolkit,– a language-centered environment,– an integrated environment, and– a process-centered environment.
Define the following terms:– tool,– workbench,– environment.
What does the acronym CASE stand for?
To appreciate the role of tools in the software development process
To be aware of the major trends in (collections of) software tools
To be able to distinguish various dimensions along which tools can be classified
~ Can you think of reasons why a 10% change in a program of 200 LOC would take more effort than a 20% change in a program of 100 LOC?
~ Discuss the possible contribution of object-oriented software development to software maintenance.
~ Discuss the impact of component reuse on maintainability.
Study the technical documentation of a system whose development you have been involved in. Does the documentation capture the design rationale?In what ways does it support comprehension of the system? In hindsight, can you suggest ways to improve the documentation for the purpose of maintenance?
~ Does your organization collect quantitative data on maintenance activities?If so, what type of data, and how are they used to guide and improve the maintenance process? If not, how is maintenance planned and controlled?
~ Give a primary classification of your maintenance organization as W-, A-, or L-Type (see figure 14.12). What are the major strengths and weaknesses of your particular organization?
~ Assess opportunities of knowledge-based support for software maintenance(see (Devanbu et al., 1991) for a very interesting application of such ideas).
Functional development = functional perfective maintenance (i.e. adding new features) + development of new systems.Could this classification provide us with a better picture of the realmaintenance effort? See also (Krogstie, 1994).
Functional maintenance = corrective maintenance + adaptive maintenance + non-functional perfective maintenance (i.e. improving quality)+ replacement of a system by a functional equivalent.
~ An alternative classification of maintenance and development activities is as follows:
Discuss the possible structure and role of an acceptance test by the maintenance organization prior to the release of a system.
Discuss advantages of software configuration control support during software maintenance.
Discuss the major impediments to fully-automated design recovery.
Discuss the iterative-enhancement and quick-fix models of software maintenance.
Why does corrective maintenance have more service-like aspects than product-like aspects?
Characterize the version-oriented analysis and history-centered analysis of software evolution data.
What is the difference between design recovery and redocumentation?
Characterize the evolution and servicing stage of software maintenance.
What is refactoring?
Discuss the major causes of software maintenance problems.
Define the following terms: corrective maintenance, adaptive maintenance, perfective maintenance, and preventive maintenance.
To understand major differences between development and maintenance and the consequences thereof
To appreciate different ways in which maintenance activities can be organized
To be aware of reverse engineering, its limitations, and tools to support it
To be able to discern major causes of maintenance problems
To know about well-known categories of maintenance tasks and data on their distribution
~ Discuss the following claim: ‘Reliability assessment is more important than testing’. Can you think of reasons why both are needed?
~ How do you personally feel about a Cleanroom-like approach to software development?
~ One way of testing a high-level document such as a requirements specification is to devise and discuss possible usage scenarios with prospective users of the system to be developed. What additional merits can this a technique have over other types of review?
~ Assess the strengths and weaknesses of:– functional or structural testing,– correctness proofs,– random testing, and– inspections for fault finding and confidence building, respectively.
With one or two fellow students or colleagues, inspect a requirements or design document not produced by yourself. Is the documentation sufficient to do a proper inspection? Discuss the findings of the process with the author of the document. Repeat the process with a document of which you are
~ Construct an example showing that the antidecomposition and anticomposition axioms from section 13.8.2 do not hold for the All-Nodes and All-Edges testing criteria. Why are these axioms important?
~ Generate ten mutants of the procedure in exercise 20.Next, test these mutants using the following set of test cases:– an empty array;– an array of length 1;– a sorted array of length 10;– an array of 10 elements that all have the same value;– an array of length 10 with random
~ Consider the following sort routine:procedure selectsort(var r: array [1 .. n] of integer);var j, k, small: integer;begin if n > 1 then for k:= 1 to n - 1 do small:= k;for j:= k + 1 to n do if r[j] < r[small] then small:= j end end;swap(r[k], r[small])end end end selectsort;Determine the function
For a (medium-sized) system you have developed, write a Software Verification and Validation Plan (SVVP) following IEEE Standard 1012.Which of the issues addressed by this standard were not dealt with during the actual development? Could a more thorough SVVP have improved the development and
Read (DeMillo et al., 1979) and both (Fetzer, 1988) and the reactions to it (cited in the bibliography entry for that article). Write a position paper on the role of correctness proofs in software development.
Can software reliability be determined objectively?
Can you think of reasons why reliability models based on execution time yield better results than those based on calendar time?
Why is it important to consider the operational profile of a system while assessing its reliability?
Give a definition of software reliability. Give a rationale for the various parts of this definition.
What is the major difference between the basic execution time model and the logarithmic Poisson execution time model of software reliability?
Contrast top-down and bottom-up integration testing.
What is the difference between a system test and an acceptance test?
When is one testing technique stronger than another?
Which assumptions underlie mutation testing? What does that say about the strengths and weaknesses of this testing technique?
What is mutation testing?
Showing 2900 - 3000
of 3990
First
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Last
Step by Step Answers