Michael Hernandez Software Engineering Assignment
Added on - 03 Dec 2020
Trusted by +2 million users,
1000+ happy students everyday
1000+ happy students everyday
Showing pages 1 to 4 of 11 pages
Michael HernandezSoftware EngineeringAssignment 11.The differences between software and artifacts produced by other engineering disciplines are asfollows. Software can be used as a product which will deliver outputs as desired by the user. Anartifact is a product which is made by a specific software which can be used to create a certainoperation. Software needs to be installed on any machined to be executed and a artifact is aproduct of software which can be used anytime on any machine. Software does not have physicalproperties because it is entirely made in memory of the computer. However, an artifact can be aphysical entity which can be affected by surroundings, unlike software which cannot. Forexample:Arduino is a software to make robots, to glow LED, or to run a motor etc. But, the programto make these products runs once on the Arduino and then, the product can be used anywhereor anytime to deliver certain operations.A product likecaris aphysical entitybuilt by engineers. But, the engineers will first make ablueprint of thatcarwith the help of asoftwarewhich is a computer program and does nothas aphysical entity.·An artifact which has a physical entity will be affected by temperature, weather etc. But thesoftware which is used to built that product will not be affected by these external conditionsbecause it just resides in the computer memory and it is not a hardware.2.
Computer software must be revised as errors are discovered and corrected. Software must beupdated to accommodate changes in the computing environment that evolve over time. Manytimes, a customer will request changes to add new functions to an existing product as toaccommodate changes in business environment. Sometimes an older system will need to bereengineered to provide benefits to uses in modern context. The bottom line is that software thatdoes not evolve will eventually become unstable.3.The personal software process is a rigorous development process designed to help improveperformance in development by bringing discipline to the process. This process helps improvethe quality of the product and gives developers a skill set they can use to improve planning skills.However, this process has not been adapted widely by the software industry. It has not beenwidely adapted in the industry due to the process being time consuming for the developer tolearn, efficiency and speed are greatly valued in todays market. The cost associated in trainingevery individual in this method can be a limitation to the method. Many times, individuals willhave their own strategies in implementing the process or building software and it will be hard tocontrol the thoughts of each developer. In theory it is good, but the implementation of thismethod has many challenges and external factors.4.Evolutionary models considered by many to be the best approach to software development in amodern context because time lines for the development of modern software are getting shorterand shorter, customers are becoming more diverse (making the understanding of requirementseven harder), and changes to requirements are becoming even more common (before delivery),
we need a way to provide incremental or evolutionary delivery.The evolutionary process accommodates uncertainty better than most process models, allows thedelivery of partial solutions in an orderly and planned manner, and most importantly, reflectswhat really happens when complex systems are built. Benefits are the reducing risk and cost byanalyzing each issue in phases. This will reduce the number of late changes or defects to theproduct.5.The analysis patterns are beneficial to use because it is another time saving process by engineers.analysis patterns have a unique pattern name, which allows the development team to refer tothem with their pattern names. These patterns are stored in a repository so that the softwareengineer can refer to these patterns and reuse them while developing new software. Thisinformation is stored in an analysis template which contains the following sections:Intent:Describes the problem that is addressed in an analysis pattern, which facilitates thesoftware engineer to use analysis patterns in the specified application domain.Motivation:Represents how an analysis pattern can be used to address a particular problem inthe application domain with the help of a scenario.External issues and contexts:Lists the external issues that affect the manner in which ananalysis pattern works. The external issues include business related subjects, external technicalconstraints, and so on. In addition, external issues and contexts specify the external issues thatare to be resolved by an analysis pattern.Solution:Describes the procedure by which an analysis pattern is implemented in the analysismodel.
Consequences:Describes the implementation effects of an analysis pattern into theapplication domain. It also provides a description of limitations that arises during itsimplementation.Design:Describes the procedure of achieving analysis patterns by using the known designpatterns.Known uses:Provides information about the uses of an analysis pattern within the system.6.Content Model. The content model contains structural elements that represent WebAppcontent requirements. It identifies the full spectrum of content to be provided by theWebApp. This content includes text, graphics, images, audio, and video.Functional model. The functional model contains user observable behavior delivered to endusers and operations contained in analysis classes to implement class behaviors. It defines theoperations that will be applied to WebApp content and describes other processing functionsthat are independent of content but necessary to the end user.Integration model. The interaction model indicates how users make use of the WebAppcontent and functionality. It describes the manner in which the user interacts with theWebApp.Configuration model. The configuration model may be a list of server-side and client-sideattributes required for the WebApp. It describes the environment and infrastructure in whichthe WebApp resides.7.