CS2301 Software Engineering

1

1

PROFO4C

S.A.ENGINEERING COLLEGE (AN ISO 9001:2000 Certified, NBA Accredited Institution) Approved By AICTE & Affiliated to Anna University QUESTION BANK Subject Code: CS2301 Subject Name: Software Engineering

Submitted By Mrs. E.Sujatha / Assistant Professor Department of Computer Science & Engineering

Signature of the HOD

Signature of the PRINCIPAL

CS2301 Software Engineering CS2301 - SOFTWARE ENGINEERING 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 to Software. 2.What are the characteristics of Software?  oftware is engineered or developed, it is not manufactured in the classical sense. S Software doesn’t 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.

1

2

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.

CS2301 Software Engineering 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?

1

3


• • •

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.

CS2301 Software Engineering

1

4

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 – Customer’s 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.

CS2301 Software Engineering 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’.

1

5

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 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 User’s 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. and testing,

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?

31. What is a "task set"? Each of the regions is populated by a set of work tasks. have define idea to identity it.CS2301 Software Engineering 1 6 A risk is a potential problem.Write down the functional requirement for an Library management system.Write down the SRC for ”Add a node” Function Add node Description Adds a node to an existing design. Design description language: Programming language is used. The system shall provide appropriate viewers for the user to read documents in the document store. it might not.What is meant by System Requirements? Set out the system services and constraints in detail. But. 5. Inputs Node type. 30. Graphical notation: Text annotations is used. that are adapted to the characteristics of the project to be undertaken. Design Identifier Source Node type. Every order shall be allocated a unique identifier.  Domain requirements: reflect characteristics of the domain. Mathematical Specifications: Based on finite state machines or sets.  Non-functional requirements: Constraints on the services. 2. called a task set. and assess its probability of occurrence estimate its impact and establish a contingency plan should the problem actually occur.  3.What are the types of Software system requirements? Functional requirements: Services the system should provide. UNIT-II 1. Node position. 4. 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. 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. What is WIN-WIN? The best negotiations string for a "Win-Win" result. Node position user Design identifier database Output Design identifier Precondition The design is open & displayed on the user’s screen . Serves as a contract between the system buyer & the system developer. That is. Structured natural language: Use standard form or Templates.Mention some of the Notations for requirements specification. it might happen.

Requirement Engineering is a process that involves all of the activities required to create and maintain a system requirements document. Software prototyping is defined as a rapid software development for validating the requirements. Requirement Elicitation & Analysis. Evolutionary prototyping – In this approach of system development. iv. the initial prototype is prepared and it is then refined through number of . iii. Design quality can be improved..What are the different types of checks carried out during Requirement Validation? Validity checks Consistency checks Completeness checks Realism checks Verifiability. 11. What are the prototyping approaches in software process? i. Three types of traceability information to be maintained are: • Source traceability information Requirement traceability information Design traceability information • • 10. The four generic Requirement Engineering activities are: Feasibility study.CS2301 Software Engineering Side effects None 6. Define software prototyping. v. What are the benefits of prototyping? i. ii. System usability can be improved. Validation.Define Traceability Traceability is the overall property of requirements specification which reflects the ease of finding related requirements.. • • • • • • Domain Understanding Requirement Collection Classification Conflict resolution Prioritisation Requirement Checking 1 7 8. System can be maintained easily.Define Requirement Engineering. 9. Development efforts may get reduced. Requirement Specification. 7.. Prototype serves as a basis for deriving system specification.Mention some of the process activities of Requirement Elicitation & analysis. 12.

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. Traceable – What is the need for mentioned requirement?This should be correctly identified. 15 . iii. 16.CS2301 Software Engineering stages to final stage. or descriptor of the object. What are the objectives of Analysis modeling? i. which defines the properties of data object. What is software requirements? 1 8 The software requirements specification is produced at the culmination of analysis tasks. ii. a representation of system behavior. 17. To devise a set of valid requirements after which the software can be built. characteristic. quality. Unambiguous – When the requirements are correctly understood then only it is possible to write an unambiguous software. It is then discarded. Throw-away prototyping – Using this approach a rough practical implementation of the system is produced. a detailed functional description. To establish a basis for the creation of software design. vi. The function and performance allocated to software as part of system engineering are refined by establishing a complete information description. The requirement problems can be identified from this implementation. The data model represents how data are related with one another.State the primary objectives of analysis Model. Correct – The SRS should be made up to date when appropriate requirements are identified. What are attributes? Attributes are the one. v. iii. What is data modeling? Data modeling is the basic step in the analysis modeling. iv. 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. Specific – The requirements should be mentioned specifically. appropriate validation criteria and other information pertinent to requirements. 14 . What are the characteristics of SRS? i.Define DFD Data flow diagram(DFD) – provides an indication of how data are transformed as they move through the system. ii. an indication of performance requirements and design constraints. In data modeling the data objects are examined independently of processing. System is then developed using some different engineering paradigm. ii. 18. Complete – To make SRS complete. also depicts functions that transform the data flow(a function is represented in a DFD using a process specification or PSPTEC) 21. What is a data object? Data object is a collection of attributes that act as an aspect. To describe what the customer requires. 13.it shold be specified what a software designer wants to create software. Consistent – It should be consistent with reference to the functionalities identified. Problem analysis & . 19.

Attributes: Define the properties of the Data object Relationship: Connecting two different data object. outputs. Alias: other names used Where-used/How-used: A listing of processes that use the data or control item.Define Cardinality & Modality..Write down the Data dictionary for the data item “Telephone Number”.Define Behavioral Modeling. It can be any external entity. Eg: Object Attributes Relationship Person Name Age Address Owns Car Make Model Body type 23. with precise. attributes & relationship. The state transition diagram represents the behavior of a system by depicting its states and the events that cause the system to change state. 1 9 .CS2301 Software Engineering Change specification Change analysis & costing Change Implementation 22. 24. 25. limitations etc. components of store & intermediate 26.What does data dictionary contains? Name: The primary name of the data. Data object: Representation of any composite information that must be understood by a software. rigorous definitions so that both user & system analyst will have a common understanding of inputs. The modality is 1 if an occurrence of the relationship is mandatory.Define Data objects. Modality: The Modality of a relationship is 0 if there is no explicit need for the relationship to occur or the relationship is optional.What is meant by Data dictionary? The Data dictionary is an organized listing of all data elements that are pertinent to the system. 27. Cardinality: Specification of the number of occurrences of one that can be related to number of occurrences of another.. Content description: A notation for representing the content Supplementary information: Other information like restrictions.

CS2301 Software Engineering 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. The objective is to validate or derive the system requirements. Cardinality specifies how the number of occurrences of one object are related to the number of occurrences of another object(1:1.1:N. Start with those requirements that are not well understood since you need to find more about them.What is Data Design? High level model depicting user’s view of the data or information. 2. Define: Architectural design Architectural design represents the structure of data and program components that are required to build a computer based system. 5. facilitates change. Reorganizing databases into data warehouse enables data mining or knowledge discovery that can impact success of business itself 3. 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. Unit-III 1 10 1. the structure and properties of the components that constitute the system. Functional independence – modules have high cohesion and low coupling Functional Independence.What is the difference between cardinality and modality. and the interrelationship that occur among all architectural components of a system. & easier implementation by encouraging parallel development of different parts of a system.M:N) . Define the term in software designing: Modularity.How will you ensure for effective modular design? Effective modular design reduces complexity. Design of data structures and operators is essential to creation of high-quality applications. Developing modules with single minded function is said to be functional independence. It considers the architectural style that the system will take. often called modules that are integrated to satisfy problem requirements. Translation of data model into database is critical to achieving system business objectives. Functional independence – modules have high cohesion and low coupling Functional Independence is measured using two qualitative criteria: Cohesion and coupling. Cardinality-in data modeling. The software is divided into separately named and addressable components.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. Modularity is the single attribute of software that allows a program to be intellectually manageable. 4.

Perform second level factoring.Define component level design. Important elements: ->User interface(UI). State transition diagram(STD) indicates how the system behaves as a consequence external events. Defines: • Data structures for all local data objects. 11. Mention various coupling types. What do you meant by ADL? Architectural Description Language (ADL) • Provides syntax and semantics for describing software architecture. • Interface that allows access to all component operations. Refine the first iteration architecture using design heuristics for improved software quality. Coupling: • Data Coupling. 10.STD represent the system states and events that trigger state transitions. Transform Mapping 1. Sequential Cohesion Layer Cohesion Functional Cohesion. combine components. UML activity diagrams. • Provides designers with ability to decomposee components. 9..CS2301 Software Engineering 1 11 Modality-Zero(0) for an optional object relationship and one(1) for a mandatory relationship. Arcs are labeled with the event triggering the transitions from one state to another(Control information is contained in couple of specification or CSPEC). Perform first level factoring 6. 7.Mention some of the cohesion types. Determine whether the DFD has transform or transaction characteristics 4. • Algorithmic Detail for all component processing functions. 3. • Stamp Coupling. and pseudocode(PDL). • Modeled using UML component diagrams. Interface is a set of operations that describes the externally observable behavior of a class and provides access to its operations. 8. . Describe about Interface Design. 7. states are used to represent behavior modes.External interfaces to other systems. collaboration diagrams. Describes the internal detail of each software component. Review fundamental system model 2. Isolate the transform center by specifying incoming and outgoing flow boundaries 5. Explain State Transition Diagrams. 6. Modeled using UMI. Internal interfaces between various design components. Cohension Utility Cohesion Temporal Cohesion Procedural Cohesion Communication Cohesion. and define interfaces. Review and redefine data flow diagrams for the software. 12. Write the steps in transform mapping.

State Procedural abstraction. Routine Call Coupling. 14. Opening mechanism.coding is not design.and the constraints that affect the way in which architectural design patterns can be applied.CS2301 Software Engineering • • • • • • • 1 12 Control Coupling. The design should not reinvent the wheel.ie. 17. that are integrated finally. 15. turn knob & pull door Step away from moving door. 18. 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. Swing direction. The design should be traceable to the analysis model. Type use Coupling.. The Design should exhibit uniformity & integration. External Coupling. reach out & grasp the knob. 16. The blue print depicts a holistic view of software. 13.What is the use of Architectural design? The Architectural design defines the relationship between major structural elements of the software.What does Modularity concept mean? Software architecture embodies modularity .Define Software design.. Inclusion or Import. the “design patterns” that can be used . Modular decomposability Modular Composability . Eg: Open Walk to the door. Common Coupling.Mention some of the criteria’s used to define effective modular design . Software design is an iterative process through requirements are translated into a “blue print” for constructing the software. Design is not coding . 19. A Procedural abstraction is a named sequence of instructions that has a specific and limited function.Mention some of the Design principles.What does Data abstraction contains? A Data abstraction is a named collection of data that describes a data object Eg: door Attributes: door type. weight.. Content Coupling. Software is named in to addressable components called modules. The design process should not suffer from tunnel vision.

Fan-in Indicates how many modules directly control a given module. 24. 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.What is the work product of software design process and who does this? A design model that encompasses architectural.The Control & work should be Modular Hierarchy for each each distributed top-down in the program major program function structure. 21. Interface Design: 1 13 . component level and their representations is the primary work product that is produced during software design.Describe about Interface Design. Independent modules . The architecture is the manner in which the various components of the building are integrated to form a cohesive whole. 25. This is developed based on the currently known requirements. Independent modules are easier to maintain.Define Fan-in & Fan-out. In software prototyping. 3. but does not identify the real input. 22.Define the term “software architecture. externally visible properties of those components and relationship among them. Horizontal partitioning Vertical partitioning 1.CS2301 Software Engineering Modular Understandability Modular Continuity.Differentiate horizontal partitioning & Vertical partitioning.susceptible to side effects when Changes are made. 26. Modular protection 20. 23.Propagaton of fewer side-effects 2. Software prototyping helps in the better understanding of the required system. processing and output requirements.What is meant by software prototyping? Software prototyping is a method of creating a model for the software product.” The software architecture of a program or a computing system is the structure of the system. Fan-out A measure of the number of modules that are directly controlled by another module. 2.Software is easier to maintain 3. It is applied for complicated and large systems. which comprises software components.& interfaces are simplified. Software engineers conduct each of the design tasks.Higher probability of side effects.is easier to develop because function may be compartmentalized.Defines separate branches of the 1. interface. the customer defines a set of general objectives for the software.

Modular decomposition – The identified subsystems are decomposed into modules. The Golden Rules: • Place the user in control • Reduce the user’s memory load • Make the Interface Consistent 28. What is SCM? Software Configuration Management is a set of activities carried out for identifying. System structuring – The system is subdivided into principle subsystems components and communications between these subsystems are identified. Propagation of fewer sideeffects. i.What are the golden rules while performing user interface design. iii. iv. Data flow architecture. Apply systematic analysis on data. i. Software that is easy to test. iv. ii. What are the various elements of data design? i. Apply a library of useful data structures and operations. Establish data dictionary. 30. List the guidelines for data design. 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. Use information hiding in the design of data structure. Data centered architecture. Software that is easier to maintain. organizing and controlling changes throughout the lifecycle of computer software. iii. ii. 29. v.CS2301 Software Engineering • 1 14 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. 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. Software that is easier to extend. What are the benefits of horizontal partitioning? i. 27. Identify data structures and related operations. the data models are translated into data structures and data bases at the application level. Control modeling – A model of control relationships between different parts of the system is established. Layered architecture. ii. iii. Data object – The data objects are identified and relationship among various data objects can be represented using ERD or data dictionaries. 34. ii. Data warehouses – At the business level useful information is identified from various databases and the data warehouses are created. ii. Object-oriented architecture. 32. Name the commonly used architectural styles. • Indicate how the user interprets the state of the system from information provided through the interface. What are the common activities in design process? i. 35. v. iv. 33. • Depict each interface state as it will appear to the end-user. . Databases – Using software design model. Call and return architecture. iii. iii. 31.

Once a baseline is established each change request must be evaluated and verified by a formal procedure before it is processed. 8. Two types of audit Functional Configuration Audit(FCA) Physical Configuration Audit(PCA) 42. baseline & s/w releases Elements(process steps/activities) Evaluation Co-ordination Approval or disapproval Implementation of changes. 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. Configuration status reporting( Configuration Audit) is an SCM task that answers the following questions. Plan when new system version is to be produced. It is used to Keep track of SCI version. Explain Version control. What is version management? Version management is. Ensure that version management tools & procedures are applied. Explain configuration status reporting. What is the base line criteria in SCM? A work product becomes a baseline only after it is reviewed and approved. What is change management? Changes should be Analyzed before they are made Recorded before they are implemented. 39.What is baseline? It is a software configuration item(CI)chat. • • • Has been formally reviewed and agreed. 38. 40. Invent identification scheme for system version. Plan & distribute new system releases. To mange different version of SCI To ensure repeatability & ability to reproduce any version of the s/w at any time. . Discuss Configuration change control It involves managing & controlling changes to the SCIs. A baseline can only be changed by creating a new version. Verified after they are implemented Reported to affected parties. 41. Serve as the basis for further development Changed only through formal change procedure. 37. Version is an instance of a system which is functionally distinct in some way from other system instances.CS2301 Software Engineering 1 15 36. A baseline is a milestone in software development that is marked by the delivery of one or more configuration items. What is SCI? Software Configuration Item is information that is carried as part of the software engineering process.

What are the various testing activities? i. the relationships among those elements. and the rules governing those relationships. Exhaustive testing is not possible. every subsequent change is recorded as until the nest baseline is set. 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. of a system within a set of constraints. What are the testing principles the software engineer must apply while performing the software testing? i. 5. Test planning ii. and/or a design from that architecture. 43. System Testing The group of components are integrated to create a system or sub-system is done. It is a process because a sequence of steps is prescribed to produce or change the architecture. 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. ii. an independent third party should conduct testing. ii. vi. iii. Test case design . iv. Tests are derived from developer’ s experience. What are the objectives of testing? i. Unit-IV 1. ii.CS2301 Software Engineering • • 1 16 It is the foundation for configuration management. iii. 2. 3. and between the system and its external environment. A Software architecture is primarily concerned with the external interfaces among the system's software entities. A good test case is one that has high probability of finding an undiscovered error. Testing should begin “in the small” and progress toward testing “in the large”. Tests should be planned long before testing begins. A successful test is one that uncovers as an-yet undiscovered error.Define software testing? Software testing is a critical element of software quality assurance and represents the ultimate review of specification. v. Component testing Individual components are tested. Testing is a process of executing a program with the intend of finding an error. All tests should be traceable to customer requirements. . 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. To be most effective. design. What are the two levels of testing? i. 4. A point at which some deliverable produced during the software engineers process is put under formal change control. and coding.These tests are based on the system specification.

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

Information objectives: What data objects are required for input? Function and performance: Are any special performance characteristics to be addressed? 15. 1. What is cyclomatic complexity? Cyclomatic complexity is a software metric that gives the quantitative measure of logical complexity of the program.Define 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 . V(G)=P+1 1 18 .number of flow graph nodes 3. The numbers of regions of the flow graph correspond to the cyclomatic complexity. How to compute the cyclomatic complexity? The cyclomatic complexity can be computed by any one of the following ways. 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.is defined as: V(G)=E-N+2. In recent years there has been a significant emphasis on process maturity. 2. cannot be controlled by the developer.Distinguish between alpha testing and beta testing. Cyclomatic complexity.Define software scope. 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.G.CS2301 Software Engineering 14. The beta test is a Live application of the software in an environment that problems. E -. 17. The alpha test is conducted at the developer site.V(G).The grading schema determines compliance with a capability maturity model (CMM) that defines key activities required at different levels of process maturity. Context: What constraints are imposed as a result of the context.number of flow graph edges. Scope is defined answering the following questions. 16.for the flow graph. N -. The first software project management activity is the determination of software scope.

24. Assessment of program is easy. Validation refers to a different set of activities that ensure that the software that has been built is traceable to the customer requirements. iv. 1. 19. 2. • • The “ driver” is a program that accepts the test data and prints the relevant results.CS2301 Software Engineering Where P is the number of predicate nodes contained in the flow graph. The deficiencies then can be resolved by establishing the proper communication with the customer. • • Verification:” Are we building the product right?” Validation:” Are we building the right product?” 18. 20 . Validation testing. What are the benefits of smoke testing? • • • • Integration risk is minimized. 22. Distinguish between verification and validation • • 1 19 Verification refers to the set of activities that ensure that software correctly implements a specific function. The quality of the end-product is improved. What are the conditions exists after performing validation testing? After performing the validation testing there exists two conditions. Integration testing. What are the approaches of integration testing? The integration testing can be carried out using two approaches.What are the various types of system testing? . Unit testing ii. • • The function or performance characteristics are according to the specifications and are accepted. The non-incremental testing. Write about drivers and stubs. 19. What are the various testing strategies for conventional software? i. According to Boehm. Error diagnosis and correction are simplified. Incremental testing. System testing. 21. The requirement specifications are derived and the deficiency list is created. iii. The “ stub” is a subprogram that uses the module interfaces and performs the minimal data manipulation if required. Drivers and stub software need to be developed to test incompatible software.

The remaining 80% spent adapting existing systems to changes in their external environment. What are the common approaches in debugging? 1 20 • • • Brute force method: The memory dumps and run-time tracksare examined and program with write statements is loaded to obtain clues to error causes. Mention some of the white box testing techniques 1. The four activities of software maintenance are Corrective maintenance. Performance testing – evaluates the run time performance of the software. Define debugging. Control structure testing a) Condition testing i) Statement coverage. ii) Decision Coverage iii) Condition Coverage iv) Multiple condition coverage v) path coverage. Back tracking method: The source code is examined by looking backwards from symptom to potential causes of errors.CS2301 Software Engineering 1. 28. 27. 3. Cause elimination method: This method uses binary partitioning to reduce the number of locations where errors can exists. making enhancement requested by users. Security testing – verifies that system protection mechanism prevent improper penetration or data alteration. Only about 20% of all maintenance work is spent fixing mistakes. especially real-time software. b) Data flow testing c) Loop testing . 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. 25. adaptive maintenance or enhancement and preventive maintenance or reengineering. Stress testing – Determines breakpoint of a system to establish maximum service level. Basic path testing Flow graph notation Cyclomatic complexity Graph metrics 2. Debugging is defined as the process of removal of defect. 26. 4. 2. Recovery testing – is intended to check the system’ s ability to recover from failures. It occurs as a consequence of successful testing.

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. 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. The steps are • • • • • • Module interfaces are tested for proper information flow. not what the product does You can get a higher return on your effort t by spending more time on reviewing the usecases as they are creating.CS2301 Software Engineering 1 21 i) Simple loop testing ii) nested loop testing iii) concatenated loop testing iv) unstructured loop testing. Drivers and/or stubs need to be developed to test incomplete software. . Basis (independent) path are tested. Local data are examined to ensure that integrity is maintained. Boundary conditions are tested. 32. All error handling paths should be tested. What is incremental testing? Top down integration testing is an incremental approach to construction of program structure. 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.Describe about comparison testing. 30. 29. Explain Unit testing Unit Testing –makes heavy use of testing techniques that exercise specific control paths to detect errors in each software components individually. than spending more time on use-case testing.. 31.

In early stage of development it is difficult to estimate LOC. or size of some attribute of a product or process. What are the advantages and disadvantages of size measure? Advantages: • • • • • • • • Artifact of software development which is easily counted.Define software measurement. Empirical estimation models can be used to complement decomposition techniques and offer a potentially valuable approach in their own right. A software measurement is a technique or method that applies software measures to a class of software engineering objects to achieve a predefined goal.CS2301 Software Engineering UNIT-V 1. Measure is defined as a quantitative indication of the extent. Define measure. amount. dimension. Example – functionality of a program. 4. It does not accommodate non procedural languages. Metrics is defined as the degree to which a system component. Many existing methods use LOC as a key input.What are the characteristics of software measurement? • • Object of measurement Purpose measurement . 7.. 3. Disadvantages: 5.or process possesses a given attribute. execution speed. Write short notes on estimation models.. What are the types of metrics? 1 22 • • Direct metrics – It refers to immediately measurable attributes. Indirect metrics – It refers to the aspects that are not immediately quantifiable or measurable. 2. Define metrics. A model is based on experience and takes the form D=f(vi) Where d –number of estimated values vi –selected independent parameters 6. Example – Lines of code. A large body of literature and data based on LOC already exists. This method is well designed but shorter program may get suffered. This method is dependent upon the programming language.

9. 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. What is function point? Function point is the size of measure it is also used to estimate the software cost.What are business process engineering tools? By modeling the strategic information requirements of an organization.CS2301 Software Engineering • • • 1 23 Source of measure Measured property Context of measurement.65 + 0. Function Count (FC)=   xij wij  Where x . 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. • Parkinson’s law – The cost is determined by available resources rather than by objective assessment.Number of elements w .01 fi 10. Write short note on the various estimation techniques. The group estimate is taken as an average of the weighted individual estimtes. .What is COCOMO model? COCOMO stands for COnstructive COst MOdel.Weight Value adjustment factor (VAF)=0. Expert judgement – The experts from software development and the application domain use their exoerience to predict software costs. Function point (FP)=Function Count (FC) * Value adjustment factor (VAF). 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. a number of parameters to be determined based on as experts estimates. 11.What is Delphi model? In Delphi method. business process engineering tools provide a “meta-model” from which specific information systems are derived. • • • Algorithmic cost modeling – the cost estimation is based on the size of the software. 8.

Again co-ordinator edits and summarizes the forms. On-line system reengineering tools. Experts fill out forms anonymously. 16. Code restructuring and analysis tools. monitor and manage risks. 4G languages . Co-ordinator calls a group meeting in which the experts discuss estimation issues with the coordinator and each other. 5. 2. What are the programming CASE tools available? It includes compilers. graphical language environments . What are the various reengineering tools? • • • Reverse engineering to specification tools. Co-ordinator prepares and distributes a summary of the estimates. 18. What are risk analysis CASE tools? Identifies potential risks and developing a plan to mitigate . 19. 4.repeating steps 5 and 6 until the co-ordinator is satisfied with the overallprediction synthesized from experts. What is the purpose of timeline chart? The purpose of the timeline chart is to emphasize the scope of the individual task. 17. Give the procedure of the Delphi method. 14. 7. Also it enables to build a risk table. Computer Aided Software Engineering tools assists software engineering manages and practitioners in every activity associated with the software process. The experts again fill out forms anonymously. debuggers .CS2301 Software Engineering 1 24 • Pricing to win – The project costs whatever the customer ready to spend it 13. What is direct metrics? Direct metrics/ size orinted metrics: .In this meeting the experts mainly discuss the points where their estimates vary widely. The Co-ordinator then calls a group meeting. What is CASE? CASE tool stands for Computer Aided Software Engineering. 1. and database query languages. Hence set of tasks are given as input to the timeline chart. 3. 6. 15. The co-ordinator presents a specification and estimation form to each expert. application generators.editors and also object oriented programming environments.

Function points are computed by completing the table: Measurement parameter Number of user i/ps Number of user o/ps Number of user enquries Number files Number external Interface Count total = FP = count total * [0. It uses the measure called Function Point.CS2301 Software Engineering 1 25 Size oriented metrics are derived by normalizing quality and / or productivity measures by considering the size of the software that has been produced . Metrics is derived based on direct measures of software information domain and assessment of software complexity.01*∑ fi] Fi( I = 1 to 14) complexity adjustment value. 22.doc Errors Defects People 20.65 + 0. SE process includes cost and effort applied. A table is created as follows: Project LOC Effort $(000) Pp. What is indirect metrics? Indirect metrics(Function-oriented metrics) Use a measure of the functionality delivered by the application as a normalization value. 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. So the software metrics based on LOC will not be consistent. memory size and defects reported. FP is determined by five information domain characteristics. It depends on the developer who write the code and with PL chosen. execution speed.It is based on 14 question asked by the developer to himself. Give some example for size-oriented metrics? of of Count Simple Average Complex Total . 21. Metrics may differ for the same problem. Software product includes LOC produced.

to identify opportunities for reducing cost of quality. 2. CS2301 -SOFTWARE ENGINEERING 16 Marks Questions UNIT I 1. 23.Define Software process model? Explain any one of it with a neat diagram The strategy that encompasses process. Explanation of any of the eight process model.SLCM Predevelopment process Development process.Explain Software Life cycle process Definition of SLC. Enterprise Business area Analysis Business System Design Construction & Engineering 3.Explain the different layers of Software Engineering? Tools Methods Process A quality focus 6. methods. Explain iterative waterfall and spiral model for software life cycle and . What is meant by cost of quality? 1 26 Cost of quality includes all costs incurred in performing quality related activities.Expalin the hierarchy of Business process Engineering .Explain Evolutionary process model Incremental model WIN-WIN spiral model Spiral model Concurrent development model 5.CS2301 Software Engineering * Errors per KLOC. Studies are conducted to provide a baseline for current cost of quality. * Defects per KLOC * $ per LOC * Page of documentation per KLOC $ per page of document. and tools. 4.

CS2301 Software Engineering various activities in each phase. • Testing is a kind of phase in which the developed software component is fully tested. • The implementation phase in which the software design is transformed into coding. • The deign phase is responsible for creating architectural view of the software. • Maintenance is an activity by which the software product can be maintained. Answer: Iterative waterfall model The iterative waterfall model is as shown in the following figure. 1 27 • Requirement gathering phase in which all requirements are identified. SPIRAL MODEL .

Design. Drawbacks • It is based on customer communication. Engineering. • Have same phases as the waterfall model. • The task regions are: Customer communication Planning Risk analysis. • It demands considerable risk assessment. Customer evaluation. In spiral model project entry point axis is defined. Code. 7. These frameworks are denoted by task regions. Construct and release. . • Usually there are six task regions. Explain about the incremental model. • Phases are Analysis.CS2301 Software Engineering 1 28 The spiral model is divided into number of frame works.

RAD Model • Rapid Application Development Model is the type of incremental model. • The first increment is called as core product. • Achieves the high speed development using component based construction.CS2301 Software Engineering Test. • Technical risks can be managed with each increment. Merits • This model can be adopted when there is less number of people involved in the project. • Testing and turnover. Here only the document processing facilities are available. • It is defined as the structured set of activities that are required to develop the software system. • Incremental model delivers series of releases to customers called as increments. • Second increment. at least core product can be delivered to the customer. Explain in detail about the software process. 8. Phases • Business modeling • Data modeling • Process modeling • Application generation. • For a very small time span. more sophisticated document producing and processing facilities are available. Fundamental activities • Specification • Design and implementation • Validation • Evolution Common Process Framework • Process framework activities 1 29 . • Next increment spelling and grammar checking facilities are given.

documented and followed. Measurement. Giving s/w projects to outside parties to develop solves s/w project management problems. What is Software myths ?  1 30 Software standards provide s/w engineers with all the guidance they need. The reality is the standards may be out dated and rarely referred to.    . Level 3:Defined – The process is standardized. Capability Maturity Model(CMM) Level 1:Initial – Few processes are defined and individual efforts are taken. • Umbrella activities Software project tracking and control Risk management Software quality assurance Formal technical reviews Software configuration management Work product preparation and production Reusability management. The reality is that case tools are mare important than hardware to producing high quality s/w yet they rarely used effectively. Level 2:Repeatable – To track cost schedule and functionality basic project management processes are established. The reality is the people who cannot manage internal software development problems will struggle to mange or control the external development of s/w too. The reality is that adding people only helps the projects schedule when is it done in a planned well coordinated manner. Level 4:Managed – Both the software process and product are quantitatively understood and controlled using detailed measures. • Task Sets Defines the actual work to achieve the software objective. Level 5:Optimizing – Establish mechanisms to plan and implement change 9.CS2301 Software Engineering Communication Planning Modeling Construction Deployment. Adding people is a good way to catch up when a project is behind schedule. People with modern computers have all the s/w development tools.

Spiral Lifecycle . He reality is that every change has far-reaching and unexpected consequences. until the s/w product is retired from service. in an effort to combine advantages of top-down and bottom-up concepts. The reality is without constant communication between the customers and the developers it is impossible to build a s/w product that meets the customer’s real needs. Once a program is written. The documentation is also important since it provides a basis for software support after delivery. Projects requirements change continually and change is easy to accommodate in the s/w design. The only deliverable from a successful software project is the working program.CS2301 Software Engineering 1 31  A general statement of objective from the customer is all that is needs to begin a s/w projects. the s/w engineer’s work is finished. The reality is that one of the most effective quality assurance practices (formal technical reviews) can be applied to any software design product and can serve as a quality filter very early in the product life cycle.     10. There is no ay to assess the quality of a piece of software until it is actually running on some machine. Change to software requirements must be managed very carefully to keep a software project on time and under budget. The reality is the working program is only one of several deliverables that arise from a well managed software project. Explain in detail Boehm’s spiral model for software lifecycle and discuss various activities in each phase The spiral model is a software development process combining elements of both design and prototyping-in-stages. The reality is that maintaining a piece of s/w is never done.

the project can be terminated.In this phase. • Customer Evaluation .CS2301 Software Engineering 1 32 Representation of Components. Relationships. • Engineering Here the customer decides when the next phase of planning and risk analysis occur. the customer will assess the engineering results and make changes if necessary. Strengths and Weaknesses Strengths: o o o o Weaknesses: o o Difficult to convince some customers that the evolutionary approach is controllable Needs considerable risk assessment Good for large and complex projects Customer Evaluation allows for any changes deemed necessary. and risks are identified and analyzed. Planning This phase is where the objectives. This model is very appropriate for large software projects. and rules The spiral lifecycle model is the combination of the classic waterfall model and an element called risk analysis. This shows the progress of the project. or would allow for new technological advances to be used Allows customer and developer to determine and to react to risks at each evolutionary level Direct consideration of risks at all levels greatly reduces problems . If risk analysis indicates uncertainty in the requirements. the prototyping model might be used to assist the situation. • Risk Analysis What happens here is that alternative solutions and constraints are defined. The model consists of four main parts. and the process is shown by a continuous loop going from the outside towards the inside. alternatives. or blocks. and constraints are determined. If it is determined that the risks are to high.

Problems • Management problems • Maintenance problem • Verification 20 Incremental Development • After designing the overall architecture the system is developed and delivered in series of increments. Evolutionary prototyping Objective: • The principal objective of this model is to deliver the working system to the end-user. System is then developed using some different engineering paradigm. problems will surely occur 1 33 o UNIT . ii. • It is developed to reduce requirement risks. the initial prototype is prepared and it is then refined through number of stages to final stage. • User is involved while developing the system.II 1. design and implementation work is co-ordinated manner.CS2301 Software Engineering If a risk is not discovered. Advantages • Fast delivery of the working system. Throw-away prototyping – Using this approach a rough practical implementation of the system is produced. . Two approaches i. • More useful system can be delivered. It is then discarded. The requirement problems can be identified from this implementation. • Specification. Throw-away prototyping Objective: • The principal objective of this model is to validate or to derive the system requirements. Explain the prototyping approaches in software process. Evolutionary prototyping – In this approach of system development. • Example-AI systems.

CS2301 Software Engineering Advantages • Requirement risks are very less. Problems • It can be undocumented. Cardinality and Modality • Cardinality is the specification of the number of occurrences of one object that can be related to the number of occurrences of another object. • Changes made during the software development proceed may degrade the system structure. • It is expressed in a formal. • These are programming languages which include powerful data management facilities. • One-to-one cardinality. 3. Executable specification languages. • Modality is 1 if an occurrence of relationship is mandatory. • They simplify program development. Entity/Relationship Diagrams 1 34 . • Data modeling makes use of the ERD. 2. Application generators and fourth-generation languages. • Modality of a relation is 0 if there is no explicit relationship or relation is optional. • Consists of 3 interrelated information.. • One-to-many cardinality. • Used to animate the system specification. • These are successful languages because there is a great deal of communality across data processing applications. Very high level languages. The data object. Relationships. Explain in detail about data modeling. • Many-to-Many cardinality. Explain about rapid prototyping techniques. • Sometimes organizational quality standard may not be strictly applied. Attributes. mathematical language to provide a system prototype.

• Example: Safe Home Security System. • State automation • Process activation table.data flow model and control flow model. Each bubbles can be refined at Layers to depict more details. • Creating an ERD. • Structural model includes a detail refinement of ERD. Relationships. • The functional model of a system can be represented by a data Flow Diagram(DFD).CS2301 Software Engineering • Components are Data Objects. Various type indicators. 4. • This model is useful when the transformation from the inputs to outputs is complex. • Creating a data flow model using the guidelines. • This model describes the computations that take place within a system. Explain in detail about Structural Modeling. • Developing relationships and cardinality/Modality. Explain in detail about Functional Modeling.Bulid the following system: 1 35 . 6. 5. Extensions to Real Time Systems • Ward and Meller extensions • Hatley and Pirbhai extension. • Level 0 DFD also called as fundamental system model or context model represents the entire software as a single bubble with input and output data indicated by incoming and outgoing arrows. • Level 1 DFD contains 5 or 6 bubbles. Attributes. • Creating a control flow model which describes the structural connection of Processes Control flows Control stores. Data Flow Diagrams/Data Flow Graph/Bubble chart • A DFD is a graphical representation that depicts the information flow and the transforms that are applied as the data move from input to output.

CS2301 Software Engineering “A Network based course registration system for your University” Develop an ERD & a context level model for the above. * Prototyping factors are application area. 7. 2. Also a design is derived for the prototype based upon the results of analysis phase. the prototyping process follows a define s/w process model. Explain software prototyping? 1 36 A model of s/w to be built is called a prototype. (ii) prototyping s/w process: * in common with other types of s/w development. customer characteristics and project characteristics. Using this a prototype serves as a rough demonstration of requirements. analysis requirements: This involved the developer understanding the content and nature of the customer’s initial requirements. . which have to be performed during development of the prototype. (i) selecting a prototyping approach: * the prototyping paradigm can be either close ended or open ended * the close ended approach also called throw away prototyping. application complexity. prototype design: Here the developer should choose a suitable implementation approach for which to develop the prototype. called evolution of the prototyping uses the prototype as the first part of an analysis activity that will be continued into design and construction. * Process model device for this particular approach comprise the following stages. 1. * Before a close ended or open ended approach can be chosen. Create an ERD Create a level 0 DFD. Data Modeling Functional Modeling & Information flow Behavioral Modeling The Data dictionary 8. * an open ended approach. Discuss the various phases of Analysis Modeling. * This model indicated the processes and tasks. it is necessary to determine whether the system to be built is amenable to prototyping. A prototype is constructed for customer and developer assessment.Explain briefly Functional Modeling Definition of Functional Modeling Data Flow Diagrams Extensions for real time systems Information hiding 9.

* The spiral model is well known because it combines the common knowledge of water fall model. if tools are available for solving different parts of the problem. This analysis is needed to ensure the initial version of the prototype is close enough to what the customer need to enable them to provide meaningful evaluations and criticism. * Each succeeding version of the prototype is produced based upon an analysis of the customer’s reaction to the demonstration of the previous version. which restart the prototyping process and extent the series of prototypes until a new stable point is reached. even with less specific variation of the process. This also states the goal and objectives of the s/w. • • • • • • • representation format and content should be relevant to the problem information contain within the specification should be nested. * Some advantage of this approach are that prototype of different aspects of the system can be developed concurrently and independently. The last property can be important in the short term. s/w requirements specification produced at the culmination of the analysis task. information description provides a detailed description of the problem that the s/w must solve. performance and behavior and interface requirement of the system. not how the system will be implemented. simple and easy to change.CS2301 Software Engineering 3. that each fragment is relatively small. You must analyze the information domain. and that different tools and environments can be used for different aspects. Software requirements can be specified in the following ways. but these tools have not been integrated together into a comprehensive prototyping environment. . incremental method and process model work into an attractive notation. 10. It is produced as the culmination of the s/w requirements analysis task in the lifecycle model. Explain Requirement and specification? Software Requirements Specification(SRS): The s/w requirement and specification focuses on what the system will do. Representations should be revisable. * Delivered products are delivered from the prototypes that are accepted by the customers via an optimal optimization process. * maintenance activities are sparked by new customer’s requirements. Prototype construction: This stage involves actual coding of the prototype Rapid prototyping: 1 37 * An evolutionary s/w prototyping process is produced based on a requirement analysis of the customer’s problem. the function. Functional description is a description of each function required to the solve the problem. Behavioral description section of the specification examines the operation of the s/w as a consequence of external events and internally generated control characteristics.

Requirement engineering provides the appropriate mechanism for understanding what the customer wants.CS2301 Software Engineering • • (i) 1 38 Validation criteria is the most important and ironically the most often neglected section of requirements specification. Explain Requirement Engineering Process. validating the specification and managing the requirements as they are transformed into an operational system.Discuss briefly Effective Modular Design. how the system should react to particular inputs and how the systems should behave in particular situations. (ii) Non functional requirements: constraints on the services or functions offered by the system such as timing constraints.Explain the various Design concepts in detail.Expalin User Interface Design activities Interface design models requirement elicitation requirement analysis and negotiation requirement specification system modeling requirement validation requirement management . 11. Cohesion Coupling 4. standards etc. negotiating a reasonable solution. The requirement engineering process can be described in five distinct steps.. Functional vs.. analyzing need accessing feasibility. Abstraction Refinement Modularity Control Hierarchy Structural Partitioning Data structure 3. • • • • • • UNIT-III 1. non functional requirements functional requirements: statements of services the systems should provide. specifying the solution unambiguously.Explain Transform Mapping with Safehome Software Definition of Transform Mapping Explain Safehome applications Implement Transform mapping 2. constrains on the development process. Functional Independence.

• Isolate the transform center by specifying incoming and outgoing flow boundaries.CS2301 Software Engineering Interface design process Defining Interface objects & actions Design Issues. • Review the fundamental model. • Review and refine the DFD for the software. • Factor and refine the transaction structure and the structure of each action path. • Determine whether the DFD has the transform or transaction mapping. Real Time Software design’ System Design Real time executives 7. 9. Explain the design steps of the transform mapping. 10. Explain in detail about SCM.. • Refine the first iteration architecture using design heuristics for improved software quality. • Determine whether the DFD has the transform or transaction mapping. • Perform first-level factoring.Discuss in detail Software configuration Management? The SCM process Version Control Change control SCM standards 6.Explain Real Time Systems. Definition Explanation 8. 5. • Review the fundamental model. • Review and refine the DFD for the software.What is Software Architecture? Explain it. • Refine the first iteration architecture using design heuristics for improved software quality. • Perform second-level factoring. • Identify transaction center and the flow characteristics along each of the action paths. Explain the design steps in transaction mapping.. 1 39 .

• Control change...CS2301 Software Engineering • Software Configuration Management is an umbrella activity that is applied throughout the software process. UNIT IV 1.Explain in detail Software Testing Strategies.Explain in detail Structural testing? Statement coverage Branch coverage Path coverage Example 4.Explain in detail Black box testing in detail Syntax driven testing Decision table based testing Cause effects graph in Functional testing 2. • Report change to others. you need to control it effectively. Basic block All-use c-use p-use du-path 1 40 ..Explain the test coverage criteria based on Data flow mechanisms. Unit testing Integration testing Validation testing System testing 5. SCM Activities • Identify change. SCI • Software Configuration Item is information that is carried as part of the software engineering process.How Boundary test conditions are achieved? Figure Explanation 3. • Ensure the change is properly implemented. Need for SCM • When you build computer software change happens.

refers to an integrated aggregate of more than one unit. • Performance testing 9. 8.Define Software Cyclomatic Complexity? How it can be calculated? Definition Figure & Explanation Formula Example 7. • Error diagnosis and correction are simplified. In its simplest form. Explain in detail about system testing. Smoke testing • It minimizes the integration risk. In a realistic scenario. Explain in detail about Integration testing. which are in turn aggregated into even larger parts of the program.Discuss on their outcomes 1 41 Integration testing is a logical extension of unit testing. The idea is . Top-down integration • It is an incremental approach. many units are combined into components. • It is a systematic technique for constructing the program structure. in this sense.CS2301 Software Engineering 6. • Modules are integrated by moving downward through the control hierarchy beginning with the main control module(main program). A component. • Subordinate modules are incorporated by depth-first or breadth-first manner. two units that have already been tested are combined into a component and the interface between them is tested. • Incremental integration – The program is constructed and tested in small increments. Regression testing • It is the re-execution of some subset of tests that have already been conducted to ensure the changes that have not been propagated unintended side effects. What is meant by integration testing ? Explain. Bottom-up integration • This testing begins construction and testing with the components at the lowest levels in the program structure. • System testing • Stress testing • Security testing.

It also helps minimize the need for stubs and drivers. The primary advantage of this approach is the degree of support for early release of limited functionality. utility modules are tested early in the development process and the need for stubs is minimized. It will not have all the intended functionality. Beyond that. The outputs for each function are then integrated in the top-down manner. if the program is composed of more than one process. they should be tested in pairs rather than all at once. Integration testing identifies problems that occur when units are combined. sometimes referred to as the umbrella approach. First. Discuss in detail: (1) Alpha testing. An alpha test usually takes place in the developer's offices on a separate system The first test of newly developed hardware or software in a laboratory setting. however. This allows high-level logic and data flow to be tested early in the process and it tends to minimize the need for drivers. 10. Alpha testing is the software prototype stage when the software is first able to run. For custom software. By using a test plan that requires you to test each unit and ensure the viability of each before combining units. however. you know that any errors discovered when combining units are likely related to the interface between units. the bottom-up approach also provides poor support for early release of limited functionality. When the first round of bugs has been fixed. Another disadvantage of topdown integration testing is its poor support for early release of limited functionality. in that it can be less systematic than the other two approaches. is that the need for drivers complicates test management and high-level logic and data flow are tested late. leading to the need for more regression testing. • The third approach. By using this approach. • The bottom-up approach requires the lowest-level units be tested and integrated first. the . the inputs for functions are integrated in the bottom-up pattern discussed above. the need for stubs complicates test management and low-level utilities are tested relatively late in the development cycle. requires testing along functional data and control-flow paths. These units are frequently referred to as utility modules. Like the top-down approach.CS2301 Software Engineering 1 42 to test combinations of pieces and eventually expand the process to test your modules with those of other groups. The potential weaknesses of this approach are significant. Eventually all the modules making up a process are tested together. the product goes into beta test with actual users. but it will have core functions and will be able to accept inputs and generate outputs. This method reduces the number of possibilities to a far simpler level of analysis. The downside. However. The three common categories of Integration testing: • The top-down approach to integration testing requires the highest-level modules be test and integrated first.

Program length Program volume measure] Potential volume measure Program level Effort & Time measure 2.. and real usage.e. which has just emerged from in-house (alpha) testing. • Major factors are: Programme ability. Making our (i. to a large number of real people. your!) software better as a result of detecting those bugs. Explain about software cost estimation. (2) Beta testing The beta phase of software design exposes a new product. The basic form of the COCOMO model. because the software expires shortly after the testing period.CS2301 Software Engineering 1 43 customer may be invited into the vendor's facilities for an alpha test to ensure the client's vision has been interpreted properly by the developer. and normally can involve sending the product to beta test sites outside the company for real-world exposure or offering the product for a free trial download over the Internet. . The pleasure of finding unususpected bugs. Possibly. real hardware. Beta testing is often preceded by a round of testing called alpha testing. Beta testing is not a method of getting free software long-term. A test for a computer product prior to commercial release.Explain the various measures of Software.Explain Delphi method of cost estimation Explanation with example 5. Unit-V 1. affecting our future direction of development through your suggestions. The benefits of testing include: • • • • Getting a look at the new features before anyone else. Explanation 4.Explain the COCOMO model in detail.Explain how Software cost estimation can be achieved using Function point model? Figure & Explanation 3. Beta testing is the last stage of testing.

Required reliability. 6. Explain in detail about Delphi Method. • NOP=(object point)X[100-%reuse)/100] NOP-New Object Point. • Software cost estimation gives the estimation of how much months a man take to develop a software product. • Maintenance is defined as the process in which changes are implemented by either modifying the existing system’ s architecture or by adding new components to the system. Product size.repeating steps 5 and 6 until the co-ordinator is satisfied with the overall prediction synthesized from experts. PROD=NOP/person-Month. • The Co-ordinator then calls a group meeting. Procedure • The co-ordinator presents a specification and estimation form to each expert. 8. • Co-ordinator prepares and distributes a summary of the estimates. • Software maintenance is an activity in which program is modified after it has been put into use. • Again co-ordinator edits and summarizes the forms.. • Constructive Cost Model. Available time. Explain in detail about COCOMO model. • Application Composition Model. Different aspects of maintenance 1 44 . • The experts again fill out forms anonymously.CS2301 Software Engineering Product Complexity. • Experts fill out forms anonymously. 7. Explain in detail about software Maintenance.In this meeting the experts mainly discuss the points where their estimates vary widely. • COCOMO II application composition uses object points. • Productivity Rate. • Co-ordinator calls a group meeting in which the experts discuss estimation issues with the coordinator and each other.. • Early design stage model • Post-architecture stage model.

Explain about CASE tools. • Static analysis tools. • Database management tools. • Dynamic analysis tools. 9. • Re-engineering tools. • Requirement tracing tools. • Prototyping tools. • SCM tools. • Analysis and design tools.CS2301 Software Engineering • The bug-fixing view The need-to-adapt view • The user-support view Need for software maintenance • To provide continuity of service • To support mandatory upgrades. • To support user requests for improvements. • Project Planning Tools. • Documentation tools. • Risk analysis tools. • Business Process Engineering Tools. • Metrics and management tools. • Project management tools. 1 45 . • Programming tools. • Process Modeling and Management Tools. • Client/server tools. • Web development tools. • PTO/SIM tools. • Interface design and development tools. • To facilitate future maintenance work. • System Software tools. • Test management tools. • Integration and testing tools. • Quality Assurance tools. • Computer Aided Software Engineering.

PROGRAMMER PRODUCTIVITY: *A measure of the rate at which individual engineers involved in software development produce software and associated documentation.CS2301 Software Engineering 10. LINES OF CODE: The measures was first proposed when programs were typed on cards with one line per card. This may be lines of delivered source code. * Function related measures based on an estimate of the functionality of the delivered software. * Not quality oriented although quality assurance is a factor in productivity assessment PRODUCTIVITY MEASURES: *Size related measures based on some output from the software process. *Estimating the total number of programmer months which have elapsed. Explain software cost estimation? Predicting the resources required for a software development process. SOFTWARE COST COMPONENTS: *Hardware and software costs *Travel and training costs *Efforts costs *Salaries of engineers involved in the project *Social and insurance costs *Effort costs must take overheads into account *Costs of shared facilities COSTING AND PRICING: *Estimates are made to discover the cost. object code instructions etc. 1 46 *There is not a simple relationship between the development ost and the price charged to the customer. Explain Project scheduling and tracking? . Analysis 3 weeks 3 weeks Design 5 weeks 5 weeks Coding 8 weeks 8 weeks Testing 10 weeks 6 weeks Documentation 2 weeks 2 weeks Assembly code High – level Language Assembly High – level language Size 5000 lines 1500 lines Effort 28 weeks 20 weeks Productivity 714 lines / months 300 lines / months 11. MEASUREMENT PROBLEM: *Estimating the size of the measure. to the developer of producing a software system..

* PERT and CPM – quantitative techniques that allow s/w planners to identify the chain of dependent task in the project work breakdown structure that determines the project duration. the fixed amount of time that can be spend on each task. It is difficult to ensure that a team is working on the most appropriate tasks without building a detailed schedule and sticking to it. This is a quantitative measure of percent of project completed so for. The output from one task often determines when another may begin. * Time line or GANTT chart : enables s/w planners to determine what task will be needed to conducted at a given point in the given time. * Relationship between number of peoples on a project and overall productivity is not linear. The total hours to complete the entire project are estimated and each task is given an earned value based on it’s estimated % contribution to the total. Software Project scheduling Principle: • • • • • • • Compartmentalization: Interdependency Time allocation Effort validation Define responsibilities Defined outcomes Defined milestones *adding people to the project after it is behind schedule often causes the schedule to slip further. Scheduling: *Scheduling tools should be used to schedule any non trivial project. Earned value analysis: • • Error tracking: • Allows comparison of current works to the past projects and provides a quantitative indication on the works so far completed. many engineering tasks need to occur in parallel with one another to complete the project on time. * The main reason for using more than one person on a project are to get the job done more rapidly and to improve s/w quality. *Time boxing: Practice of deciding a prior.CS2301 Software Engineering 1 47 The scheduling is the process of building and monitoring schedules for software development systems. Relationship between people and effort: .

those estimates will just be guesses. Appropriate Metrics for Software Developers. actual task duration and effort Code covered by unit testing Number of defects found by unit testing Code and design complexity Product size Work effort distribution Requirements status (number approved.CS2301 Software Engineering • 1 48 The more quantitative approach to project tracking and control. implemented. it’s never too late to start recording key information about your project. Group Individual Developers Appropriate Metrics • • • • • Work effort distribution Estimated vs.Describe two metrics which are used to measure the software in detail . 12. If you don’t measure your current performance and use the data to improve your future work estimates. I describe some basic software measurement principles and suggest some metrics that can help you understand and improve the way your organization operates. yet still having quality problems. Discuss clearly the advantages and disadvantages of these metrics Software measurement is a challenging but essential component of a healthy and highly capable software engineering culture. product size. Because today’s current data becomes tomorrow’s historical data. and quality performance. and verified) Percentage of test cases passed Estimated vs. actual staffing levels Project Teams • • • • • • . work effort. In this article. Software measurement lets you quantify your schedule. Plan your measurement activities carefully because they can take significant effort to implement and the payoff will come over time. Teams. Table 1. project status. and Organizations. actual duration between major milestones Estimated vs. Why Measure Software Software projects are notorious for running over schedule and budget. the more likely problems can be anticipated and dealt.

the number of hours each individual spends working on every development or maintenance phase activity in a week is private to that individual. and the distribution across all projects is public to everyone in the organization. As an example. you must educate them about the metrics program. Classify each data item you collect into one of these three privacy levels: • Individual: only the individual who collected the data about his or her own work knows it is his or her data. View and present the data items that are private to individuals only in the aggregate or as averages over the group. although it may be pooled with data from other individuals to provide an overall project profile • • Project team: data is private to the members of the project team. Tell them why measurement is important and how you intend to use the data.CS2301 Software Engineering 1 49 • • • • • Development Organization • • • • • Number of defects found by integration and system testing Number of defects found by inspections Defect status Requirements stability Number of tasks planned and completed Released defect levels Product development cycle time Schedule and effort estimating accuracy Reuse effectiveness Planned and actual cost To help your team overcome the fear. The total distribution of hours from all team members is private to the project team. Respect the privacy of the data. Make it clear that you will never use metrics data either to punish or reward individuals (and then make sure that you don’t). . if you are collecting work effort distribution data. although it may be pooled with data from other projects to provide an overall organizational profile Organization: data can be shared among all members of the organization. It is harder to abuse the data if managers don’t know who the data came from. A competent software manager does not need individual metrics to distinguish the effective team contributors from the slackers.

CS2301 Software Engineering 1 50 .

Sign up to vote on this title
UsefulNot useful