Posts Tagged ‘cathedral’

Software Engineering Concepts 3

Saturday, January 3rd, 2009

Many software engineering courses focus on the team approach such as understanding how large corporations produce large operating systems and applications. Tools such as CVS and Clear Case may be included along with ideas on project analysis and management. Also, more detailed and practical topics for freelancers may be included such as garbage collection, special methods and class access in Java. Some of these topics include the following questions and answers.

1. The Cusumano paper, How Microsoft Builds Software described two words, which both begin with the letter S, which Microsoft applies to develop its software.  The product development has periodic system builds to allow the various team members to synchronize their separate software contributions with each other.  Further, product development hits periodic milestones to help stabilize the product into a more solid, fixed form.

2. Checking software out of a source repository and building the software in the evening to check for product compilation bugs is referred to as a nightly build.

3. Java uses Garbage Collection to manage its dynamically allocated memory. Describe Garbage Collection:

 Uses ref_count to keep track of objects. When ref_count goes to zero the object is deallocated. ( mark and sweep )

4. There are two main approaches to copying allocated objects. One copying approach copied just the upper level of data.  The second copied the upper level of data and recursively made new copies of all object references as well. Name the two types of copying:
    
    a. shallow
    b. deep

5. In a class, either Java or C++, there are three levels of access which can be granted to the methods and variables. All three start with a P, name them:

    a. Public
    b. Protected
    c. Private

6. What is the name of the copy constructor method for Java? This method returns an object which has the same state as the original object.

    clone()