You are on page 1of 14

SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING

Software Development Methods in Software Engineering

Joshua M. Avalos

The Pennsylvania State University

Author Note

Joshua M. Avalos, Undergraduate Student in the College of Engineering, The

Pennsylvania State University.

This research is being conducted as a special honors assignment with CMPSC 200 in

association with the Schreyer Honors College.

Communication regarding this paper should be addressed to Joshua Avalos at 028

Atherton Hall, University Park, PA 16802. Contact: jqa5409@psu.edu.


SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING
2

Abstract

This paper explores three software


development cycles: the V-Model, the
Iterative Model, and the Spiral Model. The
following research aims to explain these
cycles to beginner-level Computer Science
students. While many engineers have never
heard of it, the V-Model is extremely
profitable and constructive. Its modeling
allows software engineers to use its
chronological path of process execution in
order to appropriately make a functioning
operation. The Iterative Model and the Spiral
Model are similar in terms of their
path-making. Among other things, the
V-Model, the Iterative Model, and the Spiral
Model’s strengths, weaknesses, and various
uses and abilities are each discussed in this
paper. Additionally, this paper reflects on
various experiences in a MATLAB Computer
Science class and analyzes a 2018
Pennsylvania State University Capstone
Project.

Keywords: ​v model, integration,


verification, validation, iterative, spiral, risk,
programming, penn state, computer science,
capstone.
SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING
3

Table of Contents:
1. V-Model
1.1. Definition
1.2. Applications
2. Iterative Model
2.1. Definition
2.2. Applications
3. Spiral Model
3.1. Definition
3.2. Applications
4. Experiences in Computer Science 200
5. Computer Science Capstone Analysis
6. Conclusion
SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING
4

1. The V-Model itemize specific details of each part of a


software project using both verification stages
In this section, the V-Model is defined and and validation stages to create a well-founded
analyzed for its various applications. software unit. Ultimately, the end user set
defines the products termination and if it
1.1 Definition satisfactorily meets all of its needs. Finally, a
distinction must be made between verification
The V-Model is an alternative form of the and validation. Verification is evaluating the
traditional Waterfall Model used for software process at a certain phase to observe if it
development processes. Originally, the meets the specified design requirements, while
Waterfall Model, introduced by computer validation is evaluating the entire project to
scientist Winston W. Royce in 1970, was determine if it meets business requirements
made as a developmental process that (Halpin, 2003).
emphasized a steady progression through the The following stages are under the
maturation of a software. This process aids verification unit of the model. It is interesting
software engineers to develop dependable to note that after each of these stages,
code for their customers to ensure the least programmers using the V-Model create the
amount of instability. As shown in Figure 1, corresponding tests for that part of the
the Waterfall Model forms its software by program that are found in the validation unit
moving down cascading steps. to implement them later in the process.

Figure 1. Progression of Waterfall Model Figure 2.​ The V-Model (Powell-Morse, 2017)
(Powell-Morse, 2017)
Concept of Operations is a foundational
The sequence is as follows: system document that describes the main purpose of
engineering, analysis, design, code, testing, the software by using interviews from
and maintenance. Likewise, the V-Model potential and trial users. This document is
follows a similar path: it initially requires drafted to analyze the needs of the user with
elicitation. Once this is complete, the software the purpose of shaping a quintessential picture
is designed and coded. It is then tested, of what the program should turn out to be.
verified, and validated, and it is then used and Ultimately, this requires excellent requirement
maintenance is done on it as needed. elicitation: a true engineer knows exactly what
The main objective of all of these to ask in order to lure out the important details
stages (which, in theory, are meant to be of the project. One of the benefits of this
followed semi-strictly) in this model is to system is that it makes the end goal of the
SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING
5

program extremely clear. It specifies all of the


details of the project before it progresses into 1.2 The Value of the V: Applications
a design stage in any way. This leaves little
leeway for creative inspirations (that could For exceptionally-disciplined work, the
potentially cause disruptions) along the way. V-Model is the ideal solution. Of course, it
The Requirements and Architecture does depend on project size and its original
does not determine how the software is going specifications. It offers a small, step-by-step
to be constructed, but instead documents the concept for everyone involved in the process
initial needs mentioned in the Concept of to reference and understand. Even in terms of
Operations and analyzes what is required to a program such as MATLAB, the V-Model
help eliminate the needs. This list will include can manage a coder’s every action when
more detailed information such as data layers, dealing with a specific project. For example,
business logic, technical hardware, and using its stage-by-stage testing in MATLAB
software components. Finally, the Detailed would allow the programmer to understand
Design, often referred to as the high- and where possible errors might happen in the
low-level design phases, links up all of the broader spectrum before they happen in the
components and ties together all of the specificities of the code.
technical loose ends that exist with the code. Additionally, the model’s clear outline
This often includes writing up integration and allows bigger companies the chance to use the
unit tests to use after the implementation and different stages as milestones for due dates or
writing. The step-by-step writing of the process markers. This can be viewed as a
instruction manual and the code itself does not differently formatted Gantt chart (a bar chart
allow for any creative liberty or shortcuts, in that shows a project schedule). Conversely,
turn allowing a possibly slower but the V-Model is a substandard fit in some
better-quality result (Mohammed, Munassar, circumstances. For example, the biggest
& Gorvardhan, 2010). complaint about the model is that a simple
The validation unit of the model change to one of the Requirements and
consists of three additional stages to test the Architecture analyses could ruin the entire
product. First comes the unit testing which process. The model does not fluidly work with
eliminates the majority of issues that the dynamic changes to the beginning stages. If
program can run into: logic and syntax errors. the process adapted more easily to new
Of course, with more complex projects, it advancements in the desires of a certain
takes a long time to test all scenarios for a customer, the model would be more readily
perfectly running program. Next, the System utilized than it currently is.
Testing ensures that the program can work This model works within the medical
across all intended platforms and with all industry. The Food and Drug Administration
intended third-party associations. After being (FDA) even recommends the use of the
verified and validated, the program is then put Verification and Validation documentation
into operation where the program is deployed model (also known as the V-Model), stating,
to the intended users. This is where it is “this section recommends the type of testing
supposed to work flawlessly towards whatever documentation you should include in a
goals it is told to accomplish. premarket submission for a Software Device”
(Center for Devices and Radiological Health,
Center for Biologics Evaluation and Research,
2005). The reason that this governmental
SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING
6

entity advocates for the use of the V-Model is As each stage of the life cycle can be
specifically to address the level of concern for performed using various methodologies and
the case. The FDA defines ​Level of Concern project management processes, the model will
as “an estimate of the severity of injury that a be flexible to support the implementation and
device could permit or inflict, either directly integration of preferred methodologies into the
or indirectly, on a patient or operator as a framework” (McCaffery, Donnelly, Dorling,
result of device failures, design flaws, or & Wilkie, 2004).
simply by virtue of employing the device for The V-Model is a useful organizational
its intended use.” The FDA’s job is to control tool that helps anyone from small-scale coders
and to mitigate hazards in its respective field, to large medical device manufacturers avoid
and by using the V-Model, they are able to obstructions in their overall creation process.
oversee every step of each of their processes The gradual climb down the verification
to completion in order to verify and validate stages and back up the validation stages
its quality (Center for Devices and allows for a slow, controlled molding of
Radiological Health, Center for Biologics extremely specific code, typically ending up
Evaluation and Research). with a perfected result. As a result of this,
In the Institute of Medicine’s however, many find it excessively slow and
November 1999 issue, To Err Is Human was choose to incorporate different methods. This
the highlight of the journal. This article lack of speed deters both small and large
discussed building a safer health system in the groups from using it. Just like other fields of
United States, specifically regarding systems business, coding is no different: some groups
and software equipment. It states that “care in want the job done yesterday, so any process
the United States is not as safe as it should be that does not completely guarantee the success
‑ and can be. At least 44,000 people, and of their system and slows it down in the
perhaps as many as 98,000 people, die in process is vetoed from the creation process
hospitals each year as a result of medical immediately. In fact, the V- Model is not a
errors that could have been prevented” (Kohn, complete warranty for any system to work
Corrigan, & Donaldson, 2000). McCaffery, perfectly. As Robert O’Keefe states in his
Donnelly, Darling, and Wilkie, authors of A article on verification and validation in expert
Software Process Development, Assessment systems, “verity, validity, and credibility does
and Improvement Framework, for the Medical not guarantee a useable, let alone useful,
Device Industry believe that the reasoning system. A system may be unusable, for
behind this is the lack of process example, because its response time is too slow
implementation in modern healthcare or the interface is too complex.” Overall, the
facilities. V-Model can be used well in some
The authors see that the complexities circumstances, but it surely is not suitable for
of internal and external medical devices are all problems in software engineering.
almost incomprehensible. Half way through
the article, the V-Model is mentioned as a 2. The Iterative Model
possible remedy for these types of problems.
They state that, “the framework [of the In this section, the Iterative Model is defined
V-Model] will… ensure that developed, and analyzed for its various applications.
reused, or off-the-shelf software satisfies
functional, operational, and regulatory
requirements throughout the system life cycle.
SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING
7

executed. Once specifics are properly


2.1 Definition designed via the end user’s desires, they are
inserted into the project. This creates a rough
The Iterative Model is much different from sketch of what the entire system will look like
both the V-Model and the Waterfall Model in when it is complete. After implementation, the
both its organization and its intended use. One system is then run through a series of
main difference between this model and other operations to verify and test its progress.
models is that it does not start with a full list These operations can vary from project to
of specifications or requirements for the project; the tests depend on what that part of
project it is intended for. the program was intended to do. Finally, it is
evaluated by the creators, business partners,
and any stakeholders. This allows those
involved to analyze where the project should
be and to compare it to its current situation,
targeting specific goals for the next time
around the loop to make the system better and
stronger the more times it completes loops
around the model. After it has completed
enough loops around the model and has
reached its pinnacle of success, able to
Figure 3. The Iterative Model (Powell-Morse, execute all operations it was designed to
2017) perform, it will be implemented and deployed
into its intended field to be used appropriately.
Instead, the process starts with a small portion
of the project already in mind and arranges it 2.2 Integrating the Iterative Model:
in such a way that it is easy to build upon the Applications
idea. It is almost like painting a picture: one
starts with rough sketches, then moves on to Project Mercury was the first human
filling in your picture with color, and finally, spaceflight program started by the United
erases the rough marks and edges to complete States. The main goal was to safely send a
the painting and sell it or display it. The man into space before any other country.
Iterative model works the same way; it starts While the U.S. was not the first, America
with initialization and planning, and after a achieved their goal of sending a man into
few cycles of rebuilding and refining the idea, space and bringing him back in good
it will be ready to deploy from the condition. This task was accomplished using
initialization and planning stages to the the Iterative Model. Craig Larman, a Canadian
implementation stage. The requirements phase computer science specialist, wrote about the
follows the initialization and planning stages project, saying, “Project Mercury ran with
and allows the specifications to be roughly very short (half-day) iterations that were time
gathered for the first part of the project. This boxed. The development team conducted a
could be known as the outline of the “rough technical review of all changes, and,
draft” for one’s software. Following this, the interestingly, applied the Extreme
design stage regulates the existing draft; this is Programming practice of test-first
where business logistics that are required to development, planning, and writing tests
complete the project are contemplated and
SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING
8

before each micro-increment” (Larman & in making the ultimate product. Project size
Basili, 2003). does not matter in this model as much as it did
As seen here, the U.S.-run project used in the V-Model because it is much easier to
the model in an extreme way, completing split up separate tasks for different groups
entire loops of the model in half of a day. with the intention of completing a loop at a
Humorously enough, NASA did not realize quicker, productive rate.
they were using this model. Gerald M.
Weinberg, a scientist who worked as a team 3. The Spiral Model
member for Project Mercury, said this about
the model, “all of us, as far as I can remember, In this section, the Spiral Model is defined and
thought waterfalling of a huge project was analyzed for its various applications.
rather stupid, or at least ignorant of the
realities... I think what the waterfall 3.1 Definition
description did for us was make us realize that
we were doing something else, something The Spiral Model is an amalgamation of
unnamed except for ‘software development’” iterative development and the waterfall model.
(Larman & Basili, 2003). It places a large emphasis on risk analysis,
This method is useful in the sense that allowing for continuous enhancements
it is continually improving on an old design. throughout the process. As the name implies,
When flaws are spotted in programming errors the model works in a spiral-like pattern. A
or when the final product does not match the project is run through each of its four stages,
original project description, the development and once one spiral is completed, it repeats the
is easy to reestablish at equilibrium before stages again in a way that reflects the cardinal
continuing to work on it (Kruchten, 2002). It concepts yet evolves it into a more substantial
is also incredibly useful because smaller entity.
iterations and changes to different parts of the
system are more cost effective than large
changes in the plans later on in development.
However, this can be a downfall for
projects that require purchasing equipment,
tools, or resources because the software
engineers are not able to plan accordingly and
buy in bulk. Instead, they may run out of
supplies and are forced to spend money more
regularly buying parts a few at a time in order
to meet the demand as needed. Its agile
adaptation allows for better communication
among smaller teams, especially when under
time crunches like NASA’s “half day” Figure 4.​ The Spiral Model (Font, 2015)
iterations. Finally, another aspect to the model
is that it openly accepts user feedback during Planning is the first stage in The Spiral
every phase. Sometimes this can lead to a Model. In this increment, the requirements for
slower development because different parts of the project are analyzed and retrieved.
each process are being refined during every Additionally, a feasibility study is run to
phase. Simultaneously, this can be beneficial ensure all of the requirements can be met. At
SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING
9

the end of this stage, a finalized list of strategies.” ("Directive Number 5000.01",
requirements is published; workers should 2003, p. 3) The DoD’s main goal is to
abide by this list until the next spiral can be integrate new technology into current systems
made. The next phase is risk analysis. Risks as efficiently as possible. They recognize that
are simply situations that could threaten the an evolutionary strategy is the best approach
success of the project. Now that the for this, reconstructing a new program from an
requirements are noted, they are studied and old or current one, spiraling through the
examined in order to identify potential risks construction phases to ultimately reach the
that might threaten the stability of the project. final product. DoD Instruction 5000.2 states
If risks are detected, risk mitigation strategy is that “technical risk management should
implemented to minimize the threat while also address risk identification, analysis, mitigation
attempting to prevent any impairment of the planning, mitigation implementation, and
requirements. After this, the developmental tracking.” ("Instruction Number 5000.02",
stage is activated. The software is engineered 2015, p. 88) With extremely large projects like
and tested. In the next stage, the evaluation, those handled by the DoD, they need to be
summary and defect reports are reviewed and cautious when sharing information. They
showed to the end-user to analyze the rough thoroughly implement the model and take full
draft of the project and change any of the advantage of the risk analysis portion of the
necessary requirements in the project before spiral. By doing this, they are able to handle
starting a new spiral iteration. information securely but efficiently.
Unlike the iterative model, the next This method is useful for larger
spiral iteration is a complete expansion on the projects because it incorporates the multi-step
last one. All of the requirements are built upon process of the Iterative Model. Especially for
a larger scale, risk analysis is performed with larger projects, the outcomes are much better
a larger product in mind, and design and if the Spiral Model is used because the
evaluation are performed with a greater Iterative Model starts with a partial list of
attention to detail. requirements and edits them as needed,
ultimately transforming it into what is needed.
3.2 The Spiral Model: Applications This gives the project a two-dimensional
quality; it simply changes what needs to be
This model is best effectuated in large projects changed in order to fit the final specifications.
because of its ability to begin small and The Spiral Model continuously adds to its list
controllably grow into a larger product. of specifications as the project grows, giving it
Current Department of Defense (DoD) a three-dimensional quality and allowing the
acquisition policy in Directive 5000.1 states smaller foundations of the project to be built
that “advanced technology shall be integrated and assessed, turning them into a large
into producible systems and deployed in the foundation. At the same time, the other
shortest time practicable. Approved, aspects of the project are growing at the same
time-phased capability needs matched with rate, ultimately allowing an impressive
available technology and resources enable software package to be created.
evolutionary acquisition strategies. The Spiral Model also has its
Evolutionary acquisition strategies are the downsides. While it is beneficial for larger
preferred approach to satisfying operational projects, it takes too much time and resources
needs. Spiral Incremental development is the to implement for smaller projects. Smaller
preferred process for executing such projects are better off with the V-Model,
SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING
10

Waterfall Model, or perhaps the Iterative Set ahead of time before the quiz. Statistically,
Model. Additionally, this model may go on when I did this, I scored an average of 30%
infinitely for large projects. Not only do all of higher on my quizzes. This is because I not
the intermediate phases require more only listened to the lectures, but I applied the
documentation, causing more time to be spent lessons directly afterwards by working ahead
on composition, but the spiral may never on the Problem Set. This solidified the
reach a status where the end-user is happy information in my brain and allowed me to
with the project, thus trapping the Spiral fully comprehend the concepts. One of my
Model in an endless loop (Vijay, "Spiral biggest mistakes in this course was not doing
Model"). this for every quiz to aid my understanding of
the course.
4. Experiences in Computer Science 200 Regarding problem solving approaches
in the course, it is easy to over-complicate the
Computer Science 200 is a beginner-level program that one is trying to create. The best
coding course offered at Penn State. In this method of problem solving is to return to the
class, students learn the programming basics of the code and to add one line at a
language MATLAB, which stands for Matrix time. If one attempts to process every single
Laboratory. This programming language is line of code in their mind at once, it often
used often in science and engineering fields. becomes confusing and hard to keep track of,
Before this course, I had never taken a coding even for a 10 line program. No matter how big
course before. As one could imagine, I was or small the project, it is typically useful to
worried and unsure of how well I would review the basics of the program before
comprehend the material. After each week of starting. Additionally, it is also beneficial to
the course, I became less worried and more create pseudocode for the program one wants
confident in my ability to code in MATLAB. to write, effectively planning ahead for your
This confidence in coding has improved my code. Pseudocode is a verbal description of
other academic skills as well. This course code; it is the bridge in between verbal
taught me to take a step back and to recall the language and programming language. It
basics of the material. This newfound learning allows a software engineer to have an outline
technique directly applied to my Calculus 2 of the code in bullet point or paragraph form,
class that I took concurrently with this course. and to use that outline as a reference when
By going back to the basics on the calculus writing the code. As aforementioned, it is
quiz problems I was able to solve the difficult to keep track of more than a few lines
problems given to me and to achieve higher of code, so doing this helps to summarize
grades. Returning to the basics will ultimately every step so that the programmer does not
land one at the solution to their problem, no need to keep track of everything at once
matter its level of difficulty. Moreover, the level of difficulty for
Every week Computer Science 200 writing computer code does not depend on its
students are given a Problem Set that they are length. For example, the code below solves a
expected to complete during the first class differential equation in just five lines, yet the
session of the week. On this day prior to the formatting is involved and it may take a few
Problem Set working-time, however, there moments to understand what is occurring. The
was also a quiz that tested if the student had formatting requires single quotes around the
learned the basics from the lecture. I would ‘Dy’ and ‘Dx’ equations, as well as single
suggest for future students to do this Problem quotes around the y(0) and x(0) variables and
SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING
11

their corresponding values. The programmer


also has to remember to declare the variables
‘x’ and ‘y’ as symbols prior to utilizing them. 5. Computer Science Capstone Analysis

syms ​x​ ​y Logan Stack is a Junior studying Computer


one = ​'Dy == -y + 3*x'​; Science at Pennsylvania State University. He
two = ​'Dx == 4*x - 2*y'​; proactively enrolled in a required senior
[sys1, sys2] = dsolve(one, two, capstone course, Computer Science 483W.
'y(0) = 2'​, ​'x(0) = 1'​) The client that he and four seniors were
assigned to was named Brian Shippert, a State
Other code can be much longer than College intensivist (a doctor specializing in
this, but at the same time it can be extremely emergency medicine). After he and his group
simple. Note the simplicity in the nine lines of of physicians are done with procedures, they
code illustrated below. The first four lines typically write their working hours on a
describe the ‘A’ and ‘b’ variables, the fifth scheduling sheet in pencil. Of course, fatigue,
and sixth lines find the inverse from these two human error, and recall bias all play a role in
values in different ways, and the seventh line potential faulty memory of the times worked.
prints the conclusion for the problem (this one Additionally, the government requires a more
was about shipping packages). While it is concrete timestamping system as evidence that
longer than the last one, it is relatively simple their hours were accurate. As their capstone
in both formatting and content. project, Logan’s team was asked to develop an
iPhone app to solve these problems.
A = [10 25 50 While developing this app, the team
10 -1 0 didn’t necessarily aim to use a specific
0 25 -500]; software development model. Instead, they
b = [5700; 0; 0]; started where they felt was best, with the
x1 = inv(A)*b; project’s requirements. Ultimately, they ended
x2 = A\b; up ascribing to the Waterfall Model. Logan
fprintf('There were %i light, describes it as more of “an instinct rather than
%i medium, and %i heavy a distinct following of guidelines.” The model
packages shipped.\n', x2) worked very well for the team, but not without
the help of a Gantt chart to organize all of the
One software development project information. This included project start
methodology that I most closely identify with times, finishing deadlines, progress
is the Spiral Model. In my professional life, I percentages, weekly reports, and presentation
tend to work on projects in small increments schedules. Due to the fact that they are all
until I know what I am doing and how I can busy students, the group also added leeway
best dedicate myself to it. Once I am able to into their chart to give them flexibility in the
contrive a decent plan, I then foresee the risks, creation of their app.
develop my plan further to suit those risks, While there was a $1000 budget from
and finally plan for what I am going to do next the Penn State Computer Science Capstone
for the project on a larger scale. This follows department, they didn’t use any money thus
the Spiral method, and thus I enjoy using it in far for the project, because all of the work has
many aspects of my life. been done via free editing software. The
project itself was written in Swift, which is
SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING
12

Apple’s specialized programming language. with. They learned it as they went until they
The visual aspects of the app were presented fully understood the language and could write
to the client using a program called Marvel. the rest of the app in it fluently.
The team used this program’s drag-and-drop The app is currently near completion.
interface to show the client what his app The only thing that Logan is still working on
would look like once they coded it. They met is implementing the app with a secure server
with him once a week for an entire semester to in order to abide by HIPAA and other health
show him what they had worked on and ask confidentiality restrictions. Their biggest
for his input on what was developed so far. problem is finding a cheap yet reliable
database to store the client’s information on.
Throughout the process, Logan states that he
learned how to effectively work and
communicate in a professional environment,
especially in speaking with Dr. Shipman.
Moreover, Dr. Shipman expresses regularly
how satisfied he is with the work that has
been completed.

6. Conclusion

In this deliverable, the V-Model, the Iterative


Model, and the Spiral Model were all
analyzed using their definitions and their
applications. Then, the author’s experience in
Computer Science 200 was discussed. Finally,
a Penn State Computer Science Capstone
Project was explained using the terminology
and techniques discussed in this deliverable as
guidelines for a fair assessment.

Figure 5.​ Completed Timer Page

While the visual part of the app was


relatively basic, the coding part was where his
team ran into problems. None of them knew
how to code in Swift. Fortunately, Logan and
his team of expert student programmers found
the language to be docile and easy to work
SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING
13

References Kohn, L., Corrigan, J., & M. D. (2000). To Err


Boehm, B., Brown, W., & Turner, R. (2005). Is Human. National Academy Press.
Spiral development of doi:10.17226/9728
software-intensive systems of systems. Kruchten, P. (2002, October 15). Planning an
Proceedings of the 27th international Iterative Project. Retrieved February
conference on Software engineering - 14, 2018, from
ICSE 05​. https://www.ibm.com/developerworks/
doi:10.1145/1062455.1062628 rational/library/2831.html.
Center for Devices and Radiological Health, Larman, C., & Basili, V. (2003). Iterative and
Center for Biologics Evaluation and incremental developments. a brief
Research. (2005, May 11). Guidance history. ​Computer,36​(6), 47-56.
Documents (Medical Devices and doi:10.1109/mc.2003.1204375
Radiation-Emitting Products) - McCaffery, F., Donnelly, P. K., Dorling, A.,
Guidance for the Content of Premarket & Wilkie, F. G. (2004). A Software
Submissions for Software Contained in Process Development, Assessment and
Medical Devices. Retrieved January Improvement Framework, for the
26, 2018, from Medical Device Industry. IQ
https://www.fda.gov/MedicalDevices/ Solutions. Retrieved January 26, 2018,
DeviceRegulationandGuidance/Guidan from
ceDocuments/ucm089543.htm. https://ulir.ul.ie/bitstream/handle/1034
Completed Timer Page [Personal photograph 4/2153/2004_mccaffery.pdf?sequence
taken on Logan's iPhone]. (2018, April =2.
13). Mohammed, N., Munassar, A., & Gorvardhan,
United States of America, Department of A. (2010). A Comparison Between
Defense. (2003). ​Directive Number Five Models Of Software Engineering.
5000.01. ​Retrieved March 16, 2018, International Journal of Computer
from Science Issues, 7(5). Retrieved January
www.esd.whs.mil/Portals/54/Documen 23, 2018, from
ts/DD/issuances/dodd/500001p.pdf. http://ijcsi.org/papers/7-5-94-101.pdf.
Font, V. M., Jr. (2014, December 26). Spiral O'Keefe, R. M., & O'Leary, D. E. (1993).
Model. Retrieved March 16, 2018, Expert system verification and
from validation: a survey and tutorial.
http://ultimatesdlc.com/spiral-model/. Artificial Intelligence Review, 7.
Halpin, V. (n.d.). Verification vs. Validation. Retrieved February 13, 2018, from
Retrieved from https://msbfile03.usc.edu/digitalmeasu
www.iigsystems.com/pdf/Verification res/oleary/intellcont/ES-Verification-v
%20vs%20Validation.pdf. alidation-2.pdf.
United States of America, Department of Powell-Morse, A. (2016, December 08).
Defense. (2015). ​Instruction Number Waterfall Model: What Is It and When
5000.02. ​Retrieved March 16, 2018, Should You Use It? Retrieved January
from 25, 2018, from
www.esd.whs.mil/Portals/54/Documen https://airbrake.io/blog/sdlc/waterfall-
ts/DD/issuances/dodi/500002_dodi_20 model.
15.pdf. Powell-Morse, A. (2016, December 15).
Iterative Model: What Is It And When
SOFTWARE DEVELOPMENT METHODS IN SOFTWARE ENGINEERING
14

Should You Use It? Retrieved


February 14, 2018, from
https://airbrake.io/blog/sdlc/iterative-m
odel.
Powell-Morse, A. (2016, December 26).
V-Model: What Is It And How Do
You Use It? Retrieved January 24,
2018, from
https://airbrake.io/blog/sdlc/v-model​.
SDLC Spiral Model. (2018, January 08).
Retrieved March 16, 2018, from
https://www.tutorialspoint.com/sdlc/sd
lc_spiral_model.htm.
SDLC V-Model. (n.d.). Retrieved January 26,
2018, from
https://www.tutorialspoint.com/sdlc/sd
lc_v_model.htm.
V. (n.d.). Spiral Model. Retrieved March 16,
2018, from
http://www.softwaretestinghelp.com/s
piral-model-what-is-sdlc-spiral-model.
V-Model. (n.d.). Retrieved January 26, 2018,
from
http://www.onestoptesting.com/sdlc-m
odels/v-model.asp.
V-Model (Software Development Life Cycle).
(2014, November 29). Retrieved
January 26, 2018, from
http://www.softwaretestingclass.com/v
-model/.

You might also like