StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Model-Driven Software Engineering in Practice - Report Example

Cite this document
Summary
This report "Model-Driven Software Engineering in Practice" discusses the chosen software development process model as the spiral model. It is similar to the incremental model though much emphasis is placed on risk analysis (Sommerville 2007: 17)…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER92.1% of users find it useful
Model-Driven Software Engineering in Practice
Read Text Preview

Extract of sample "Model-Driven Software Engineering in Practice"

Software engineering Software engineering How the goals of software engineering are supported by chosen software development process model The chosen software development process model is the spiral model. It is similar to the incremental model though much emphasis is placed on risk analysis (Sommerville 2007: 17). It is composed of four phases that include: Planning Risk analysis Engineering Evaluation A software project has to pass through these phases in spirals. The requirements are first gathered in the planning phase. The second phase encompasses risk analysis where a process is undertaken to identify the underlying risks and find the best solutions. It ensures that it produces a prototype at the end of this phase of risk analysis. At the engineering phase, software is produced and it is tested at the end of this phase. The last phase entails evaluation of the project’s output before the continuation of the project to the next phase. This software development ensures that the goals of software engineering are fulfilled. i. Readability This is crucial in ensuring that the software designed is easily readable and understandable. Spiral model ensures that this goal of software engineering is met through appropriate and proper documentation. The model ensures that each of the four phases is well documented and explained. This ensures that incase any change happens in the future, the change can be easily understood and it would be easy to understand what to expect from the phases that are involved in the spiral development process model (Tsui, Karam, & Bernal 2014: 123). ii. Testability It is important for the developed software to be easily testable thus ensuring that in the event of any error occurring, it is easier to understand and trace the origin of the error. In so doing, it is not necessary to retest the entire software again. Due to the phases that occur in the spiral model, it is easier to test each phase separately before progressing to the next phase. This ensures that the output that each phase gives is gauged separately and in the event of an error in each phase, the origin of the error can be easily traced. iii. Flexibility It is important for the software to be flexible enough to ensure that it comfortably handles all the aspects that it is meant for. Considering that the spiral process model involves various phases, the engineers ensure that each phase comes up with an output that it is required (Brambilla, Cabot, Wimmer, & Publishers 2012: 100). It enables the engineers to come up with creative software and ensures that customers are able to evaluate the output of the project before getting into the next spiral. iv. Correctness The spiral development ensures that there is the development of the correct model because each phase is conducted and errors checked before progressing to the next phase. Moreover, the evaluation phase ensures that the customers give their feedback before the engineers move on to the next spiral. v. Maintainability The spiral development model ensures easy maintenance of the software developed once it is used. It enables for constant checking of errors in each phase before progressing to the next phase. The software developer also undertakes risk assessment to assess the applicable risks and how to solve them (Jalote 2008: 189). This increases the maintainability of the software developed. Commercial risks and risk management for software system required in the case study It is important for the project to minimize the possible risks that may occur that could result into the project being more expensive than required. That is why the spiral model is important since it is able to assess the risks that might occur and come up with the best solution to the risks provided. There are various risks that may occur in this scenario and it is upon the software developer to assess them and come up with a solution. Time: it is a risk that is involved in this project. The reason is that the GIC training center needs new software to handle the timetabling of the courses (Otero 2012: 342). The software should be developed at the required time to prevent inconveniences on the part of the training facility. Budget: it is important for the institution to decide on the required budget of developing the software before embarking on it. The reason is that it is unfortunate to commence the project then leave it halfway due to inadequate resources. This can inconvenience the institution since the software is required in the training center to handle the timetabling of courses. Technology: since the software will be responsible for many activities that are involved in the timetabling process, it is important for the software developer to keep abreast with the advanced technology. Considering that the training center has 20 different short-term certification courses, the software developed need to be effective and advanced technology will go a long way in ensuring this. Moreover, the timetabling process should come up with course timetables, room timetables and the timetables meant for the teaching staff. This adds to the need of ensuring that the software developed incorporates advanced technology. Team: individuals who are going to work in collaboration to develop the software should be carefully selected (Mall 2009: 189). The reason is that these are the people who can make or break the training center. If they develop an effective and time-bound software, then the center’s operations are likely to move forward with little or no hindrances at all. Quality assurance- it is upon the software developers to assure the centre that they are likely to produce the highest quality software that would enable the normal operations of the center to run smoothly. To control the risks observed, it is important to conduct a risk assessment, and evaluation. Since the model in use here is the spiral model, it ensures that it has a phase of risk assessment where the potential risks are assessed and possible solutions identified. The developers have to conduct the risk assessment to determine whether they should continue with the software development or they should stop it abruptly (Sage & Rouse 2011: 288). If the risks identified surpass the benefits, then stopping the project would be the most noble things to do or else risks disrupting the normal operation of the centre. The developer might even examine possible alternatives. Social, legal, ethical, and professional issues for software development Social It is important for the software developers to take responsibility for the software innovations that they come up with. The society in which the software development takes place is important to consider since they are the ones who will determine the success or failure of the software. In this scenario, the software is being developed in the training center with students and teachers from different cultural and social backgrounds. It is important for the software designers and developers to come up with the software that is likely to fulfill the preferences of individuals from all social and cultural backgrounds. The reason is that incase the developers fail to respect the social and cultural requirements of the society in question in developing the software is likely to create cultural and social conflicts between the individuals involved. To solve and prevent this situation, it is important for the software developers to ensure that teachers and students from various social and cultural backgrounds first use the software and access their feedbacks. The developed software should be beneficial to all society members involved without discriminating based on sex, age, ethnicity, or race. Legal When the project is being developed, it is important for the involved stakeholders to ensure that they develop written policies that will guide the development and usage of the software. The most important issue is privacy and security of the individuals involved. Considering that the software developed is aimed will upload the update copy of the information on the courses of the timetabling system before the commencement of the timetabling process. Thus, it is important to consider the privacy of the teachers and the students using the software for their timetabling. Moreover, since the software will enable the timetable officer to view the information of the staff, course, and room information to be in a position to book a room at a particular time. Thus, this timetabling officer should be aware of the policies that guide him from revealing the staff information because some of the visible information is confidential and might compromise the security of the staff in the event that it gets to the wrong people. Ethical It is important for the software designers and developers to be ethically responsible for their software. The timetabling software that they develop should be aimed at enhancing the good of the users who are the teachers and the students in this scenario. In case of any potential danger that might face the users, it is upon the software developer to reveal to the appropriate authority. Professional The software developed should be conducted with high levels of professionalism. Lack of professionalism in the development of software could lead to inconveniences for the training centre and it could lead to some of its students seeking for training services from other facilities. The software developers should have adequate knowledge on how to organize their team on how to develop an effective software for the training centre. Three of chosen metric are related to their SQF based on McCall’s quality factor and metric model It is important for software developers to consider factors affecting the product of the software. they include: How it is able to change Its adaptation to new environments Its characteristics of operation With this regard, McCall and his colleagues came up with a quality factor and a metric model. Integrity: this is the extent to which unauthorized personnel access to the software is controlled. The number of unauthorized personnel assessing the software could lead to loss of important details in the software or loss of confidentiality. In this scenario, the timetable officer should not permit unauthorized personnel to access the software. The access by unauthorized personnel could result into alteration of the timetabling process, which could lead into inconveniences for the training centre. Maintainability: is the effort that is required to ensure that the software is well maintained. The developed software should be easily maintained and tested for errors. It enables the eliminations of any errors that may arise. The use of the spiral models ensures that each of the four phases is easily maintained and tested for errors to improve its efficiency (Boehm, Lane, Koolmanojwong, & Turner 2014: 678). Efficiency: the software developed need to be efficient and should meet the set requirements with ability of handling errors effectively. The software should be in a position to meet its stipulated tasks at its best. In this scenario, since the software is meant to assist in the timetabling process, it should be in a position to do so without halting the normal operations of the training center. Flexibility: the developed software need to be flexible in achieving more than it is required. It should be in a position to achieve the designed functions and those that it is not designed to meet. The developed software need to ensure the normal operations of the training center by enabling the timetabling process. It should ensure that all the unauthorized personnel are prevented from accessing it. Testability: the software should be easily testable to check for any errors arising. Since the spiral model is conducted in four phases, each phase is independently tested before undertaking the next phase to ensure that errors are eliminated before moving on to the next phase. Portability: the developed software should be developed in such a way that it is easily transferred from one system to another. It is important that the software is used in different systems. This will ensure that incase one system fails, the training center continues its operations as usual since the backup system will ensure that the timetabling continues. Usability: the software used should be in a position to enhance the usability of the authorized users. It should be user friendly so that the timetabling officer is able to navigate through the software with no difficulties. If the usability is simple, then the results will be simple. Though the user need to be conversant with the software despite how difficult it is to navigate, simpler usability of the software even improves the motivation of the user to use the software to achieve the required results. Bibliography Boehm, BW, Lane, JA, Koolmanojwong, S & Turner, R 2014, The incremental commitment spiral model, Addison-Wesley, Upper Saddle River, NJ. Brambilla, M, Cabot, J, Wimmer, M & Publishers, M 2012, Model-driven software engineering in practice, Morgan & Claypool, San Rafael, Calif. Jalote, P 2008, A concise introduction to software engineering, Springer, London. Mall, R 2009, Fundamentals of software engineering, PHI Learning, New Delhi. Otero, C. (2012). Software Engineering Design: Theory and Practice. Computers , 386. Sage, A. P & Rouse, WB 2011, Handbook of Systems Engineering and Management, NY John Wiley & Sons, New York. Sommerville, I 2007, Software engineering, Addison-Wesley, Harlow, England. Tsui, FF, Karam, O & Bernal, B 2014, Essentials of software engineering, Jones & Bartlett Learning, Burlington, MA. Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(“Software Engineering Coursework Example | Topics and Well Written Essays - 2000 words”, n.d.)
Software Engineering Coursework Example | Topics and Well Written Essays - 2000 words. Retrieved from https://studentshare.org/information-technology/1673321-software-engineering
(Software Engineering Coursework Example | Topics and Well Written Essays - 2000 Words)
Software Engineering Coursework Example | Topics and Well Written Essays - 2000 Words. https://studentshare.org/information-technology/1673321-software-engineering.
“Software Engineering Coursework Example | Topics and Well Written Essays - 2000 Words”, n.d. https://studentshare.org/information-technology/1673321-software-engineering.
  • Cited: 0 times

CHECK THESE SAMPLES OF Model-Driven Software Engineering in Practice

How software engineering differs from other fields of engineering

software engineering and other engineering fields Name: Tutor: Course: Date: Introduction software engineering is the discipline covering the study and the application of engineering towards software development.... The discipline can be traced to the 1960s – particularly with reference to the NATO software engineering conference, which was held to explore and provoke exploration of study about the perceived software crisis of that time (Sommerville, 2008)....
3 Pages (750 words) Essay

Software Engineering Term

Ans: Object-oriented design (OOD) is concerned with developing an object-oriented model of a software system to put into practice the identified requirements.... What is object oriented designAns: Object-oriented design (OOD) is concerned with developing an object-oriented model of a software system to put into practice the identified requirements.... Ans: Organisational success depends crucially on whether the software envelopes all the requirements or not....
4 Pages (1000 words) Essay

System Development and Project Management

Previously software development consists of a programmer writing codes to solve a problem or automate a procedure.... An essay "System Development and Project Management" reports that the exponential growth of information all around makes it necessary that information is probably collected, stored and retrieved in various fields so that it could be usefully exploited where and when needed....
4 Pages (1000 words) Essay

HND Computing and Software Engineering

ND COMPUTING AND software engineering 3 In the ill-defined problems, the dilemma regarding what virus might struck in the computer sets, the capability of the manpower to execute the demand, the uniformity of performance of the computer sets in the three branches and other related problems are among those that are to be included in this kind of problem....
10 Pages (2500 words) Essay

Software Engineering for multi-Agent systems

So important and fundamental is the process of requirements engineering that is often the first step in the software development cycle (Browne, 2002).... This paper would perform a critical study and review of the requirements engineering step and explore various concepts and ideas behind this step.... A software application or a software project would have a number of stakeholders, users, beneficiaries or conditions in which it would be used....
20 Pages (5000 words) Essay

Agile software development

The Journal of Defense software engineering, 29-34.... Additionally, in practical scenario test driven development works extremely well as well as it is an excellent practice that should be adopted by all the software developers.... This practice has proven to be very successful for the reason that it is far more fruitful than attempting to write software code in large steps (Ambler, 2013).... ithout a doubt, user story is an excellent practice for determining and identifying what the user needs, however, it does not determine what the user does and how the system responds to user actions within different contexts....
2 Pages (500 words) Assignment

Software Development Methods for White Horse Company

Extreme programming is regarded as the best practice of software engineering disciplines.... However, the scrum method does not support engineering practices.... The following paper entitled 'software Development Methods for White Horse Company' presents the software development process which is a complex process and becomes more complicated especially in the environment where the requirement changes frequently.... hellip; In today's changing world, agile software development is accepted as the best way to deliver high quality and trusted software....
9 Pages (2250 words) Case Study

Report on Instrumentation and Management

… IntroductionThere has always been a tremendous need for an affordable and well-designed electric power wheelchair to the needy.... The importance of electric powered wheelchair which provides the driving force by the help of electric motor on both IntroductionThere has always been a tremendous need for an affordable and well-designed electric power wheelchair to the needy....
8 Pages (2000 words) Assignment
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us