CS-605 Software Engineering II
Course Page
Q & A
Short Question & Answers
Q1: Give two importance’s of reviews?
With Technical review you may come to know more about the technical requirements and specifications. Reviews the process description for compliance with the organizational policies, internal software standards, externally imposed standards, and other parts of the software project plan.
Q2: Discuss the role of program restructuring in software reengineering?
In this case we modify source code and data in order to make it amenable to future changes. This includes code as well as data restructuring. Code restructuring requires redesign with same function with higher quality than original program and data restructuring involves restructuring the database or the database schema. It may also involve code restructuring. All will be in software reengineering/ Program is restructured after the reverse engineering phase.
Q3: Give the properties of Capability Levels?
 Incomplete, Performed, Managed, Defined, Quantitatively Managed, Optimizing
Q4: Give any six attribute of Requirements?
Software Quality Assurance, Quality Assurance, Cost of quality, SQA Activities, SQA Group Activities, Quality Control
Q5: List the factors involved in calculating the cost of Reengineering?
Current annual maintenance cost for an application. Current annual operation cost for an application. Current annual business value of an application. Predicted annual maintenance cost after reengineering. Predicted annual operations cost after reengineering. Predicted annual business value cost after reengineering. Estimated reengineering cost. Estimated reengineering calendar time. Reengineering risk factor. Expected life of the system
Q6: Can you think it is difficult to implement CMM level in small software companies?
The CMM Level where basic project management processes are established to track cost, schedule, and functionality. That is, it is characterized by basic project management practices. It also implies that without project management not much can be achieved. In Small software house

Project size: As the project size increases, the complexity of the problem also increases and therefore its management also becomes more difficult.

Delivery deadline: Delivery deadline directly influences the resources and quality.

Budgets and costs: A good estimate of budget, cost and schedule is essential for any successful project.

Application domain: Application domain also plays an important role in the success of a project. The chances of success of a project in a well-known application domain would be much better than of a project in a relatively unknown domain. So implementation of all the procedure for this Level can be a bit difficult for small software houses because they usually work on small projects where cost and time always matter.
Q7: What is meant by requirement management?
Requirement Management is defined as a systematic approach to eliciting, organizing, and documenting the requirements of the system, and a process that establishes and maintains agreement between the customer and the project team on the changing requirements of the system.
Q8: Why we need metrics?
Metrics give you a better insight into the state of the process or product. These insights are not the problems but just the indicators of problems. A software engineers collects measures and develops metrics and indicators.
Q9: Degree of Rigor?
To determine the set of tasks to be performed the type of the project and the degree of rigor required needs to be established. The degree of rigor can also be categorized as Casual, Structured, Strict, or Quick Reaction.
Q10: uses of control chart.
We have to determine whether the trend is statistically valid or not. We also need to determine what changes are meaningful. A graphical technique known as control charts is used to determine this. Control charts are of two types: moving range control chart and individual control chart.
Q11: If the bugs are fix then what will effect on quality of software?
Defect repair/maintenance is considered to be any activity that supports the release functionality specification and it may a fix for some bugs or some maintenance to enhance the performance of the application.
Q12: Effort validation.
Every project has a defined number of staff members. As time allocation occurs, the project manager must ensure that no more than the allocated number of people has been scheduled at any given time.
Q13: Do you think Flexibility and maintainability is same thing? What is the reason?
No, these are not the same things because System flexibility describes the ease of expanding the product with new feature sets and capabilities. System maintainability, on the other hand, describes the ease of coding bug repairs and adding minor features. Both are determined by the architecture and techniques used to create the code and resulting quality of the code.
Q14: If spoilage is decreasing then what effect on maintainability.
A cost oriented metric used to assess maintainability is called Spoilage. It is defined as the cost to correct defects encountered after the software has been released to the users. Spoilage cost is plotted against the overall project cost as a function of time to determine whether the overall maintainability of software produced by the organization is improving.
Course Instructor

Dr. Fakhar Lodhi
D.Sc. Computer Science
George Washington University, USA.

Software Engineering by Ian Sommerville

Software Engineering: A Practitioner’s Approach by Roger S. Pressman