After reading this week\'s materials, please respond to TWO (2) of the following
ID: 3825381 • Letter: A
Question
After reading this week's materials, please respond to TWO (2) of the following questions.
1. Compare three of the following development methodologies: Break and Fix, Waterfall, V-Model, Prototyping, Incremental, Spiral, Rapid Application Development, and Agile.
2. What is the Capability Maturity Model Integration (CMMI) and what are the five maturity levels within the CMMI model?
3. Describe the five basic software programming language generations? Define the following programming terms: assembler, compiler, interpreter, and garbage collector.
4. What is object oriented programming and what benefits does it provide. Define encapsulation, abstraction and polymorphism.
Explanation / Answer
Answer 2:
Capability Maturity Model Integration (CMMI) is an apprasial and training program that is mostly practised in the software companies, more the CMMI rating better the company. It is administered by the CMMI Institute, it was developed at Carnegie Mellon University (CMU). CMMI can be used to guide process improvement across a project, division, or an entire organization.
CMMI areas of interest:
1. Product and service development
2. Service establishment, management
3. Product and service acquisition
In CMMI models with a staged representation, there are five maturity levels :
1 - Initial
At level 1, processes are usually chaotic. The environment is non stable . Success in these organizations depends on the competence of the people in the organization and not on the use of proven processes.
2 - Managed
At level 2, an organization has achieved all the specific and generic goals of the level 2 process areas. The projects of the organization have ensured that requirements are managed and that processes are planned, performed, measured, and controlled.
3 - Defined
At level 3, an organization has achieved all the specific and generic goals of the process areas assigned to maturity levels 2 and 3. Processes are well characterized and understood, and are described in standards, procedures, tools, and methods.
4 - Quantitatively Managed
At level 4, an organization has achieved all the specific goals of the process areas assigned to levels 2, 3, and 4 and the generic goals assigned to levels 2 and 3.
At level 4 Subprocesses are selected that significantly contribute to overall process performance. These selected subprocesses are controlled using statistical and other quantitative techniques.
5 - Optimizing
At level 5, an organization has achieved all the specific goals of the process areas assigned to levels 2, 3, 4, and 5 and the generic goals assigned to levels 2 and 3.
Processes are continually improved based on a quantitative understanding of the common causes of variation inherent in processes.
Answer 4 :
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, often known as attributes and code, in the form of procedures, often known as methods. In object oriented programming different objects interact with each other to do a specific task. Every single thing is considered as object in OOP, and states of paricular thing resides inside of object.
Benifits of OOPS :
1.Through inheritance, we can eliminate redundant code and extend the use of existing classes.
2.It is easy to partition the work in a project based on objects.
3.The data-centered design approach enables us to capture more details of the model in an implementable form.
4. Software complexity can be easily managed.
5. It is possible to have multiple objects to coexist without any interference.
Encapsulation : Encapsulation means hiding the implementation details besides the public programming interface. It is like wrapping code and data in a single unit. We can create a fully encapsulated class in java by making all the data members of the class private. Now we can use setter and getter methods to set and get the data in it. Often referred to as "Information Hiding", revolves more specifically around the hiding of the internal data (e.g. state) owned by a class instance, and enforcing access to the internal data in a controlled manner.
Abstraction : Abstraction is the process of abstraction in Java is used to hide certain details and only show the essential features of the object. In other words, it deals with the outside view of an object (interface).
Polymorphism : Polymorphism is the ability of an object to take on many forms. The most common use of polymorphism in OOP occurs when a parent class reference is used to refer to a child class object. Any Java object that can pass more than one IS-A test is considered to be polymorphic.