What specific languages can be used in SRS? What are the advantages of using these specific languages of SRS?

1 Answer

Answer :

Ans. Requirement specification necessitates the use of some specification language. The language should support the desired qualities of the SRS- modifiability, understandability, unambiguous, and so forth. The language should be easy to learn and use. For ease of understanding a natural language might be preferable. Though formal notations exist for specifying specific properties of the system, natural languages are now most often used for specifying requirements. The overall SRS is generally in a natural language, and when flexible and desirable, some specifications in the SRS may use formal languages. The major advantage of using a natural language is that both client and superior understand the language. However, by the very nature of a natural language, it is imprecise and ambiguous. To reduce the drawback of natural language, most often natural language is used in a structured fashion. In structured English, requirements are broken into sections and paragraphs. Each paragraph is then broken into sub paragraphs. In an SRS, some parts can be specified better using some formal notation, example- to specify formats of inputs or outputs, regular expression can be very useful. Similarly when discussing system like communication protocols, finite state automata can be used. Decision tables are useful to formally specify the behavior of a system on different combination of input or settings.

Related questions

Description : List any three characteristics of a good SRS.

Last Answer : Ans:The SRS should be: Correct , Unambiguous, Complete 1. Correct: An SRS is correct iff every requirement stated therein is one that the software shall meet . 2. Unambiguous: An SRS is ... full labels and references to all figures and diagram and definition of all terms and units of measures

Description : Discuss the important issues that a SRS must address.

Last Answer : Ans. SRS is the process of establishing the services, the system should provide of the system in new, it is difficult for software engineer to understand the nature of problem constraints under ... life cycle of the system. (iv) It should characterize acceptable responses to the undesired events.

Description : Why is SRS also known as the blackbox specification of system ?

Last Answer : Ans: SRS document is a contract between the development team and the customer. Once the SRS document is approved by the customer, any subsequent controversies are settled by referring the SRS ... end-user terminology. If necessary later a formal requirement specification may be developed from it.

Description : If every requirement can be checked by a cost-effective process, then the SRS is (A) verifiable (B) traceable (C) modifiable (D) complete

Last Answer : (A) verifiable

Description : SRS is also known as specification of (A) White box testing (B) Stress testing (C) Integrated testing (D) Black box testing

Last Answer : (D) Black box testing

Description : If every requirement stated in the Software Requirement Specification (SRS) has only one interpretation, SRS is said to be (A) correct. (B) unambiguous. (C) consistent. (D) verifiable.

Last Answer : (B) unambiguous.

Description : Which of the following are advantages of using LOC (lines of code) as a sizeoriented metric? (A) LOC is easily computed. (B) LOC is a language dependent measure. (C) LOC is a language independent measure. (D) LOC can be computed before a design is completed.

Last Answer : (A) LOC is easily computed.

Description : What is the advantage of using prototype software development model instead of waterfall model? Also explain the effect of defining a prototype on the overall cost of the software project?

Last Answer : Ans:The waterfall model: This is the classic SDLC model, with a linear and sequential method that has goals for each development phase. The waterfall model simplifies task scheduling, because ... acceptable prototype is finally achieved from which the complete system or product can now be developed.

Description : Requirements can be refined using (A) The waterfall model (B) prototyping model (C) the evolutionary model (D) the spiral model

Last Answer : (B) prototyping model

Description : In the spiral model ‘risk analysis’ is performed (A) In the first loop (B) in the first and second loop (C) In every loop (D) before using spiral model

Last Answer : (C) In every loop

Description : Software project planning entails what activities? What are the difficulties faced in measuring the Software Costs?

Last Answer : Ans. Software project planning entails the following activities: Estimation: o -Effort, cost, resource, and project duration Project scheduling: Staff organization: o -staffing ... actual specifications of the system hence cost estimations based on uncertain information cannot be accurate.

Description : Draw the flow chart of Risk Management-Activity and explain various Software risks.

Last Answer : Ans RISK is a problem that could cause some loss or threatens the success of the project, but which has not happened yet. Typical Software Risks:- 1. Dependencies: -Many ... Inadequate application domain experience. New technologies. Ineffective, poorly documented, or neglected processes.

Description : What is Data Dictionary? Explain each component?

Last Answer : Ans Data dictionary is a storehouse of data giving information about data. It is a list of terms and their definition for all data items and data files of a system. A data dictionary contains ... Data Stores- data Flows are data structures in motion whereas data stores are data structures at rest.

Description : Explain incremental model? Define core product and detailed plan.

Last Answer : Ans. The incremental model is proposed by D.L PARNAS. It is basically implemented by combining elements of linear sequential model and iterative prototyping model. Incremental development refer to the process ... . Risk of failure of product is decreased as user start using the product early.

Description : Explain various types of static and dynamic testing tools.

Last Answer : Ans. Static testing tools: 1. Static analysers A static analyser operates from a pre-computed database of descriptive information derived from the source text of the program. The idea of a static ... for documenting that the tests have been done and that no defects were found during the process.

Description : How is cyclomatic complexity useful in program test? What is sequence of testing? What is testability?

Last Answer : Ans. Cyclomatic complexity measures the amount of decision logic in a single software module. It is used for two related purposes in the structured testing methodology. First, it gives the number of ... a lack of testability may hinder testing parts of the software or software requirements at all.

Description : Design black box test suits for a function that checks whether a character or string upto ten characters in a palindrome?

Last Answer : Ans Following may be the test cases: - Try with Even number of characters (MALAYALAM) - Try with Odd number of characters (ADDA) - Try with maximum length of string The following are negative test ... come for the following) - Try with empty string - Try with numbers - Try with special characters

Description : Compare and contrast reliability and availability?

Last Answer : Ans. Reliability:The probability of failure-free system operation over a specified time in a given environment for a given purpose is called reliability Availability:The probability that a system, at ... damage data, low reliability may not be a problem. Availability takes repair time into account.

Description : Explain various Object Oriented concepts used in Software Engineering. Give an example.

Last Answer : Ans .Various concepts of Object Oriented concepts used in Software Engineering: Object:- An object is something which is capable of being seen, touched or sensed. Each object has certain distinctions ... . A message can be sent between two objects only if they have an association between them.

Description : Define cohesion & coupling? Give suitable examples.

Last Answer : Ans Coupling:Coupling refers to the strength of the relationship between modules in a system. Coupling represents how strongly different modules are interconnected with each other. Cohesion: Cohesion ... Cohesion represents how strongly the internal elements of a module are bound to each other.

Description : What is Data Binding?

Last Answer : Ans.The matrix that attempts to capture the module-level concept of coupling is data binding. Data binding are a measure that captures the data interaction across portions of a software system. In ... words, data binding try to specify how strongly coupled different modules in a software system are.

Description : What is function point? Explain its importance. What is function-oriented metrics?

Last Answer : Ans. Function point measures the functionality from the user point of view, that is, on the basis of what the user request and receives in return. Therefore, it deals with ... empirical relationship based on countable measures of software's information domain and assessments of software complexity.

Description : Spiral model is a realistic approach to the development of large-scale systems & software. Justify & explain the model?

Last Answer : Ans. There are several advantages of Spiral model that makes it a realistic approach to development of large-scale systems and software, viz: 1) The spiral model promotes quality assurance ... , which can help in identifying and resolving potential problems or errors in the software development.

Description : What is CMM? Describe its levels & compare it with ISO 9001?

Last Answer : Ans. CAPABILITY MATURITY MODEL (CMM): CMM is a strategy for improving the software process, irrespective of the actual life cycle model used. Software Engineering Institute (SEI) of Carnegie- ... in the CMM are called out in the auditing practices of the verifying implementation common feature.

Description : Explain acceptance testing and beta testing.

Last Answer : Ans. Acceptance Testing and Beta testing:System tests are designed to validate a fully developed system to assure that it meets its requirements. Acceptance and beta testing are form of system ... testing performed by the cutomer to determine whether he should accept the delivery of the system.

Description : Discuss the problems faced during software maintenance

Last Answer : Ans. Problems During Maintenance The most important problem during maintenance is that before correcting or modifying a program, the programmer must first understand it. Then, the programmer ... be very difficult. Therefore approach of development should be the production of maintainable software.

Description : Explain the concept of bottom-up, top-down and hybrid design.

Last Answer : Ans: Bottom up design:This approach leads to a style of design where we decide how to combine these modules to provide larger ones; to combine those to provide even larger ones, ... approaches are often not practical therefore hybrid approach which combines the above two approaches is often used.

Description : Why is good design important for a product?

Last Answer : Ans: A good design is the key to successful product. Almost 2000 years ago a Roman Architect recorded the following attributes of a good design:  Durability  Utility and  Charm A well-designed system is easy to implement, understandable and reliable and allows for smooth evolution.

Description : Define the following terms: (i) Product metrics (ii) Live variables (iii) FAN IN

Last Answer : Ans: (i) Product metrics: describe the characteristics of the product such as size, complexity, design features, performance, efficiency, reliability, portability, etc. (ii) A variable is live from its first ... count of the number of other Components that can call, or pass control, to Component A.

Description : Explain any two requirement elicitation methods.

Last Answer : Ans. Interviews: After receiving the problem statement from the customer, the first step is to arrange a meeting with the customer. During the meeting or interview, both the parties would like to ... -Board, flip chart, worksheets, wall stickiest, etc. Participants should not criticize or debate.

Description : Explain the software life cycle model that incorporates risk factor.

Last Answer : Ans. The problem with traditional software process models is that they do not deal sufficiently with the uncertainty, which is inherent to software projects. Important software projects failed ... . The risk analysis and validation steps eliminate errors in the early phases of development

Description : Discuss any two software characteristics.

Last Answer : Ans.Software is not manufactured: The life of a software is from concept exploration to the retirement of the software product. It is one time development effort and continuous maintenance effort in order ... this characteristic may be the best and may help us to accommodate any kind of change.

Description : What is structured programming and why is it important?

Last Answer : Ans. Structured programming is a term which was coined in the late 1960's to mean programming without using go to statements, programming using only while loops and if statements as ... Structured programming means programs can be read sequentially and are therefore easier to understand and inspect.

Description : What is reverse engineering?

Last Answer : Ans. It is a process of analysing software with a view to understanding its design and specification. - In reverse engineering, source code and executable code are the input. - It may be part of a ... to : - Serves as input to SRS for program replacement. - Be available to help program maintenance.

Description : What are dynamic testing tools? Explain the functions that they must support.

Last Answer : Ans. Dynamic testing tools: 1: coverage analyzers (execution verifiers): A coverage analyzer is the most common and important tool for testing. It is often relatively simple. One of the common ... tester to plan tests so they are both efficient and also effective at forcing discovery of defects.

Description : Define graph matrix and connection matrix.

Last Answer : Ans: Graph matrix: A graph matrix is a square matrix whose size(i.e., number of rows and columns) is equal to the number of nodes on the flow graph. Each row and column corresponds to ... letter has been replaced with a 1, indicating that a connection exists (zeros have been excluded for clarity).

Description : Describe system testing.

Last Answer : Ans. System testing: System test are designed to validate a fully developed systems with a view to assuring that it meets its requirements. There are three types of system testing: Alpha testing: This ... is performed by the customer to determine whether or not to accept the delivery of the system.

Description : Why does the software design improve when we use object-oriented concepts?

Last Answer : Ans. The software design improves when we use object-oriented concepts because 1.Object-orientation works at higher level of abstraction. The development can proceed at the object level and ... good programming techniques. 4.Object-oriented programming design and programming promote code re-use.

Description : Explain the development phases of the detailed COCOMO model.

Last Answer : Ans A software development is carried out in four successive phases, which are as follows: 1: plan/requirements: this is the first phase of the development cycle. The requirement is analyzed, the product ... product. This requires 16% to 34% of normal effort and 18% to 34% of the development time.

Description : Explain the development phases of the detailed COCOMO model.

Last Answer : Ans A software development is carried out in four successive phases, which are as follows: 1: plan/requirements: this is the first phase of the development cycle. The requirement is analyzed, the product ... product. This requires 16% to 34% of normal effort and 18% to 34% of the development time.

Description : Differentiate between structured analysis and structured design.

Last Answer : Ans. The aim of structured analysis is to transform the textual description of a problem into a graphic model. During structured analysis, functional decomposition of the system takes place, i ... define the structure of the solution that is suitable for implementation in some programming language.

Description : Discuss the various strategies of design. Which design strategy is most popular and practical?

Last Answer : Ans The most commonly used software design strategy involved decomposing the design into functional components with system state information held in a shared data area. The design strategies are: ... oriented design, the system state is decentralized and each object manages is own state information

Description : List four reasons why it is difficult to improve software process.

Last Answer : Ans It is difficult to improve software process due to following reasons: 1. Lack of knowledge-Many software developers are not aware of best practices of industry. In fact best ... lack of true commitment. Management sets no expectations from the development community regarding process improvement.

Description : What is ripple effect? How does it affect the stability of a program?

Last Answer : Ans. The ripple effect is a term used to describe a situation where, like the ever expanding ripples across water when an object is dropped into it, an effect from an initial state can be ... the program. Program stability is defined as the resistance to the amplification of changes in the program.

Description : Describe the various steps of the reuse-oriented model.

Last Answer : Ans. The reuse-oriented model, also called reuse-oriented development (ROD), is a method of software development in which a program is refined by producing a sequence of prototypes called models, each ... requirements, resulting in a product that does not fully meet the needs of its intended users.

Description : Describe the various types of restructuring techniques. How does restructuring help in maintaining a program?

Last Answer : Ans. Software restructuring modifies source code and / or data an effort to make it amenable to future changes. In general, restructuring does not modify the overall program architecture. It tends ... requires performing maintenance activities is reduced. (d) Software is easier to test and debug.

Description : What are the assumptions of the execution-time component model? Compare the execution-time component for basic model and the logarithmic Poisson model.

Last Answer : Ans. The execution-time component is based on the following assumptions: (1) Tests represent the environment in which the program will be used. (2) All failures are observed. (3) ... constant for basic model while the decrement per failure decreases exponentially as shown in the following graph.

Description : Explain Equivalence Class Partitioning and Boundary value analysis. Compare the two.

Last Answer : Ans. Equivalence Class Partitioning: It is a technique in black box testing. It is designed to minimize the number of test cases by dividing tests in such a way that the system is expected to act the ... valid data equivalence class, then you can select test case values like: 1, 11, 100, 950 etc.

Description : Explain the following with the help of an example (i) Common coupling (ii) Communicational cohesion (iii) Class diagram (iv) Structure chart

Last Answer : Ans. (i) Common coupling: Common coupling is when two modules share the same global data (e.g. a global variable). Changing the shared resource implies changing all the modules using it ... Whether each identifiable function is a manageable entity or should be broken down into smaller components.

Description : List the points of a simplified design process.

Last Answer : Ans. A design process may include a series of steps followed by designers. Depending on the product or service, some of these stages may be irrelevant, ignored in real-world situations in order ... the design process repeated (with corrections made) at any time before, during, or after production.