Está en la página 1de 35

CS 2301 - SOFTWARE ENGINEERING TWO MARKS UNIT I SOFTWARE PRODUCT AND PROCESS

1. What is software engineering? Software engineering is a discipline in which theories, methods and tools are applied to develop professional software. 2. What is Software? Software is nothing but a collection of computer programs that are related documents that are indented to provide desired features, functionalities and better performance. 3. What are the characteristics of the software? * Software is engineered, not manufactured. * Software does not wear out. * Most software is custom built rather than being assembled from components. 4. What are the various categories of software? * System software * Application software * Engineering/Scientific software * Embedded software 5. What are the challenges in software? * Copying with legacy systems. * Heterogeneity challenge * Delivery times challenge. 6. Define software process. Software process is defined as the structured set of activities that are required to develop the software system. 7. What are the fundamental activities of a software process? * Specification * Design and implementation * Validation * Evolution 8. What are the umbrella activities of a software process? * Software project tracking and control. * Risk management. * Software Quality Assurance. * Formal Technical Reviews. * Software Configuration Management. * Work product preparation and production. * Reusability management. * Measurement. 9. What are the merits of incremental model? i) The incremental model can be adopted when there is less number of people involved in the project. ii) Technical risks can be managed with each increment. iii) For a very small time span, at least core product can be delivered to the customer.

10. List the task regions in the Spiral model. * Customer communication - it is suggested to establish customer communication. * Planning All planning activities are carried out * Risk analysis The tasks required to calculate technical and management risks. * Engineering tasks required to build one or more representations of applications * Construct and release tasks required to construct, test, install the applications * Customer evaluation - tasks are performed and implemented at installation stage based on the customer evaluation. 11. What are the drawbacks of spiral model? i) It is based on customer communication. If the communication is not proper then the software product that gets developed will not be the up to the mark. ii) It demands considerable risk assessment. If the risk assessment is done properly then only the successful product can be obtained. 12. What is System Engineering? System Engineering means designing, implementing, deploying and operating systems which include hardware, software and people. 13. List the process maturity levels in SEIs CMM. Level 1: Initial - Few processes are defined and individual efforts are taken. Level 2: Repeatable To track cost schedule and functionality basic project management processes are established. Level 3: Defined The process is standardized, documented and followed. Level 4: Managed Both the software process and product are quantitatively understood and controlled using detailed measures. Level 5: Optimizing Establish mechanisms to plan and implement change. 14. What is an effector process? The effector process is a process that verifies itself. The effector process exists in certain criteria. 15. Define the computer based system. The computer based system can be defined as a set or an arrangement of elements that are organized to accomplish some predefined goal by processing information. 16. What does Verification represent? Verification represents the set of activities that are carried out to confirm that the software correctly implements the specific functionality. 17. What does Validation represent? Validation represents the set of activities that ensure that the software that built is satisfying the customer requirements. has been

18. What are the steps followed in testing? 1) Unit testing - The individual components are tested in this type of testing. 2) Module testing Related collection of independent components are tested. 3) Sub-system testing Various modules are integrated into a subsystem and the whole subsystem is tested. 4) System testing The whole system is tested in this system. 5) Acceptance testing This type of testing involves testing of the system with customer data. 19. What is the use of CMM? Capability Maturity Model is used in assessing how well an organizations processes allow to complete and manage new software projects.

20. Name the Evolutionary process Models. i. Incremental model ii. Spiral model iii. WIN-WIN spiral model iv. Concurrent Development 21. What is meant by Software engineering paradigm? The development strategy that encompasses the process, methods and tools and generic phases is often referred to as a process model or software engineering paradigm. 23. Define dynamic verification? Dynamic verification is performed during the execution of software and dynamically checks its behavior. 24. Define static verification? Static verification is a process to check some requirements of software doing a physical inspection of it. Example: software metric calculation.
UNIT-I 1.What is meant by Software Engineering? The application of a systematic, disciplined, quantifiable approach to the development, operation & maintenance of software .(ie)The application of Engineering toSoftware. 2.What are the characteristics of Software? ->Software is engineered or developed, it is not manufactured in the classical sense. ->Software doesnt wear out. ->Although the industry is moving toward component based assembly, most software continues to be custom built. 3.What are the phases of Problem solving Loop? Problem definition ->identifies the problem to be solved. Technical development->Solve the Problem through some Technology. Solution Integration ->Delivers the result Status Quo ->Represents the Current status affairs. 4.List out the activities of Linear Sequential Model. Software requirement analysis ->Understand the nature of the problem, information domain, function etc. Design ->Translates the requirement in to Software representation. Code generation ->Translates design in to Machine-readable form. Testing ->Test the Logical internals functional externals of the System. 5.Mention some of the drawbacks of RAD model.

Not suitable for large-scale projects. Commitment of developers & customers are needed. Not appropriate when technical risks are high.

6.What are the types of changes encountered during the Support phase> Correction To uncover defects in the Software Adaptation To accommodate changes to its environment Enhancement To provide additional functionalities.

Prevention To serve the needs of its end users. 7.Define Business process engineering. When the context of the engineering work focuses on a business enterprise. 8.What are the elements of Computer based Systems? Software: Computer programs, data structures, & related document Hardware: Electronic devices, inter connectivity devices, Electro mechanical devices. People: Users & Operators Database :organized collection of information. Documentation: Descriptive information Procedures: Steps that define the specific use of each system element. 9.Define Software Lifecycle. Software Lifecycle is the period of time beginning with the concept for a Software product ending whenever the Software is no longer available for use. SLC = SLCM + Activities. 10.What are the functions of data architecture? ->It provides the information needed for a business function. ->Identify the data objects and their relationship. Eg: Customer Attributes: Company name Contact information Product information Past purchase 11.Define System Modeling? Define the processes that serve the needs of the view under consideration. Represent the behavior of the processes and the assumptions on which the behavior is based. Explicitly define both exogenous & endogenous input to the model. Represent all linkages that will enable the engineer to better understand the view.

12.State the System Engineering Hierarchy? The world view is composed of a set of domains (Di),which can each be a system, or system of systems. WV = {D1,D2,D3,..,Dn} Each domain is composed of specific elements (Ej). Di = {E1, E2, E3,..Em} Each element is implemented by specifying the technical components (Ck)that achieve the necessary function for an element. Ej = {C1,C2,C3..C4}. 13.Mention some of the factors to be considered during System Modeling. ->Assumptions ->Simplifications ->Limitations ->Constraints

->Preferences.

14.What are the different architectures developed during BPE? Data architecture - framework for the information needs of a business. Application architecture - incorporates the role of people & business procedures. Technology infrastructure - foundation for the data & application architecture. 15.Define Verification &Validation. Verification: The set of activities that ensure that software correctly implements a specific function. Validation: The set of activities that ensure that the software has been built is traceable to customer requirements. 16. What are the fundamental activities of a software process? Specification Design and implementation Validation Evolution 17. What are the umbrella activities of a software process? Software project tracking and control. Risk management. Software Quality Assurance. Formal Technical Reviews. Software Configuration Management. Work product preparation and production. Reusability management. Measurement. 18. What are the merits of incremental model? i. The incremental model can be adopted when tere are less number of people involved in the project. ii. Technical risks can be managed with each increment. iii. For a very small time span,at least core product can be delivered to the customer. 19 . List the task regions in the Spiral model. Customer communication In this region it is suggested to establish customer communication. Planning All planning activities are carried out in order to define resources timeline and other project related activities. Risk analysis The tasks required to calculate technical and management risks. Engineering In this the task region,tasks required to build one or more representations of applications are carried out. Construct and release All the necessary tasks required to construct,test,install the applications are conducted. Customer evaluation Customers feedback is obtained and based on the customer evaluation required tasks are performed and implemented at installation stage. 20 . What are the drawbacks of spiral model? i. It is based on customer communication.If the communication is not proper then the software product that gets developed will not be the up to the mark. ii. It demands considerable risk assessment.If the risk assessment is done properly then only the successful product can be obtained. 21. Define the computer based system.

The computer based system can be defined as a set or an arrangement of elements that are organized to accomplish some predefined goal by processing information. 22. Name the Evolutionary process Models. i. Incremental model ii. Spiral model iii. WIN-WIN spiral model iv. Concurrent Development

23. Define the term PROGRAMMER. The term programmer is used to denote an individual who is concerned with the details of implementing, packaging vend modifying algorithms and data structures written in particular programming languages. 24. What is the job of software engineer Software engineers are concerned with issues of analysis, design, verification and testing, documentation, software maintenance and project management 25. Define the term of computer software computer software includes the source code and all the associated documents and documentation, that constitute a software product. 26. What are all the components of a software product Requirements document Users manuals Design specifications ware problem repots Source code Soft Test plans Training aid Principles of operation Quality assurance produces 27. What are the generic view phases in software engineering? 1. 2. 3. 28. Definition phase. Development phase. Support phase.

What are the characteristics of KPA? 1. 2. 3. 4. 5. 6. Goals Commitments Abilities Activities Monitoring Implementation Method Verifying Implementation Method

KPA Key Process areas. 29. What is risk analysis? A risk is a potential problem, it might happen, it might not. But, have define idea to identity it, and assess its probability of occurrence estimate its impact and establish a contingency plan should the problem actually occur. 30. What is a "task set"?

Each of the regions is populated by a set of work tasks, called a task set, that are adapted to the characteristics of the project to be undertaken. 31. What is WIN-WIN?

The best negotiations string for a "Win-Win" result. That is, the customer wins by getting the system or product that satisfies the majority of the customer's needs and the developer wins by working to realistic and achievable budgets and deadlines.

UNIT II

SOFTWARE REQUIREMENTS

1. What is requirement engineering? Requirement engineering is the process of establishing the services that the customer requires from the system and the constraints under which it operates and is developed. 2. What are the various types of traceability in software engineering? i. Source traceability These are basically the links from requirement to stakeholders ii. Requirements traceability These are links between dependant requirements. iii. Design traceability These are links from requirements to design. 3. Define software prototyping. Software prototyping is defined as a rapid software development for validating the requirements. 4. What are the benefits of prototyping? i. Prototype serves as a basis for deriving system specification. ii. Design quality can be improved. iii. System can be maintained easily. iv. Development efforts may get reduced. v. System usability can be improved. 5. What are the prototyping approaches in software process? i. Evolutionary prototyping the initial prototype is prepared and it is then refined through number of stages to final stage. ii. Throw-away prototyping a rough practical implementation of the system is produced. The requirement problems can be identified from this implementation. 6. What are the advantages of evolutionary prototyping? i. Fast delivery of the working system. ii. User is involved while developing the system. iii. More useful system can be delivered. iv. Specification, design and implementation work in co-ordinate manner. 7. What are the various Rapid prototyping techniques? i. Dynamic high level language development. ii. Database programming. iii. Component and application assembly. 8. What is the use of User Interface prototyping? This prototyping is used to pre-specify the look and feel of user interface effective way. in an

9. What are the characteristics of SRS? i. Correct The SRS should be made up to date when appropriate requirements are identified. ii. Unambiguous When the requirements are correctly understood then only it is possible to write an unambiguous software. iii. Complete To make SRS complete, it should be specified what a software designer wants to create software. iv. Consistent It should be consistent with reference to the functionalities identified. v. Specific The requirements should be mentioned specifically. vi. Traceable What is the need for mentioned requirement? 10. What is data modeling? Data modeling is the basic step in the analysis modeling. In data modeling the data objects are examined independently of processing. The data model represents how data are related with one another. 11. What is a data object? Data object is a collection of attributes that act as an aspect, characteristic, descriptor of the object. 12. What are attributes? Attributes are the one, which defines the properties of data object. 13. What is cardinality in data modeling? Cardinality in data modeling, cardinality specifies how the number of one object is related to the number of occurrences of another object. 14. What does modality in data modeling indicates? Modality indicates whether or not a particular data object must participate relationship. 15. What is ERD? Entity Relationship Diagram is the graphical representation of the object pair. It is mainly used in database applications. occurrences of quality, or

in the

relationship

16. What is DFD? Data Flow Diagram depicts the information flow and the transforms that are applied on the data as it moves from input to output. 17. What does Level0 DFD represent? Level 0 DFD is called as fundamental system model or context model. In the context model the entire software system is represented by a single bubble with input and output indicated by incoming and outgoing arrows. 18. What is a state transition diagram? State transition diagram is basically a collection of states and events. The events cause the system to change its state. It also represents what actions are to be taken on the occurrence of particular event. 19. Define Data Dictionary. The data dictionary can be defined as an organized collection of all the data elements of the system with precise and rigorous definitions so that user and system analyst will have a common understanding of inputs, outputs, components of stores and intermediate calculations.

20. What are the elements of Analysis model? i. Data Dictionary ii. Entity Relationship Diagram iii. Data Flow Diagram iv. State Transition Diagram v. Control Specification vi. Process specification. 21. What are functional requirements? Functional requirements are statements of services the system should provide how the system should react to particular input and how the system should behave in particular situation. 22. What are non functional requirements? Non functional requirements are constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.. 23. What is the outcome of feasibility study? The outcome of feasibility study is the results obtained from the following questions: Which system contributes to organizational objectives? Whether the system can be engineered? Is it within the budget? Whether the system can be integrated with other existing system? 24. What is meant by structural analysis? The structural analysis is mapping of problem domain to flows and transformations. The system can be modeled by using Entity Relationship diagram, Data flow diagram and Control flow diagrams.
1.What is meant by System Requirements? ->Set out the system services and constraints in detail. ->Serves as a contract between the system buyer & the system developer. 2.What are the types of Software system requirements? ->Functional requirements: Services the system should provide. ->Non-functional requirements: Constraints on the services. ->Domain requirements: reflect characteristics of the domain. 3.Write down the functional requirement for an Library management system. ->The user should able to search either all of the initial set of databases or select a subset of databases or select subset from it. ->The system shall provide appropriate viewers for the user to read documents in the document store. ->Every order shall be allocated a unique identifier. 4.Mention some of the Notations for requirements specification. ->Structured natural language: Use standard form or Templates. ->Design description language: Programming language is used. ->Graphical notation: Text annotations is used. ->Mathematical Specifications: Based on finite state machines or sets. 5.Write down the SRC for Add a node

Function Add node Description Adds a node to an existing design. Inputs Node type, Node position, Design Identifier Source Node type, Node position ->user Design identifier ->database Output Design identifier Precondition The design is open & displayed on the users screen Side effects None 6.Define Requirement Engineering. Requirement Engineering is a process that involves all of the activities required to create and maintain a system requirements document. The four generic Requirement Engineering activities are: Feasibility study, Requirement Elicitation & Analysis, Requirement Specification, Validation. 7..Mention some of the process activities of Requirement Elicitation & analysis. 8..What are

Domain Understanding Requirement Collection Classification Conflict resolution Prioritisation Requirement Checking the different types of checks carried out during Requirement Validation?

Validity checks Consistency checks Completeness checks Realism checks Verifiability. 9..Define Traceability Traceability is the overall property of requirements specification which reflects the ease of finding related requirements. Three types of traceability information to be maintained are: Source traceability information Requirement traceability information Design traceability information 10. Define software prototyping. Software prototyping is defined as a rapid software development for validating the requirements. 11. What are the benefits of prototyping? i. Prototype serves as a basis for deriving system specification. ii. Design quality can be improved. iii. System can be maintained easily. iv. Development efforts may get reduced. v. System usability can be improved. 12. What are the prototyping approaches in software process? i. Evolutionary prototyping In this approach of system development, the initial prototype is prepared and it is then refined through number of stages to final stage. ii. Throw-away prototyping Using this approach a rough practical implementation of the system is produced. The requirement problems can be identified from this implementation. It is then discarded. System is then developed using some different engineering paradigm. 13. What are the characteristics of SRS?

i. Correct The SRS should be made up to date when appropriate requirements are identified. ii. Unambiguous When the requirements are correctly understood then only it is possible to write an unambiguous software. iii. Complete To make SRS complete, it should be specified what a software designer wants to create software. iv. Consistent It should be consistent with reference to the functionalities identified. v. Specific The requirements should be mentioned specifically. vi. Traceable What is the need for mentioned requirement? This should be correctly identified. 14 . What are the objectives of Analysis modeling? i. To describe what the customer requires. ii. To establish a basis for the creation of software design. iii. To devise a set of valid requirements after which the software can be built. 15 . What is data modeling? Data modeling is the basic step in the analysis modeling. In data modeling the data objects are examined independently of processing. The data model represents how data are related with one another. 16. What is a data object? Data object is a collection of attributes that act as an aspect, characteristic, quality, or descriptor of the object. 17. What are attributes? Attributes are the one, which defines the properties of data object. 18. What is software requirements? The software requirements specification is produced at the culmination of analysis tasks. The function and performance allocated to software as part of system engineering are refined by establishing a complete information description, a detailed functional description, a representation of system behavior, an indication of performance requirements and design constraints, appropriate validation criteria and other information pertinent to requirements. 19. What are the various representation used to depict the analysis model? Man different representation can be used to depict the anlalysis mode Use-case diagram Activity diagram Class diagrams State diagram Data flow diagram(DFD) 20.Define DFD Data flow diagram(DFD) provides an indication of how data are transformed as they move through the system; also depicts functions that transform the data flow(a function is represented in a DFD using a process specification or PSPTEC) 21.State the primary objectives of analysis Model. ->To describe what the customer requires ->To establish a basis for the creation of a software design ->To define a set of requirements that can be validated once the software is built. Problem analysis & Change specification Change analysis & costing Change Implementation 22..Define Data objects, attributes & relationship. Data object: Representation of any composite information that must be understood by a software. It can be any external entity. Attributes: Define the properties of the Data object Relationship: Connecting two different data object. Eg: Object Attributes Relationship Person Name Age Address Owns

Car Make Model Body type 23.Define Cardinality & Modality. Cardinality: Specification of the number of occurrences of one that can be related to number of occurrences of another. Modality: The Modality of a relationship is 0 if there is no explicit need for the relationship to occur or the relationship is optional. The modality is 1 if an occurrence of the relationship is mandatory. 24..Define Behavioral Modeling. The state transition diagram represents the behavior of a system by depicting its states and the events that cause the system to change state. 25.What is meant by Data dictionary? The Data dictionary is an organized listing of all data elements that are pertinent to the system, with precise, rigorous definitions so that both user & system analyst will have a common understanding of inputs, outputs, components of store & intermediate 26.What does data dictionary contains? Name: The primary name of the data. Alias: other names used Where-used/How-used: A listing of processes that use the data or control item. Content description: A notation for representing the content Supplementary information: Other information like restrictions, limitations etc. 27.Write down the Data dictionary for the data item Telephone Number. Names: Telephone number Aliases: none Where used/How used: assess against set-up Description Telephone number = [local number| long distance number] Local number = prefix + access number Long distance number = 1 + area code + local number Area code = [800 | 888 | 561] Prefix = * a three digit number that never starts with 0 or 1* 28.What is meant by Throw away Prototyping? ->Giving the user a system which is incomplete and then modifying and augmenting it as the user requirements become clear. ->The objective is to validate or derive the system requirements. ->Start with those requirements that are not well understood since you need to find more about them.

UNIT III

ANALYSIS, DESIGN CONCEPTS AND PRINCIPLES

1. What are the elements of design model? i. Data design ii. Architectural design iii. Interface design iv. Component-level design 2. Define design process. Design process is a sequence of steps carried through which the requirements are translated into a system or software model. 3. List the principles of a software design. i. The design process should not suffer from tunnel vision ii. The design should be traceable to the analysis model. iii. The design should exhibit uniformity and integration. iv. Design is not coding. v. The design should not reinvent the wheel. 4. What is the benefit of modular design? Changes made during testing and maintenance becomes manageable and they do not affect other modules. 5. What is a cohesive module? A cohesive module performs only one task in software procedure with little interaction with other modules. In other words cohesive module performs only one thing. 6. What are the different types of Cohesion? i. Coincidentally cohesive - The modules in which the set I\of tasks are related with each other loosely. ii. Logically cohesive A module that performs the tasks that are logically related with each other. iii. Temporal cohesion The module in which the tasks need to be executed in some specific time span. iv. Procedural cohesion When processing elements of a module are related with one another and must be executed in some specific order. v. Communicational cohesion When the processing elements of a module share the data then such module is called communicational cohesive.

7. What is coupling? Coupling is the measure of interconnection among modules in a program structure. It depends on the interface complexity between modules. 8. What are the various types of coupling? i. Data coupling The data coupling is possible by parameter passing or data interaction. ii. Control coupling The modules share related control data in control coupling. iii. Common coupling The common data or a global data is shared among modules. iv. Content coupling Content coupling occurs when one module makes use of data or control information maintained in another module.

9. What are the common activities in design process? i. System structuring The system is subdivided into principle subsystems components and communications between these subsystems are identified. ii. Control modeling A model of control relationships between different parts of the system is established. iii. Modular decomposition The identified subsystems are decomposed into modules. 10. What are the benefits of horizontal partitioning? i. Software that is easy to test. ii. Software that is easier to maintain. iii. Propagation of fewer side effects. iv. Software that is easier to extend. 11. What is vertical partitioning? Vertical partitioning often called factoring suggests that the control and work should be distributed top-down in program structure. 12. What are the advantages of vertical partitioning? i. These are easy to maintain changes. ii. They reduce the change impact and error propagation. 13. What are the various elements of data design? i. Data object The data objects are identified and relationship among various data objects can be represented using ERD or data dictionaries. ii. Databases Using software design model, the data models are translated into data structures and data bases at the application level. iii. Data warehouses At the business level useful information is identified from various databases and the data warehouses are created.

14. List the guidelines for data design. i. Apply systematic analysis on data. ii. Identify data structures and related operations. iii. Establish data dictionary. iv. Use information hiding in the design of data structure. v. Apply a library of useful data structures and operations.

15. Name the commonly used architectural styles. i. Data centered architecture. ii. Data flow architecture. iii. Call and return architecture. iv. Object-oriented architecture. v. Layered architecture. 16. What is Transform mapping? The transform mapping is a set of design steps applied on the DFD in order to map the transformed flow characteristics into specific architectural style. 17. What is a Real time system? Real time system is a software system in which the correct functionalities of the system are dependent upon results produced by the system and the time at which these results are produced. 18. What are the objectives of Analysis modeling? i. To describe what the customer requires. ii. To establish a basis for the creation of software design. iii. To devise a set of valid requirements after which the software can be built. 19. What is an Architectural design? The architectural design defines the relationship between major structural elements of the software, the design patterns that can be used to achieve the requirements that have been defined for the system. 20. What is data design? The data design transforms the information domain model created during analysis into the data structures that will be required to implement the software. 21. What is interface design? The interface design describes how the software communicates within itself, with systems that interoperate with it, and with humans who use it. 22. What is component level design? The component level design transforms structural elements of the software architecture into a procedural description of software components. 23. What is software design? Software design is an iterative process through which the requirements are translated into a blueprint for constructing the software. 24. What is user interface design? User interface design creates an effective communication medium between a human and a computer. 25. What is system design? System design process involves deciding which system capabilities are to be implemented in software and which in hardware. 26. What are data acquisition systems?

Systems that collect data from sensors for subsequent processing and analysis are termed as data acquisition systems. Data collection processes and processing processes may have different periods and deadlines.
Unit-III 1. Define: Architectural design Architectural design represents the structure of data and program components that are required to build a computer based system. It considers the architectural style that the system will take, the structure and properties of the components that constitute the system, and the interrelationship that occur among all architectural components of a system. 2.What is Data Design? High level model depicting users view of the data or information. Design of data structures and operators is essential to creation of high-quality applications. Translation of data model into database is critical to achieving system business objectives. Reorganizing databases into data warehouse enables data mining or knowledge discovery that can impact success of business itself 3. Define the term in software designing: Modularity. The software is divided into separately named and addressable components, often called modules that are integrated to satisfy problem requirements. Modularity is the single attribute of software that allows a program to be intellectually manageable. 4.How will you ensure for effective modular design? Effective modular design reduces complexity, facilitates change, & easier implementation by encouraging parallel development of different parts of a system. Developing modules with single minded function is said to be functional independence. Functional independence modules have high cohesion and low coupling Functional Independence is measured using two qualitative criteria: Cohesion and coupling. Cohesion qualitative indication of the degree to which a module focuses on just one thing Coupling qualitative indication of the degree to which a module is connected to other modules and to the outside world. 5.What is the difference between cardinality and modality. Cardinality-in data modeling, Cardinality specifies how the number of occurrences of one object are related to the number of occurrences of another object(1:1,1:N,M:N) Modality-Zero(0) for an optional object relationship and one(1) for a mandatory relationship. 6. Explain State Transition Diagrams. State transition diagram(STD) indicates how the system behaves as a consequence external events, states are used to represent behavior modes. Arcs are labeled with the event triggering the transitions from one state to another(Control information is contained in couple of specification or CSPEC).STD represent the system states and events that trigger state transitions. 7. Describe about Interface Design. Interface is a set of operations that describes the externally observable behavior of a class and provides access to its operations. Important elements: ->User interface(UI),External interfaces to other systems, Internal interfaces between various design components, Modeled using UMI, collaboration diagrams. 8..Define component level design. Describes the internal detail of each software component. Defines: Data structures for all local data objects.

Algorithmic Detail for all component processing functions. Interface that allows access to all component operations. Modeled using UML component diagrams, UML activity diagrams, and pseudocode(PDL).

9. What do you meant by ADL? Architectural Description Language (ADL) Provides syntax and semantics for describing software architecture. Provides designers with ability to decomposee components, combine components, and define interfaces. 10. Write the steps in transform mapping. Transform Mapping 1. Review fundamental system model 2. Review and redefine data flow diagrams for the software. 3. Determine whether the DFD has transform or transaction characteristics 4. Isolate the transform center by specifying incoming and outgoing flow boundaries 5. Perform first level factoring 6. Perform second level factoring. 7. Refine the first iteration architecture using design heuristics for improved software quality.

11.Mention some of the cohesion types. Cohension Utility Cohesion Temporal Cohesion Procedural Cohesion Communication Cohesion. Sequential Cohesion Layer Cohesion Functional Cohesion. 12. Mention various coupling types. Coupling: Data Coupling. Stamp Coupling. Control Coupling. External Coupling. Common Coupling. Content Coupling. Routine Call Coupling. Type use Coupling. Inclusion or Import. 13.What is the use of Architectural design? The Architectural design defines the relationship between major structural elements of the software, the design patterns that can be used ,and the constraints that affect the way in which architectural design patterns can be applied. 14.Define Software design. ->Software design is an iterative process through requirements are translated into a blue print for constructing the software. ->The blue print depicts a holistic view of software. 15.Mention some of the Design principles. ->The design process should not suffer from tunnel vision.

->The design should not reinvent the wheel. ->The Design should exhibit uniformity & integration. ->Design is not coding ,coding is not design. ->The design should be traceable to the analysis model. 16..State Procedural abstraction. A Procedural abstraction is a named sequence of instructions that has a specific and limited function. Eg: Open ->Walk to the door, reach out & grasp the knob, turn knob & pull door Step away from moving door. 17.What does Data abstraction contains? A Data abstraction is a named collection of data that describes a data object Eg: door Attributes: door type, Swing direction, Opening mechanism, weight. 18..What does Modularity concept mean? Software architecture embodies modularity ;ie, Software is named in to addressable components called modules, that are integrated finally. C(P1+P2) > C(P1) + C(P2) The perceived complexity of a problem that combines p1 7p2 is greater than perceived complexity when each problem is considered separately. 19..Mention some of the criterias used to define effective modular design . ->Modular decomposability ->Modular Composability ->Modular Understandability ->Modular Continuity. ->Modular protection 20.Define Fan-in & Fan-out. Fan-out ->A measure of the number of modules that are directly controlled by another module. Fan-in ->Indicates how many modules directly control a given module. 21.Differentiate horizontal partitioning & Vertical partitioning. Horizontal partitioning Vertical partitioning 1.Defines separate branches of the 1. Control & work should beModular Hierarchy for each each distributed top-down in the program major program function structure. 2.Propagaton of fewer side-effects 2.Higher probability of side effects. 3.Software is easier to maintain 3.susceptible to side effects when Changes are made. 22. Write down the concept of Functional independence. ->Functional independence is achieved by developing modules with single minded function and an aversion to excessive interaction with other modules. ->Independent modules ,is easier to develop because function may be compartmentalized,& interfaces are simplified. ->Independent modules are easier to maintain. 23.What is meant by software prototyping?

Software prototyping is a method of creating a model for the software product. This is developed based on the currently known requirements. Software prototyping helps in the better understanding of the required system. It is applied for complicated and large systems. In software prototyping, the customer defines a set of general objectives for the software, but does not identify the real input, processing and output requirements. 24.What is the work product of software design process and who does this? A design model that encompasses architectural, interface, component level and their representations is the primary work product that is produced during software design. Software engineers conduct each of the design tasks. 25.Define the term software architecture. The software architecture of a program or a computing system is the structure of the system, which comprises software components, externally visible properties of those components and relationship among them. The architecture is the manner in which the various components of the building are integrated to form a cohesive whole. 26.Describe about Interface Design. Interface Design: Use the information Developed during interface analysis to define interface objects and actions(Operations) Define events that will cause the state of the user interface to change and model this behavior. Depict each interface state as it will appear to the end-user. Indicate how the user interprets the state of the system from information provided through the interface. 27.What are the golden rules while performing user interface design. The Golden Rules: Place the user in control Reduce the users memory load Make the Interface Consistent 28. What are the common activities in design process? i. System structuring The system is subdivided into principle subsystems components and communications between these subsystems are identified. ii. Control modeling A model of control relationships between different parts of the system is established. iii. Modular decomposition The identified subsystems are decomposed into modules. 29. What are the benefits of horizontal partitioning? i. Software that is easy to test. ii. Software that is easier to maintain. iii. Propagation of fewer sideeffects. iv. Software that is easier to extend. 30. What are the various elements of data design? i. Data object The data objects are identified and relationship among various data objects can be represented using ERD or data dictionaries. ii. Databases Using software design model, the data models are translated into data structures and data bases at the application level. iii. Data warehouses At the business level useful information is identified from various databases and the data warehouses are created. 31. List the guidelines for data design. i. Apply systematic analysis on data. ii. Identify data structures and related operations. iii. Establish data dictionary. iv. Use information hiding in the design of data structure. v. Apply a library of useful data structures and operations.

32. Name the commonly used architectural styles. i. Data centered architecture. ii. Data flow architecture. iii. Call and return architecture. iv. Object-oriented architecture. v. Layered architecture. 33. What is Transform mapping? The transform mapping is a set of design steps applied on the DFD in order to map the transformed flow characteristics into specific architectural style. 34. What is a Real time system? Real time system is a software system in which the correct functionalities of the system are dependent upon results produced by the system and the time at which these results are produced. 35. What is SCM? Software Configuration Management is a set of activities carried out for identifying, organizing and controlling changes throughout the lifecycle of computer software. 36. What is SCI? Software Configuration Item is information that is carried as part of the software engineering process. 8. Explain Version control. Version is an instance of a system which is functionally distinct in some way from other system instances. A baseline can only be changed by creating a new version. It is used to Keep track of SCI version. To mange different version of SCI To ensure repeatability & ability to reproduce any version of the s/w at any time. 37.What is version management? Version management is, Invent identification scheme for system version. Plan when new system version is to be produced. Ensure that version management tools & procedures are applied. Plan & distribute new system releases. 38.Discuss Configuration change control It involves managing & controlling changes to the SCIs, baseline & s/w releases Elements(process steps/activities) Evaluation Co-ordination Approval or disapproval Implementation of changes. 39.What is change management? Changes should be Analyzed before they are made Recorded before they are implemented. Verified after they are implemented Reported to affected parties. 40.What is the base line criteria in SCM? A work product becomes a baseline only after it is reviewed and approved. A baseline is a milestone in software development that is marked by the delivery of one or more configuration items. Once a baseline is established each change request must be evaluated and verified by a formal procedure before it is processed. 41.Explain configuration status reporting. Configuration status reporting( Configuration Audit) is an SCM task that answers the following questions. What are the conformance with requirements? What are the procedures to be followed?

What kind of traceability is maintained? It is the verification of a configuration items compliance with its configuration identification. Two types of audit Functional Configuration Audit(FCA) Physical Configuration Audit(PCA) 42.What is baseline? It is a software configuration item(CI)chat. Has been formally reviewed and agreed. Serve as the basis for further development Changed only through formal change procedure. It is the foundation for configuration management. It provides the official standard on which subsequent work is based and to only authorized changes are made.

After an initial baseline is established and frozen, every subsequent change is recorded as until the nest baseline is set. A point at which some deliverable produced during the software engineers process is put under formal change control.

43. Why software architecture is important in software process? Software architecture is a representation because it is used to convey the information content of the related elements comprising a system, the relationships among those elements, and the rules governing those relationships. It is a process because a sequence of steps is prescribed to produce or change the architecture, and/or a design from that architecture, of a system within a set of constraints. A Software architecture is primarily concerned with the external interfaces among the system's software entities, and between the system and its external environment.

UNIT IV

TESTING

1. Define software testing? Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design, and coding. 2. What are the objectives of testing? i. Testing is a process of executing a program with the intend of finding an error. ii. A good test case is one that has high probability of finding an undiscovered error. iii. A successful test is one that uncovers as an-yet undiscovered error. 3. What are the testing principles the software engineer must apply while performing the software testing? i. All tests should be traceable to customer requirements. ii. Tests should be planned long before testing begins. iii. The pareto principle can be applied to software testing-80% of all errors uncovered during testing will likely be traceable to 20% of all program modules. iv. Testing should begin in the small and progress toward testing in the large. v. Exhaustive testing is not possible. vi. To be most effective, an independent third party should conduct testing. 4. What are the two levels of testing?

i. Component testing - Individual components are tested. Tests are derived from developers experience. ii. System Testing - The group of components are integrated to create a system or sub-system is done. These tests are based on the system specification. 5. What are the various testing activities? i. Test planning ii. Test case design iii. Test execution iv. Data collection v. Effective evaluation 6. Write short note on black box testing. The black box testing is also called as behavioral testing. This method fully focus on the functional requirements of the software. Tests are derived that fully exercise all functional requirements. 7. What is equivalence partitioning? Equivalence partitioning is a black box technique that divides the input domain into classes of data. From this data test cases can be derived. Equivalence class represents a set of valid or invalid states for input conditions. 8. What is a boundary value analysis? A boundary value analysis is a testing technique in which the elements at the edge of the domain are selected and tested. It is a test case design technique that complements equivalence partitioning technique.

9. What are the reasons behind to perform white box testing? There are three main reasons behind performing the white box testing. 1. Programmers may have some incorrect assumptions while designing or implementing some functions. 2. Certain assumptions on flow of control and data may lead programmer to make design errors. To uncover the errors on logical path, white box testing is must. 3. There may be certain typographical errors that remain undetected even after syntax and type checking mechanisms. Such errors can be uncovered during white box testing. 10. What is cyclomatic complexity? Cyclomatic complexity is software metric that gives the quantitative Measure of logical complexity of the program. 11. How to compute the cyclomatic complexity? The cyclomatic complexity can be computed by any one of the following ways. 1. The numbers of regions of the flow graph correspond to the cyclomatic complexity. 2. Cyclomatic complexity (G), for the flow graph G, is defined as: V(G)=E-N+2, E -- number of flow graph edges, N -- number of flow graph nodes 3. V(G) = P+1 Where P is the number of predicate nodes contained in the flow graph. 12. Distinguish between verification and validation. Verification refers to the set of activities that ensure that software correctly implements a specific function.

Validation refers to a different set of activities that ensure that the software that has been built is traceable to the customer requirements. 13. What are the various testing strategies for conventional software? i. Unit testing ii. Integration testing. iii. Validation testing. iv. System testing. 14. Write about drivers and stubs. Drivers and stub software need to be developed to test incompatible software. The driver is a program that accepts the test data and prints the relevant results. The stub is a subprogram that uses the module interfaces and performs the minimal data manipulation if required. 15. What are the approaches of integration testing? The integration testing can be carried out using two approaches. 1. The non-incremental testing. 2. Incremental testing. 16. What are the advantages and disadvantages of big-bang? Advantage: This approach is simple. Disadvantages: It is hard to debug. It is not easy to isolate errors while testing. In this approach it is not easy to validate test results. 17. What are the benefits of smoke testing? * Integration risk is minimized. * The quality of the end-product is improved. * Error diagnosis and correction are simplified. * Assessment of program is easy. 18. What are the conditions exists after performing validation testing? * The function or performance characteristics are according to the specifications and are accepted. * The requirement specifications are derived and the deficiency list is created. 19. Distinguish between alpha and beta testing Alpha and beta testing are the types of acceptance testing. Alpha test : The alpha testing is attesting in which the version of complete software is tested by the customer under the supervision of developer. This testing is performed at developers site. Beta test : The beta testing is a testing in which the version of the software is tested by the customer without the developer being present. This testing is performed at customers site. 20. What are the various types of system testing? 1. Recovery testing is intended to check the systems ability to recover from failures. 2. Security testing verifies that system protection mechanism prevent improper penetration or data alteration. 3. Stress testing Determines breakpoint of a system to establish maximum service level. 4. Performance testing evaluates the run time performance of the software, especially real-time software. 21. Define debugging.

Debugging is defined as the process of removal of defect. It occurs as a consequence of successful testing. 22. What are the common approaches in debugging? Brute force method: The memory dumps and run-time tracks are examined and program with write statements is loaded to obtain clues to error causes. Back tracking method: The source code is examined by looking backwards from symptom to potential causes of errors. Cause elimination method: This method uses binary partitioning to reduce the number of locations where errors can exists 23. What is meant by structural testing? In structural testing derivation of test cases is according to program structure. Hence knowledge of the program is used to identify additional test cases. 24. What is meant by regression testing? Regression testing is used to check for defects propagated to other modules by changes made to existing program. Thus, regression testing is used to reduce the side effects of the changes.

25. What is meant by unit testing? The unit testing focuses verification effort on the smallest unit of software design, the software component or module.
Unit-IV 1.Define software testing? Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design, and coding. 2. . What are the objectives of testing? i. Testing is a process of executing a program with the intend of finding an error. ii. A good test case is one that has high probability of finding an undiscovered error. iii. A successful test is one that uncovers as an-yet undiscovered error. 3. What are the testing principles the software engineer must apply while performing the software testing? i. All tests should be traceable to customer requirements. ii. Tests should be planned long before testing begins. iii. The pareto principle can be applied to software testing-80% of all errors uncovered during testing will likely be traceable to 20% of all program modules. iv. Testing should begin in the small and progress toward testing in the large. v. Exhaustive testing is not possible. vi. To be most effective, an independent third party should conduct testing. 4. What are the two levels of testing? i. Component testing Individual components are tested. Tests are derived from developer s experience. ii. System Testing The group of components are integrated to create a system or sub-system is done.These tests are based on the system specification. 5. What are the various testing activities?

i. Test planning ii. Test case design iii. Test execution iv. Data collection v. Effective evaluation 6. Write short note on black box testing. The black box testing is also called as behavioral testing. This method fully focus on the functional requirements of the software. Tests are derived that fully exercise all functional requirements. 7. What is equivalence partitioning? Equivalence partitioning is a black box technique that divides the input domain into classes of data. From this data test cases can be derived. Equivalence class represents a set of valid or invalid states for input conditions. 8. What is a boundary value analysis? A boundary value analysis is a testing technique in which the elements at the edge of the domain are selected and tested. It is a test case design technique that complements equivalence partitioning technique. Here instead of focusing on input conditions only, the test cases are derived from the output domain. 9. What are the reasons behind to perform white box testing? There are three main reasons behind performing the white box testing. 1. Programmers may have some incorrect assumptions while designing or implementing some functions.Due to this there are chances of having logical errors in the program.To detect and correct such logical errors procedural details need to be examined. 2. Certain assumptions on flow of control and data may lead programmer to make design errors.To uncover the errors on logical path,white box testing is must. 3. There may be certain typographical errors that remain undetected even after syntax and type checking mechanisms.Such errors can be uncovered during white box testing. 10. Define black box testing strategy. Black box testing focuses on the functional requirements of the software. Test cases are decided on the basis of the requirements or specifications of the program and internals of program are not considered. Test cases are generated based on program code. 11.What is meant by software change? Software change is defined as the change in nature of software as the requirements of software changes. 12.Why testing is important with respect to software? A testing process focuses on logical internals of software ensuring that all statements have been tested and all are functional externals. While testing, we execute the entire program before it gets to the customer with specific indent of finding and removing all errors. In order to find the highest number of errors, test must be conducted systematically and test cases must be designed using disciplined techniques. 13.Write short notes on empirical estimation models. Estimation model for computer software uses empirically derived formulas to predict effort as a function of line of codes (LOC) and function points (FP). The values of LOC and FP estimated are plugged into estimation model. The empirical data that support most estimation models are derived from a limited sample of projects. So, results obtained from models should be used judiciously. The model must be tested and compared with actual and predicted data 14.Define software scope.

The first software project management activity is the determination of software scope. Scope is defined answering the following questions. Context: What constraints are imposed as a result of the context. Information objectives: What data objects are required for input? Function and performance: Are any special performance characteristics to be addressed? 15.Define process maturity. In recent years there has been a significant emphasis on process maturity. The Software Engineering Institute. (SEI) has developed a comprehensive model predicated on a set of software engineering capabilities that should be present as organizations reach different levels of process maturity .The grading schema determines compliance with a capability maturity model (CMM) that defines key activities required at different levels of process maturity. 16.Distinguish between alpha testing and beta testing. The alpha test is conducted at the developer site. The software is used in a natural setting with the developer looking over the shoulder of the user and recording The beta test is conducted at one or more customer sites by the end user of the software. The beta test is a Live application of the software in an environment that problems. cannot be controlled by the developer. 17. What is cyclomatic complexity? Cyclomatic compleity is a software metric that gives the quantitative measure of logical complexity of the program. The Cyclomatic complexity defines the number of independent paths in the basis set of the program that provides the upper bound for the number of tests that must be conducted to ensure that all the statements have been executed at least once. 18. How to compute the cyclomatic complexity? The cyclomatic complexity can be computed by any one of the following ways. 1. The numbers of regions of the flow graph correspond to the cyclomatic complexity. 2. Cyclomatic complexity,V(G),for the flow graph,G,is defined as: V(G)=E-N+2, E -- number of flow graph edges, N -- number of flow graph nodes 3. V(G)=P+1, Where P is the number of predicate nodes contained in the flow graph. 19. Distinguish between verification and validation Verification refers to the set of activities that ensure that software correctly implements a specific function. Validation refers to a different set of activities that ensure that the software that has been built is traceable to the customer requirements. According to Boehm, Verification: Are we building the product right? Validation: Are we building the right product? 18. What are the various testing strategies for conventional software? i. Unit testing ii. Integration testing. iii. Validation testing. iv. System testing. 19. Write about drivers and stubs. Drivers and stub software need to be developed to test incompatible

software.

The driver is a program that accepts the test data and prints the relevant results. The stub is a subprogram that uses the module interfaces and performs the minimal data manipulation if required.

20 . What are the approaches of integration testing? The integration testing can be carried out using two approaches. 1. The non-incremental testing. 2. Incremental testing. 21. What are the benefits of smoke testing? 22. What are the conditions exists after performing validation testing? After performing the validation testing there exists two conditions. The function or performance characteristics are according to the specifications and are accepted. The requirement specifications are derived and the deficiency list is created. The deficiencies then can be resolved by establishing the proper communication with the customer. 24.What are the various types of system testing? 1. Recovery testing is intended to check the system s ability to recover from failures. 2. Security testing verifies that system protection mechanism prevent improper penetration or data alteration. 3. Stress testing Determines breakpoint of a system to establish maximum service level. 4. Performance testing evaluates the run time performance of the software, especially realtime software. 25. Define debugging. Debugging is defined as the process of removal of defect. It occurs as a consequence of successful testing. Integration risk is minimized. The quality of the end-product is improved. Error diagnosis and correction are simplified. Assessment of program is easy.

26. What are the common approaches in debugging?

Brute force method: The memory dumps and run-time tracksare examined and program with write statements is loaded to obtain clues to error causes. Back tracking method: The source code is examined by looking backwards from symptom to potential causes of errors.

Cause elimination method: This method uses binary partitioning to reduce the number of locations where errors can exists.

27. Discuss on software maintenance The maintenance of existing software can account for over 60% of all effort expend by a development organization and the percentage continues to rise as more than fixing mistakes. The four activities of software maintenance are Corrective maintenance, adaptive maintenance or enhancement and preventive maintenance or re-engineering. Only about 20% of all maintenance work is spent fixing mistakes. The remaining 80% spent adapting existing systems to changes in their external environment, making enhancement requested by users. 28. Mention some of the white box testing techniques 1. Basic path testing Flow graph notation Cyclomatic complexity Graph metrics 2. Control structure testing a) Condition testing i) Statement coverage, ii) Decision Coverage iii) Condition Coverage iv) Multiple condition coverage v) path coverage. b) Data flow testing c) Loop testing i) Simple loop testing ii) nested loop testing iii) concatenated loop testing iv) unstructured loop testing. 29. What is incremental testing? Top down integration testing is an incremental

approach to construction of program structure. Modules are integrated by moving downward thru the control hierarchy beginning from main control module and then the subordinate modules are incorporated in the depth first or breadth first manner. 30. Explain Unit testing Unit Testing makes heavy use of testing techniques that exercise specific control paths to detect errors in each software components individually. The steps are Module interfaces are tested for proper information flow. Local data are examined to ensure that integrity is maintained. Boundary conditions are tested. Basis (independent) path are tested. All error handling paths should be tested. Drivers and/or stubs need to be developed to test incomplete software. 31.. What is Scenario-Based testing? OO Scenario-Based Testing

Using the user tasks described in the use-cases are building the test cases from the task and their variants Uncovers errors that occur when any actor interacts with the OO software Concentrates on what the use does, not what the product does You can get a higher return on your effort t by spending more time on reviewing the use-cases as they are creating, than spending more time on use-case testing.

32.Describe about comparison testing. Comparison testing black-box testing for safety critical systems in which independently developed implementations of redundant systems are tested for conformance to specifications Often equivalence class partitioning is used to develop a common set of test cases for each implementation.

UNIT V

SOFTWARE PROJECT MANAGEMENT

1. Define measure. Measure is defined as a quantitative indication of the extent, amount, dimension, or size of some attribute of a product or process. 2. Define metrics. Metrics is defined as the degree to which a system component, or process possesses a given attribute. 3. What are the types of metrics? Direct metrics It refers to immediately measurable attributes. Example Lines of code, execution speed. Indirect metrics It refers to the aspects that are not immediately quantifiable or measurable. Example functionality of a program. 4. Write short note on the various estimation techniques. Algorithmic cost modeling the cost estimation is based on the size of the software. Expert judgment The experts from software development and the application domain. Estimation by analogy The cost of a project is computed by comparing the project to a similar project in the same application domain. Parkinsons Law The cost is determined by available resources rather than by objective assessment. Pricing to win The project costs whatever the customer ready to spend it. 5. What is COCOMO model? COnstructive COst MOdel is a cost model, which gives the estimate of number of man-months it will take to develop the software product.

6. Give the procedure of the Delphi method. 1. The co-coordinator presents a specification and estimation form to each expert.

2. Co-coordinator calls a group meeting in which the experts discuss estimation issues with the coordinator and each other. 3. Experts fill out forms anonymously. 4. Co-coordinator prepares and distributes a summary of the estimates. 5. The Co-coordinator then calls a group meeting. 7. What is the purpose of timeline chart? The purpose of the timeline chart is to emphasize the scope of the individual task. Hence set of tasks are given as input to the timeline chart. 8. What is EVA? Earned Value Analysis is a technique of performing quantitative analysis of the software project. It provides a common value scale for every task of software project. It acts as a measure for software project progress. 9. What are the metrics computed during error tracking activity? Errors per requirement specification page. Errors per component-design level Errors per component-code level DRE-requirement analysis DRE-architectural analysis DRE-component level design DRE-coding. 10. What is software maintenance? Software maintenance is an activity in which program is modified after it has been put into use. 11. Define maintenance. Maintenance is defined as the process in which changes are implemented By either modifying the existing systems architecture or by adding new components to the system. 12. What are the types of software maintenance? Corrective maintenance Means the maintenance for correcting the software faults. Adaptive maintenance Means maintenance for adapting the change in environment. Perfective maintenance Means modifying or enhancing the system to meet the new requirements. Preventive maintenance Means changes made to improve future maintainability. 13. How the CASE tools are classified? CASE tools can be classified by a. By function or use b. By user type (e.g. manager, tester), or c. By stage in software engineering process (e.g. requirements, test).

14. What are the types of static testing tools? There are three types of static testing tools. Code based testing tools These tools take source code as input and generate test cases.

Specialized testing tools Using this language the detailed test specification can be written for each test case. Requirement-based testing tools These tools help in designing the test cases as per user requirements. 15. What is meant by Software project management? Software project management is an activity of organizing, planning and scheduling software projects. 16. What is meant by software measurement? Software measurement means deriving a numeric value for an attribute of a software product or process. 17. What is meant by software cost estimation? The software cost estimation is the process of predicting the resources required for software development process. 18. What is meant by CASE tools? The computer aided software engineering tools automatic the project management activities, manage all the work products. The CASE tools assist to perform various activities such as analysis, design, coding and testing. 19. What is meant by Delphi method? The Delphi technique is an estimation technique intended to active a common agreement for estimation efforts. 20. What is meant by software evolution? Software evolution is a process of managing the changes in the software. 21. Derive ZIPs law. ZIPs first law of the form, fr r = C (or) nr = Cn / r C constant r rank for tokens fr frequency of occurrence 22. What is software configuration management (SCM)? Software configuration management is the art of identifying, organizing, and controlling modifications to the software being built by a programming team. 23. What is meant by risk management? Risk management is an activity in which risks in the software projects are identified. 24. What is meant by software project scheduling? Software project scheduling is an activity that distributes estimated effort across the planned project duration by allocating the effort to specified software engineering tasks. 25. Write about software change strategies. The software change strategies that could be applied separately or together are: Software maintenance The changes are made in the software due to requirements.

Architectural transformation It is the process of changing one architecture into another form. Software re-engineering New features can be added to existing system and then the system is reconstructed for better use of it in future.

UNIT-V 1. Define measure. Measure is defined as a quantitative indication of the extent, amount, dimension, or size of some attribute of a product or process. 2. Define metrics. Metrics is defined as the degree to which a system component,or process possesses a given attribute. 3.. What are the types of metrics?

Direct metrics It refers to immediately measurable attributes. Example Lines of code, execution speed. Indirect metrics It refers to the aspects that are not immediately quantifiable or measurable. Example functionality of a program.

4. What are the advantages and disadvantages of size measure? Advantages: Artifact of software development which is easily counted. Many existing methods use LOC as a key input. A large body of literature and data based on LOC already exists. This method is dependent upon the programming language. This method is well designed but shorter program may get suffered. It does not accommodate non procedural languages. In early stage of development it is difficult to estimate LOC.

Disadvantages:

5.. Write short notes on estimation models. Empirical estimation models can be used to complement decomposition techniques and offer a potentially valuable approach in their own right. A model is based on experience and takes the form D=f(vi) Where d number of estimated values vi selected independent parameters 6.Define software measurement. A software measurement is a technique or method that applies software measures to a class of software engineering objects to achieve a predefined goal. 7.What are the characteristics of software measurement? Object of measurement

Purpose measurement Source of measure Measured property Context of measurement.

8.What is COCOMO model? COCOMO stands for COnstructive COst MOdel. It is used for cost Effort=a * KDLOCb Where a and b are two parameters of the model whose specific values are selected upon the class of the software system. 9. What is function point? Function point is the size of measure it is also used to estimate the software cost. Function point (FP)=Function Count (FC) * Value adjustment factor (VAF). Function Count (FC)= xij wij Where x - Number of elements w - Weight Value adjustment factor (VAF)=0.65 + 0.01 fi 10.What are business process engineering tools? By modeling the strategic information requirements of an organization, business process engineering tools provide a meta-model from which specific information systems are derived. 11.What is Delphi model? In Delphi method, a number of parameters to be determined based on as experts estimates. The group estimate is taken as an average of the weighted individual estimtes, computed as Estimate=(lower bound of estimate+4*most likely estimate +upper bound of estimate)/6 Variance=(upper bound of estimate-lower bound of estimate)/6 12. Write short note on the various estimation techniques.

Algorithmic cost modeling the cost estimation is based on the size of the software. Expert judgement The experts from software development and the application domain use their exoerience to predict software costs. Estimation by analogy The cost of a project is computed by comparing the project to a similar project in the same application domain and then cost can be computed. Parkinsons law The cost is determined by available resources rather than by objective assessment. Pricing to win The project costs whatever the customer ready to spend it

13. Give the procedure of the Delphi method. 1. The co-ordinator presents a specification and estimation form to each expert. 2. Co-ordinator calls a group meeting in which the experts discuss estimation issues with the coordinator and each other.

3. Experts fill out forms anonymously. 4. Co-ordinator prepares and distributes a summary of the estimates. 5. The Co-ordinator then calls a group meeting.In this meeting the experts mainly discuss the points where their estimates vary widely. 6. The experts again fill out forms anonymously. 7. Again co-ordinator edits and summarizes the forms,repeating steps 5 and 6 until the co-ordinator is satisfied with the overallprediction synthesized from experts. 14. What is the purpose of timeline chart? The purpose of the timeline chart is to emphasize the scope of the individual task. Hence set of tasks are given as input to the timeline chart. 15. What is CASE? CASE tool stands for Computer Aided Software Engineering. Computer Aided Software Engineering tools assists software engineering manages and practitioners in every activity associated with the software process. 16. What are the programming CASE tools available? It includes compilers, debuggers ,editors and also object oriented programming environments, 4G languages , graphical language environments , application generators, and database query languages. 17. What are the various reengineering tools? Reverse engineering to specification tools. Code restructuring and analysis tools. On-line system reengineering tools.

18. What are risk analysis CASE tools? Identifies potential risks and developing a plan to mitigate , monitor and manage risks. Also it enables to build a risk table. 19. What is direct metrics? Direct metrics/ size orinted metrics: Size oriented metrics are derived by normalizing quality and / or productivity measures by considering the size of the software that has been produced . SE process includes cost and effort applied. Software product includes LOC produced, execution speed, memory size and defects reported. A table is created as follows: Project LOC Effort $(000) Pp.doc Errors Defects People

20. What is indirect metrics? Indirect metrics(Function-oriented metrics) Use a measure of the functionality delivered by the application as a normalization value. It uses the measure called Function Point. Metrics is derived based on direct measures of software information domain and assessment of software complexity. FP is determined by five information domain characteristics.

Function points are computed by completing the table: Measurement parameter Number of user i/ps Number of user o/ps Number of user Count Simple Average Complex Total

enquries Number of files Number of Interface Count total = FP = count total * [0.65 + 0.01* fi] Fi( I = 1 to 14) complexity adjustment value.It is based on 14 question asked by the developer to himself. 21. Why line of code based software metrics are not universally accepted ? Line of Code(LOC) based software metrics are not universally accepted because a program which is written in 100LOC can be written in 50loc or 200LOC. It depends on the developer who write the code and with PL chosen. Metrics may differ for the same problem. So the software metrics based on LOC will not be consistent. 22. Give some example for size-oriented metrics? * Errors per KLOC. * Defects per KLOC * $ per LOC * Page of documentation per KLOC $ per page of document. 23. What is meant by cost of quality? Cost of quality includes all costs incurred in performing quality related activities. Studies are conducted to provide a baseline for current cost of quality, to identify opportunities for reducing cost of quality. external

También podría gustarte