Retrieved from https://studentshare.org/information-technology/1431439-week
https://studentshare.org/information-technology/1431439-week.
Week 6 Hand-In Assignment Part 1. Explain how the lack of metrics for measuring certain software properties affects the software engineering discipline. Answer: The usage and consumption of resources can be determined by metrics. These metrics are helpful to find out the time consumption, money investment and manpower required by software process. Ultimately, this can help to find out such processes which are not giving the required result and are consuming useful resources. By using metrics to determine such processes which are consuming many resources can help to work on that particular portion of software.
Consumption of a process is high if there was some error in requirement phase and was not corrected or discovered till coding. Metric will help to determine such erroneous process before proceeding to next phase of software development life cycle. If there is lack of metrics for measuring such software properties then it can result in wastage of money as well as time and therefore, will have negative effects on software engineering discipline (Management, n.d.). #2. How does software engineering differ from other, more traditional fields of engineering such as electrical and mechanical engineering?
Answer: Software engineering is a combination of computer science, information science and discrete mathematics while on the other side engineering is based on mathematics, science and common knowledge, those who study software engineering are software engineers whereas those who study engineering are traditional engineers so traditional engineers construct real artifacts and software engineers construct non real artifacts. In traditional engineering there are two main concerns for a product one is the cost of production and second is the reliability measured by time to failure but on the other hand in software engineering the two concerns are cost of development and reliability measure by the number of errors per thousand lines of source code.
Software engineering is about 50 years old and software engineers often apply new techniques in their projects where as traditional engineering is thousands of years old and traditional engineers apply known and tested principles. Both disciplines requires maintenance but in different ways. Software engineering emphasize on those project which will be useful for years or decades while traditional engineers solve long ranged problems that ensure for centuries. Software engineering is often busy with researching the unknown problem in the middle of a project whereas traditional engineering don’t considered such types of problems.
Last but not least software engineering has first recently started to codify and teach design pattern where was in traditional engineering they handled fields literature, standards, rules and regulations (Australian Scrum Community, 2006). Part 2: #3. What complications are imposed if one tries to implement a dynamic list using a traditional homogeneous array? Answer: The length of dynamic list varies at run time while the homogeneous array is of fixed length and is defined at the start of the program.
At the time of insertion of several items in the dynamic list there is need for more memory allocation. Also, at the time of deletion of data from the dynamic list then the unused memory must be released in order to make it space efficient (Devexpress, 2011). Moreover, since an array is homogeneous which means that it can hold only one data type at a time, therefore, if there is need to add multiple data types in dynamic list then array structure will give error (Princeton,1996). As the length of a traditional homogeneous array cannot be changed at run time and it can store only one type of data at a time therefore implementation of dynamic list using traditional homogeneous array will result in numerous complications. #4. Describe how an array could be used to implement a queue in a high-level language.
Answer: Take a variable rear and initialize it by 0. Now whenever an item is needed to be inserted then put it at array with the index rear and increment the rear variable by 1. If value of rear is equal to maximum index value then it means that queue is full and no further item can be added. In order to delete an item from the queue take another variable and initialize it by -1. Now whenever an item is needed to be deleted then increment the front variable by 1 and take it from array with the index front.
If value of front is equal to -1 then it means that queue is empty and no further item can be added. #5. Describe a data structure suitable for representing a board configuration during a chess game Answer: A board configuration during a chess game can be represented by a two dimensional array having 8 rows and 8 columns. Let say this array chess[8][8]. The square a1 can be mapped to chess[0][0] (i.e. its position is at 1st row and 1 column) and a8 to chess[7][0]. Similarly for h1 it can be mapped to chess[0][7] and h8 to chess[7][7].
In this way all the 64 squares of the chess board can be mapped on the two dimensional array chess[row index][column index] (CIS@UAB, n.d.). References: Australian Scrum Community (2006)Differences between software development and traditional engineering, [online] Available at: http://www.scrum.com.au/2006/11/22/differences-between-software-development-and-traditional-engineering [Accessed: 11th Sept 2011]. CIS@UAB (n.d.) Chess program board representations, [online] Available at: http://www.cis.uab.
edu/hyatt/boardrep.html [Accessed: 11th Sep 2011]. Devexpress (2011) What is a Dynamic list? ,[online] Available at: http://community.devexpress.com/blogs/rorybecker/archive/2011/02/07/what-is-a-dynamic-list.aspx [Accessed: 12th Sep 2011]. Management (n.d.) Software Estimation, Measurement, and Metrics, [online] Available at: http://www.stsc.hill.af.mil/resources/tech_docs/gsam3/chap13.pdf [Accessed: 12th Sep 2011]. Princeton (1996) Structures, [online] Available at: http://www.cs.princeton.
edu/courses/archive/spr97/cs126/slides/struct.pdf [Accessed: 12th Sep 2011].
Read More