Increasing productivity for over agencies worldwide. Take it from our customers. Achievements Function Point is a recognized all-in-one agency software that helps teams connect each stage of project management.
Book a Demo. New Product Release Check out our latest add-on product, Built-in Proofing , a seamless way to review and approve digital files! Built-in Proofing for Creatives. Subscribe to our monthly newsletter Get project management, productivity and marketing best practices.
Your browser does not support the video tag. See Function Point in Action Get a personalized demo tailored to your business from one of our experts.
Request a Demo. Get Started With Function Point. Request Your Live Demo Function Point has helped over users from around the world simplify their workflows and earn more profit on each project. Tell us about yourself and we'll be in touch right away.
However, the most appropriate design strategy is often a heterogeneous one where both functional and object-oriented approaches are used. Q 19 How is software design different from coding? Design is most crucial and time-consuming activity 2. Screen of the system depends on the correct design specifications which is a key activity of the process. Software design is based on the findings collected in the initial investigation phase.
Design includes the following: i User interface design ii Process Design iii Database design 5. Designs are transformed into actual code or program during the implementation phase. Coding:- 1. Involves conversion of detailed design specification laid out by designers into actual code, files or database. Less time consuming then the design phase and performed by programmers or coders. More concerned with technical aspect of the software rather than its functional aspect. Different software such as programming languages front-end tools, database management system, utilities etc are used to facilitate the coding process.
Q 20 What problems arise if two modules have high coupling? Ans: Coupling means the interconnection of different modules with each other or we can say, it tells about the interrelationship of different modules of a system. A system with high coupling means there are strong interconnections between its modules. If two modules are involved in high coupling, it means their interdependence will be very high. Any changes applied to one module will affect the functionality of the other module.
Greater the degree of change, greater will be its effect on the other. As the dependence is higher, such change will affect modules in a negative manner and in-turn, the maintainability of the project is reduced. This will further reduce the reusability factor of individual modules and hence lead to unsophisticated software.
Q 21 Explain a. Requirements management which establishes a common relationship between the customer and developer 2. Software project tracing and oversight which establishes adequate visibility into actual progress to help management track deviations from plans 4. Software subcontract management for selecting efficient subcontractors and managing them 5. Software quality assurance which provides visibility into the software process and product 6.
Software configuration management which establishes and maintains the integrity of the products throughout the life cycle.
Q 22 Draw E-R diagram for the following situation An account is a relationship between customer and bank. A customer has a name. A bank has a branch. A customer may have several accounts of different type and balance. The students fill a form and submit it. This is sent to the departments for confirmation. Once it is confirmed, the form and the fees is sent to the account section. Draw a data flow diagram using SRD technique. Risks can be identified by a check list or looking at previously identified risks.
Risk analysis involves examining how project outcomes may change with modification of risk input variables. Risk prioritization helps in focus on most severe risks. Q 25 What is a modular system? List the important properties of a modular system. Aggregation among objects. Repeated inheritance. Aggregation among objects Aggregation among objects represents a relationship. Aggregation may imply containment. Class A class is a template that specifies the properties of objects. Classes have an interface which consists of the operation, a body which implements the operations and instance variable which contain the state of an object.
Repeated inheritance If a class inherits more than once from the same class then it is referred to as repeated inheritance. Encapsulation An object encapsulates the data and information it contains and supports a well defined abstraction. Encapsulation leads to the separation of the interface and implementation.
Scenario A scenario is a sequence of events that occur in a particular execution of the system. A scenario can be described textually by enumerating the sequence of events or it can be shown as an event trace diagram in which events between objects are shown. Q 27 Explain the following: i Equivalence class testing.
Two steps for this method are Identify equivalence class by taking each input condition and partition into valid and invalid classes. Generate the test cases using the equivalence class of the previous step. The test cases are generated for the valid and the invalid classes. Examples are installation guide and reference guide. System documents contain all the facets of the system, including analysis, specification design, implementation, testing, security error diagnosis and recovery.
Examples are SRS and system test plan. A printout of all relevant memory locations is obtained and studied. All dumps should be well documented and retained for possible use on subsequent problems. Sometimes it is difficult to interpret the dump which is represented using hexadecimal numbers. Q 28 Define capability. What are the quantities that determine the degree of capability of a software reliability model? The quantities are MTTF, expected date of reaching reliability, resource and cost requirements to reach the objectives.
Explain why it is more advantageous than adhoc methods. Ans Waterfall Model: 1. The waterfall model is a sequential software development process, in which progress is seen as flowing steadily downwards like a waterfall through the phases of Conception, Initiation, analysis, design validation , Construction, testing and maintenance. The first formal description of the waterfall model is given by Winston W. Royce in , however, popular in , and further refined by Barry Boehm.
To follow the waterfall model, one proceeds from one phase to the next in a purely sequential manner. For example, one first completes requirements specifications, which are set in stone. When the requirements are fully completed, one proceeds to design. Process structured as a cascade of phases where output of one is input of next. Many variants of model depending on organization and specific project.
However underlying phases are same for all. Schedules, budgets, functionality, and product quality are generally inconsistent. Performance depends on the capabilities of individuals and varies with their innate skills, knowledge, and motivations. There are few stable software processes in evidence, and performance can be predicted only by individual rather than organizational capability.
Waterfall model is simple to follow, however real projects rarely follows this approach. Iteration is not required. It is widely use because it is easy. How do we transform an informal design to a detailed design? Ans Objectives of software design The purpose of the design phase is to plan a solution of the problem specified by the requirements document.
This phase is the first step in moving from the problem domain to the solution domain. Non-formal methods of specification can lead to problems during coding, particularly if the coder is a different person from the designer that is often the case. Software designers do not arrive at a finished design document immediately but develop the design iteratively through a number of different phases. The design process involves adding details as the design is developed with constant backtracking to correct earlier, less formal, designs.
The transformation is done as per the following diagram. Informal Informal More Finished design design formal design outline design Q. Discuss the important issues that a SRS must address. SRS is the process of establishing the services, the system should provide of the system in new, it is difficult for software engineer to understand the nature of problem constraints under which it must operates, so software engineer take help of a step called requirement capture and analysis.
The important issues that a SRS must address are: a System goals and requirements are different: Goal is a more general characteristics. Requests are more testable in nature. For example all users command selection should be only using pop up menus. There should be a clear relationship between this documents and the software request specification. The reader of this document is software engineer, system analyst and project leaders.
Discuss the differences between the two. Ans Throw-Away Prototyping: Also called close ended prototyping. Throwaway or Rapid Prototyping refers to the creation of a model that will eventually be discarded rather than becoming part of the final delivered software. Rapid Prototyping involved creating a working model of various parts of the system at a very early stage, after a relatively short investigation.
The method used in building it is usually quite informal, the most important factor being the speed with which the model is provided. The model then becomes the starting point from which users can re-examine their expectations and clarify their requirements. The most obvious reason for using Throwaway Prototyping is that it can be done quickly. If the users can get quick feedback on their requirements, they may be able to refine them early in the development of the software.
Speed is crucial in implementing a throwaway prototype, since with a limited budget of time and money little can be expended on a prototype that will be discarded. Strength of throwaway prototyping is its ability to construct interfaces that the users can test. The user interface is what the user sees as the system, and by seeing it in front of them, it is much easier to grasp how the system will work. Evolutionary prototyping: Evolutionary Prototyping also known as breadboard prototyping is quite different from Throwaway Prototyping.
The main goal when using Evolutionary Prototyping is to build a very robust prototype in a structured manner and constantly refine it. The reason for this is that the Evolutionary prototype, when built, forms the heart of the new system, and the improvements and further requirements will be built.
When developing a system using Evolutionary Prototyping, the system is continually refined and rebuilt. Although they may not have all the features the users have planned, they may be used on an interim basis until the final system is delivered. In Evolutionary Prototyping, developers can focus themselves to develop parts of the system that they understand instead of working on developing a whole system.
There are 15 different attributes, called cost drivers attributes that determine the multiplying factors. These factors depend on product, computer, personnel, and technology attributes also know as project attributes. Each cost driver has a rating scale, and for each rating, there is multiplying factor is provided. For eg. The multiplying factor for these ratings is. So, if the reliability requirement for the project is judged to be low then the multiplying factor is. Productivity P may be conceived of as a metrics of the technical or engineering efficiency of production.
They all depend on same variable used as predictor say, size. The constants a and b are derived from the historical data of the organization. Since a and b depends on the local development environment, these models are not transportable to different organizations. Static multivariable model: They depend on several variables representing various aspects of the software development environment, for e.
An effort multiplier from the table below applies to the rating. The product of all effort multipliers results in an effort adjustment factor EAF. Typical values for EAF range from 0. The coefficient ai and the exponent bi are given in the next table. Software project ai bi Organic 3. A design process may include a series of steps followed by designers. Depending on the product or service, some of these stages may be irrelevant, ignored in real-world situations in order to save time, reduce cost, or because they may be redundant in the situation.
Changing the shared resource implies changing all the modules using it. Diagnosing problems in structures with considerable common coupling is time consuming and difficult. It does not mean that a software designer must be aware of potential consequences of common coupling and take special care to guard against them.
In this all of the elements of a component operate on the same input data or produce the same output data. So we can say if a module performs a series of actions related be a sequence of steps to be followed by the product and all actions to be performed on the same data. The UML specifies two types of scope for members: instance and classifier. In the case of instance members, the scope is a specific instance.
For attributes, it means that its value can vary between instances. For methods, it means that its invocation affects the instance state, in other words, affects the instance attributes. Otherwise, in the classifier member, the scope is the class. For attributes, it means that its value is equal for all instances. For methods, it means that its invocation do not affect the instance state. Classifier members are commonly recognized as "static" in many programming languages.
The lines represent the connection and or ownership between activities and sub activities as they are used in organization charts. In structured analysis structure charts are used to specify the high-level design, or architecture, of a computer program.
As a design tool, they aid the programmer in dividing and conquering a large software problem, that is, recursively breaking a problem down into parts that are small enough to be understood by a human brain. Explain Equivalence Class Partitioning and Boundary value analysis. Compare the two. Equivalence Class Partitioning: It is a technique in black box testing.
It is designed to minimize the number of test cases by dividing tests in such a way that the system is expected to act the same way for all tests of each equivalence partition.
Test inputs are selected from each class. Every possible input belongs to one and only one equivalence partition. You identify classes of input or output conditions. The rule is that each member in the class causes the same kind of behaviour of the system. In other words, the "Equivalence Class Partitioning" method creates sets of inputs or outputs that are handled in the same way by the application.
Using equivalence partitioning method above test cases can be divided into three sets of input data called as classes. Each test case is a representative of respective class. More application errors occur at the boundaries of input domain. Boundary value analysis is a next part of Equivalence partitioning for designing test cases where test cases are selected at the edges of the equivalence classes.
This capability is significant only when failure behaviour is changing. We can visually check the predictive validity by plotting the relative error against the normalised test time. Let Xr be the usage of resource r.
The model should be judged by its degree of applicability across software products that vary in size, structure and function. The model should be usable in different development environments, different operational environments, and different life cycle phases.
It is desirable that a model should be robust with respect to deviations from its assumptions, errors in the data or parameters it employs, and unusual conditions. Compare the execution-time component for basic model and the logarithmic Poisson model. The execution-time component is based on the following assumptions: 1 Tests represent the environment in which the program will be used.
Both rates are with respect to execution time. The two models-basic execution time model and logarithmic Poisson execution time model- have failure intensity functions that differ as functions of execution time. However, the difference between them is best defined in terms of slope or decrement per failure experienced. The decrement in the failure intensity function remains constant for basic model while the decrement per failure decreases exponentially as shown in the following graph.
Describe the various types of restructuring techniques. How does restructuring help in maintaining a program? In general, restructuring does not modify the overall program architecture. It tends to focus on the design details of individual modules and on local data structures define within the module. In general, code- restructuring techniques model program logic using Boolean algebra and then apply a series of transformation rules that yield restructured logic.
The intent is to extract data items and objects, to get information on data flow, and to understand the existing data structures that have been implemented. This activity is sometimes called data analysis. Once it has been completed, data redesign commences.
Another form of redesign, called data rationalization, which ensures that all data naming conventions conform to local standards and that aliases are eliminated as data flow through the system. The restructuring helps in maintaining a program in the following ways: a Programs have higher quality, better documentation, less complexity, and conformance to modern software engineering practices and standards.
Describe the various steps of the reuse-oriented model. The reuse-oriented model, also called reuse-oriented development ROD , is a method of software development in which a program is refined by producing a sequence of prototypes called models, each of which is automatically derived from the preceding one according to a sequence of defined rules.
The reuse-oriented model can reduce the overall cost of software development compared with more tedious manual methods. It can also save time because each phase of the process builds on the previous phase that has already been refined.
When carefully carried out, ROD can minimize the likelihood of errors or bugs making their way into the final product. The reuse-oriented model is not always practical in its pure form because a full repertoire of reusable components may not be available.
In such instances, some new program components must be designed. If not thoughtfully done, ROD can lead to compromises in perceived requirements, resulting in a product that does not fully meet the needs of its intended users. How does it affect the stability of a program? The ripple effect is a term used to describe a situation where, like the ever expanding ripples across water when an object is dropped into it, an effect from an initial state can be followed outwards incrementally.
Examples can be found in economics where an individual's reduction in spending reduces the incomes of others and their ability to spend. In sociology it can be observed how social interactions can affect situations not directly related to the initial interaction. There is a ripple effect from the location of the modification to the other parts of the programs that are affected by the modification. One aspect of the ripple effect concerns the performance of the program.
The primary attribute affecting the ripple effect as a consequence of a program modification is the stability of the program. Program stability is defined as the resistance to the amplification of changes in the program. Ans It is difficult to improve software process due to following reasons: 1. Lack of knowledge-Many software developers are not aware of best practices of industry. In fact best practices available in literature are not being used widespread in software development.
Not enough time-There is always a shortage of time because upper management are always demanding more software of higher quality in minimum possible time. Unrealistic schedule sometimes leave insufficient time to do the essential project work. Wrong motivations-The process improvement initiatives are taken for wrong reasons like sometimes contractor is demanding achievement of CMM or sometimes senior management is directing the organization to achieve CMM without a clear explanations why improvement was needed and its benefits.
Insufficient commitments-The software improvement fails due to lack of true commitment. Management sets no expectations from the development community regarding process improvement. Which design strategy is most popular and practical? Ans The most commonly used software design strategy involved decomposing the design into functional components with system state information held in a shared data area.
The design strategies are: 1. Functional design The system is designed from a functional viewpoint, starting from with a high level view and progressively refining this into a more detailed design. The system state is centralised and shared between the functions operating on that state. Object-oriented design: The system is viewed as a collection of objects rather than as functions. Object-oriented design is based on the idea of information hiding. In a object-oriented design, the system state is decentralized and each object manages is own state information Q.
The aim of structured analysis is to transform the textual description of a problem into a graphic model. During structured analysis, functional decomposition of the system takes place, i. On the other hand, during structured design all functions identified during structured analysis are mapped to a module structure. The purpose of structured analysis is to capture the detailed structure of the system as perceived by the user, whereas the purpose of structured design is to define the structure of the solution that is suitable for implementation in some programming language.
For this, the customer needs to supply his name, address, telephone number and driving license number. A customer is assigned a unique customer number CN by the computer. When a customer makes a purchase, the value of the purchase is credited against his CN. At the end of each year, surprise gifts to 10 customers who have made the highest purchase is given.
In addition, a 22 carat gold coin is given to every customer who has made a purchase over Rs. The entries are reset on the last day of the year. Technical documentation. Integrated case tools C. Lower case tools D. Which risk gives the degree of uncertainty and the project schedule will be maintained so that the product will be delivered in time?
Company wants to develop a project. You are also involved in planning team. What will be your first step in project planning? Establish the objectives and scope of the product. Determine the project constraints. Select the team. Answer: Establish the objectives and scope of the product. Configuration management is an essential part of the system maintenance. It is aided with version control tools to control versions, semi-version or patch management.
Gathering of requirement. Understanding of requirement. Getting the requirements from client. Empirical Estimation Technique. Heuristic Estimation Technique. Analytical Estimation Technique. A legacy system refers to newer version of software. A legacy system refers to outdated application software that is used instead of available upgraded versions. A legacy system always devolved by advance technology. Answer: A legacy system refers to outdated application software that is used instead of available upgraded versions.
Which of the following cannot be applied with the software according to Software Engineering Layers? Which software is used to control products and systems for the consumer and industrial markets? Requirement Elicitation ——- A. Module Development and integration. Analysis 3. Structure and behavioral 4. Maintenance ——————— D.
Performance tuning. Sandwich testing D. In which elicitation process the developers discuss with the client and end users and know their expectations from the software?
Requirement gathering B. Organizing requirements C. If requirements are easily understandable and defined then which model is best suited? Structure of Software Program B. Programming Language C. Dependence on external environment D. All mentioned above e.
Computer Aided Software Engineering B. Component Aided Software Engineering C. Constructive Aided Software Engineering D. Computer Analysis Software Engineering. Penetrates the system B. Penetrates the listener C.
Facilitated Application Software Technique. Functional Application Software Technique. Facilitated Application Specification Technique. Time estimation B. Effort estimation C. Cost estimation D. Software size estimation. SDLC Models are adopted as per requirements of development process.
It may vary Software-to-software to ensuring which model is suitable. When the customer may ask for new features or functions in the software, what does it mean in Software maintenance? Host modifications B. Client requirements C. Market conditions D. Organization changes. Reliability is measured by considering processing speed, response time, resource consumption, throughput, and efficiency.
Computer Authorized Software Engineering B. Computer Aided Software Engineering C. Common Authorized Software Engineering D. Common Aided Software Engineering. What is described by means of DFDs as studied earlier and represented in algebraic form?
The product scope is poorly defineD. Deadlines are unrealistiC. Changes are managed poorly. What is used for implementing the changes in existing or new requirements of user in software maintenance? Lehman has given eight laws for software evolution and he divided software into three categories. In which category software works strictly according to defined specifications and solutions.
Computer software is a complete package, which includes software program, its documentation and user guide on how to use the software. Respected Sir i want mcqz of Software Engineering…. Your email address will not be published. What are the characteristics of software?
Compilers, Editors software come under which type of software? True B. What is the simplest model of software development paradigm? Spiral model B. Big Bang model C. V-model D. Which is the most important feature of spiral model?
Unambiguous B. Consistent C. Verifiable D. Which is not a step of Requirement Engineering? Reliability B. Efficiency C. Portability D. Verifiable B. Traceable C. Modifiable D. Static view B. Functional view C. Dynamic view D. Unit Testing B. Beta Testing C. Stress Testing D. In a risk-based approach the risks identified may be used to: i. Determine the cost of the project A. What can static analysis NOT find? HR Plan B. Manager Plan C.
Team Plan D. Acceptance testing B. Integration testing C. System Testing D. CAME tools C. CAQE tools D. Design B. Detailed design C. Coding D. Strict evaluation B. Recursion C. Calculus D. Which factors affect the probable consequences if a risk occur?
Risk avoidance B. Risk monitoring C. Risk timing D. Business risks B. Predictable risks C. Project risks D. Requirement engineering process includes which of these steps?
Give the disadvantages of modularization. Give the Real-world factors affecting maintenance Cost. Mention any two indirect measures of product. Quality B. Accuracy D. Both A and B e. State if the following are true for Project Management.
During Project Scope management, it is necessary to — 1. Verify the scope A. Customers B. End-users C. Project managers D. Answer: All of the above. Yes B. No Answer: Yes Implementation C.
Disposition D. Communication Answer: Communication Manage B. Monitor C. Categorize D. Identification Answer: Identification What is a measure of how well a computer system facilities learning? Usability B. Functionality C. Reliability D. None of the above Answer: Usability Software system analyst Answer: Requirement engineering process Refinement is actually a process of elaboration.
False Answer: True Who manages the effects of change throughout the software process? Technical reviews Answer: Software configuration management Co-incidental cohesion Answer: Procedural cohesion Content coupling B. Stamp coupling C. Data coupling D. Common coupling Answer: Common coupling Scenario scripts B. Support classes C. Key classes D. Subsystems Answer: Scenario scripts Project risk B.
Business risk C. Technical risk D. Schedule risk Answer: Technical risk Abbreviate the term BSS. Compatibility B. Interoperability C. Timelines and Delivery Dates Determine how many jobs you can successfully take on, with key insights into due dates and accounting.
And Much More Improve your workflows and gain a strong understanding of your profitability with Function Point. Download The Fact Sheet. Your browser does not support the video tag. See Function Point in Action Get a personalized demo tailored to your business from one of our experts.
0コメント