Ticker

6/recent/ticker-posts

Software engineering subjective question for competitive exam(1)

Q1.Characteristics of software contrast to characteristics of hardware?

o Software is easier to change than hardware. The cost of change is much higher for hardware than for software. o Software products evolve through multiple releases by adding new features and rewriting existing logic to support the new features. Hardware products consist of physical components that cannot be “refactored” after manufacturing, and cannot add new capabilities that require hardware changes. o Specialized hardware components can have much longer lead times for acquisition than is true for software. o Hardware design is driven by architectural decisions. More of the architectural work must be done up front compared to software products. o The cost of development for software products is relatively flat over time. However, the cost of hardware development rises rapidly towards the end of the development cycle. o Testing software commonly requires developing thousands of test cases. Hardware testing involves far fewer tests. Hardware must be designed and tested to work over a range of time and environmental conditions, which is not the case for software

Q2.Define agility and agile team

 Agility-Effective (rapid and adaptive) response to change (team members, new technology, requirements)  Effective communication in structure and attitudes among all team members, technological and business people, software engineers and managers。  Drawing the customer into the team. Eliminate “us and them” attitude. Planning in an uncertain world has its limits and plan must be flexible.  Organizing a team so that it is in control of the work performed  The development guidelines stress delivery over analysis and design although these activates are not discouraged, and active and continuous communication between developers and customers  Eliminate all but the most essential work products and keep them lean. Emphasize an incremental delivery strategy as opposed to intermediate products that gets working software to the customer as rapidly as feasible



Q3. What are the Characteristics of Agility? What are the Problems with agile methods?

 Agility in Agile Software Development focuses on the culture of the whole team with multi-discipline, cross-functional teams that are empowered and selforganizing.  It fosters shared responsibility and accountability.  Facilitates effective communication and continuous collaboration.  The whole-team approach avoids delays and wait times.  Frequent and continuous deliveries ensure quick feedback that in in turn enable the team align to the requirements.  Collaboration facilitates combining different perspectives timely in implementation, defect fixes and accommodating changes. Problems with agile method  It can be difficult to keep the interest of customers who are involved in the process.  Team members may be unsuited to the intense involvement that characterizes agile methods.  Prioritizing changes can be difficult where there are multiple stakeholders.  Maintaining simplicity requires extra work.  Contracts may be a problem as with other approaches to iterative development.

Q4.Mention the Two perspectives on scaling of agile methods?

1. Scaling up 2. Scaling out 1. What is Scaling up Using agile methods for developing large software systems that cannot be developed by a small team. For large systems development, it is not possible to focus only on the code of the system; you need to do more up- front design and system documentation. Cross-team communication mechanisms have to be designed and used, which should involve regular phone and video conferences between team members and frequent, short electronic meetings where teams update each other on progress. Continuous integration, where the whole system is built every time any developer checks in a change, is practically impossible; however, it is essential to maintain frequent system builds and regular releases of the system. 2. What is Scaling out. How agile methods can be introduced across a large organization with many years of software development experience. Project managers who do not have experience of agile methods may be reluctant to accept the risk of a new approach. Large organizations often have quality procedures and standards that all projects are expected to follow and, because of their bureaucratic nature, these are likely to be incompatible with agile methods. Agile methods seem to work best when team members have a relatively high skill level. However, within large organizations, there are likely to be a wide range of skills and abilities.

Q5 Explain the following: (i) waterfall model (ii) Spiral model (iii)RAD model (iv) Prototyping model


Waterfall model  A Project management methodology based on asequential design process  Finishes one phase before another phase can begin  SDLC Model  Linear Sequential Model  Simple to understand and easy to implement Waterfall model phases There are separate identified phases in the waterfall model: 1. Requirements analysis and definition 2. System and software design 3. Implementation and unittesting 4. Integration and system testing 5. Operation and maintenance The main drawback of the waterfall model is the difficulty of accommodating change after the process is underway. In principle, a phase has to be complete before moving onto the next phase. (ii)SPIRAL MODEL The spiral model is divided into number of frame works. These frameworks are 22 denoted by task regions. Usually there are six task regions. In spiral model project entry point axis is defined. The task regions are: 1. Customer communication ,Planning Risk analysis., Engineering, Construct and release and Customer evaluation.  Drawbacks 1. It is based on customer communication. 2. It demands considerable risk assessment. It was originally proposed by Barry Boehm, the spiral model is anevolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the waterfallmodel. It provides the potential for rapid development of increasingly more complete versions of the software. The spiral model can be adopted to apply throughout the entire lifecycle of the application from concept development tomaintenance. The spiral model is divided into set of framework activities defined bysoftware engineering team. The initial activity is shown from centre and developed inclockwise direction. Advantages  In this approach, the project monitoring is easy and more effective compared to other models.  It reduces the number of risk in softwaredevelopment before they become serious problem.  Suitable for very high risk.  Schedule and cost is more realistic  Risk management is in-built in the spiralmodel.  Changes can be accommodated in the later  stages (iii) RAD Model RAD or Rapid Application Development process is an adoption of the waterfall model; it targets at developing software in a short span of time. RAD follows the iterative SDLC RAD model has following phases iv. Business Modeling v. Data Modeling vi. Process Modeling vii. Application Generation viii. Testing and Turnover ) Prototyping Model Prototype methodology is defined as a Software Development model in which a prototype is built, test, and then reworked when needed until an acceptable prototype is achieved. It also creates a base to produce the final system. Software prototyping model works best in scenarios where the project's requirements are not known. It is an iterative, trial, and error method which take place between the developer and the client Often, a customer defines a set of general objectives for software, but does not identify detailed requirements for functions and features. In this case Prototyping is best suited Prototyping can be used together with other models for elicitation requirements The prototype can serve as “the first system.” Some prototypes are “Throw Away” while others also evolve become part of the actual system. Both customers and developers like the prototyping paradigm. i. Customer/End user gets a feel for the actualsystem ii. Developer get to build something immediately



Post a Comment

0 Comments