Software Engineering

profilemoe1990
IT242-Assignment1.docx

Assignment 1

Deadline: Saturday 16/2/2019 @ 23:59

[Total Marks for this Assignment are 6]

Software Engineering

IT242

https://www.seu.edu.sa/sites/ar/SitePages/images/logo.png

College of Computing and Informatics

Question One

1.5 Marks

Learning Outcome(s):

LO1: Understand different software processes and how to choose between them.

According to the United States National Institute for Standards and Technology (NIST), Cloud Computing is defined as:

A model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction”.

Based on the above definition, Cloud Computing has three service models known as Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and Infrastructure-as-a-Service (IaaS). By using your own words, differentiate between these three service models and give an example to each one.

Answer:

Cloud Service Model

Explanation and Example

Software-as-a-Service (SaaS)

Explanation:

Example:

Platform-as-a-Service (PaaS)

Explanation:

Example:

Infrastructure-as-a-Service (IaaS)

Explanation:

Example:

Question Two

1.5 Marks

Learning Outcome(s):

LO1: Understand different software processes and how to choose between them.

Generally, process models can be categorized into three main groups namely:

· Prescriptive Process Models

· Evolutionary Process Models

· The Unified Process

Process models group

Process Model Example

Brief description

Pros & Cons

When it is recommend to use it

When it is NOT recommend to use it

Prescriptive Process Models

Specialized Process Models

The Unified Process

Now, provide an example of Process Models of each one of these group explaining when we should use it and when we should not. The following table can help you to organize your answer.

Answer:

Question Three

1.5 Marks

Learning Outcome(s):

LO1: Understand different software processes and how to choose between them.

Software development myths defined as wrong beliefs about software and the process that is used to build it. Today, professional software engineering can easily recognize myths for what they are. However, some old myths remain!

Using your own words, explain why some myths still consider as an issue in Software development supporting your answer with an example of a myth with reality of this myth?

Answer:

Question Four

1.5 Marks

Learning Outcome(s):

LO1: Understand different software processes and how to choose between them.

In these days, when building a software, we are faced with many challenges. In order to overcome these challenges, we need to take into consideration the following statement “software in all of its forms and across all of its application domains should be engineered”.  To achieve this statement, simple realities must be recognized!

 

Using your own words, discuss at least three realities that can achieve the above goal.

Answer:

End of Questions