2.1 Giving reasons for your answer based on the type of system being developed, suggest the most appropriate generic software system that process model that might be used as a basis for managing the development of the following systems: A system to control anti-lock braking in a car A virtual reality system to support software maintenance A university accounting system that replaces an ex isting system An interactive travel planning system that helps users plan journeys with the lowest environmental impact
A system to control anti-lock braking in a car -The most appropriate generic software for a system to control anti-lock braking in a car is Waterfall Model because of the safety-critical system. We need to design a perfect system with no errors since mat lead to a life threatening situatin. In Waterfall Model, the plan and schedule of o f all the process activities must be starting before can implement the work. Unit testing involves verifying that each unit meets its specification. This is important to ensure that there is no error while the cars performing it function properly. If the errors or problem are not identified at the early stage, it will be very dangerous for the user.
A virtual reality system to support software maintenance -While for a virtual reality system to support software maintenance, the most appropriate generic software is incremental development because the requirements would be hard to determine in advance. Software comes in many versions, to be updated; software must be maintain regularly to ensure the version is adequate and meet the demand of the customer.
A university accounting system that replaces an ex isting system -For the university accounting system that replaces an existing system is waterfall model. The requirement must be stable because it is replacing an existing system. If there are existing component that are usable, then reuse development would also be appropriate.
An interactive travel planning system that helps users plan journeys with the lowest environmental impact -Last but not least, an interactive travel planning system that helps users plan journey with the lowest environmental impact is suitable to use incremental Model. Because the system will have a complex user interface but it must be stable and reliable. An incremental development approach is the most appropriate as the system requirements will change as real user experience with the system gained.
2.2 Explain why incremental development is the most effective approach for developing business software systems. Why is this model less appropriate for real-time systems engineering? Incremental software development is a fundamental approach of agile approaches and it is better approach than waterfall model and the most suitable for business software software system. Since the business e software system is usually the complex, and need frequent changes when the goals and process are changed. By developing the software incrementally, the cost is cheaper and easier to make changes to the software as it being developed. This model is less appropriate for real-time systems engineering since it usually involve many hardware components which are not easy to change incrementally. Also real-time system usually safety critical which need be built based on well planned process. 2.10 Historically, the introduction of technology has caused profound changes in the labor market and, temporarily at least, displaced people from jobs. Discuss whether the introduction of extensive process automation is likely to have the same consequences for software engineers. If you don’t think it will, explain why not. If you think that it will reduce job opportunities, is it ethical for the engineers affected to passively or actively resist the introduction of this technology?
Due to the introduction of extensive process automation, they have the potential to reduce the human error in creation of code and made it meet the precise syntax and other constrains. It also has the potential to produce similar or better software than that produced conventionally by relatively scarce skills software development talent and of course will reduce the cost.
Automation will lead to a huge use of standardized components, and thus increasing software reliability and lessen the cost for future software maintenance. Software e engineers will be recognized because of the production of the less- interesting, reduce more mechanical task software that engineers have to perform and thus can lead them to be more creative in the task they was assigned. Not to be forgotten, automation also assists software to address the primary issues in the software development process such as complex ity, reliability and productivity. This effect is different when mention about labor market. Since the automation will lessen the need of human sensory and mental requirements of work. In In
a wide range industries beyond
manufacturing like telephone operators, the electrocardiography or radiography used in medical process and Automated teller machine have reduced the need of human intervention.