PhiladelphiaUniversity

Lecturer:Dr. Samer Hanna

Internal Examiner: Dr. Mohammad Taye

Coordinator: Dr. Samer Hanna

Software Engineering of Web Systems

(0721422) Section1 First Exam (form A) First Semester of 2015/2016

Date: Monday, Nov.23rd, 2015------Time: 50 min.

Q1) (5 marks)

Choose the correct answer

1. "Accessibility" implies that

a. the WebApplication be designed for users of all ages and genders
b. the Web Application be designed for those who are physically challenged
c. the WebApplication be designed to ensure that even the most causal user understands it
d. all of the above

2. Which of the following statements differentiates WebApplications from conventional software:.

a. Variable presentation technologies
b. Document-centric hypertext interface.
c. Architecture complexity:
d. all of the above

3. Web-based systems are often document-centric containing static or dynamic content.
a. True.

b. False

4. Determining the navigation structure is part of the:

a. Data layer

b. Application layer

c. presentation layer

d. none of the above

5. The very first evolution step in Web applications was:

a. Introducing XML.

b. Introducing new Web servers

c. better separation of content and presentation

d. none of the above

Q2) (10 marks)

The Software Engineering (SE) department at Philadelphia University intends to create a Web application (WebApp) to help students and academic staffs to find the equivalent courses for the students transferring from other Universities to SE.

1. Write the requirement for this Web application (2 marks)

Sol.

The Web App should:

a. enable students and academic staffs to find the equivalent courses for the courses taken at another university.

b. enable academic staffs and students to compare the syllabuses of two course.

c. enable academic staffs and students to print a report of the equivalences.

2. Draw a model for a user interface for this Web App. (1 mark)

3. What will be the main decisions that will be made in the data layer for this application? (Show part of the data). (2 marks)

In the data layer, the developer needs to understand how to best structure the data underlying the application under development, which data formats or database management systems to use, and whether external data sources might be used as well.

For the equivalences Web App, the materials taught in a given courses data will be structured as an XML document, for example the materials of the object oriented course are:

<?xmlversion="1.0"encoding="utf-8" ?>

<courses>

coursename="Object Oriented Programming"

topics

<topicname="Classes" />

<topicname="Objects" />

<topicname="Methods" />

<topicname="Properties" />

</topics

/course

</courses>

The equivalent course for each course in the SE curriculum will be stored in an SQL Server database.

The external data is the syllabuses of the equivalent courses that must be imported from different universities.

4. What will be the main decisions that will be made in the application layer for this application? (Discuss in details)(2 marks)

At the application layer, the developer needs to decide on the programming and markup languages, models, protocols, and application architectures to be used. He also defines the navigation structure of the application, i.e., the paths the user can follow (navigate) in order to explore the content of the application and to enact or use implemented operations. If the application also integrates application logic that is sourced from third parties, remote (Web) services might be used as well.

In the equivalences system; the ASP.NET Web applications development framework will be used. HTML and CSS will be used for presentation; JavaScript will be used for input validation.MVC architecture will be followed. The student can navigate from the equivalences page to the page the compares two syllabuses from different universities. Remote Web services will be invoked to retrieve the syllabuses in different universities.

5. Show part of the HTML code for this Web App. (2 marks)

body

formid="form1"runat="server"

divid="wrapper"style="direction:rtl">

header</header

divclass="content">

h3class="auto-style1"style="text-align: center; font-family: sans-serif; color: white;">قســـمهندســـةالبرمجيـــات</h3

divid="nameTable">

asp:TableID="Table2"BorderStyle="Double"runat="server"HorizontalAlign="Center" BackColor="#66B2FF"CaptionAlign="Right">

asp:TableRow

asp:TableCell

asp:LabelID="lblName"runat="server"Width="100px"Text="اســـــــمالطـــالب :"Font-Bold="true"</asp:Label

</asp:TableCell

asp:TableCell

asp:TextBoxID="txtName" runat="server"Width="320px"ToolTip=" ادخلاسمالطالب"</asp:TextBox

</asp:TableCell

asp:TableCell

asp:LabelID="lblUniv"runat="server"Width="80px"Text="منجامعـــة :"Font-Bold="true"</asp:Label

</asp:TableCell

asp:TableCell

asp:TextBoxID="txtUniv"runat="server"style="text-align: right"Width="320px"ToolTip="الجامعةالتيانتقلمنها"</asp:TextBox

</asp:TableCell

</asp:TableRow

asp:TableRow

asp:TableCell

</asp:TableCell

asp:TableCell

</asp:TableCell

asp:TableCell

asp:LabelID="lblSpec"Width="80px"runat="server"Text="تــخصـــــص :"Font-Bold="true"</asp:Label

</asp:TableCell

asp:TableCell

asp:TextBoxID="txtSpec"runat="server"style="text-align: right"Width="320px"</asp:TextBox

</asp:TableCell

</asp:TableRow

asp:TableRow

asp:TableCell

</asp:TableCell

asp:TableCell

</asp:TableCell

asp:TableCell

</asp:TableCell

asp:TableCell

</asp:TableCell

</asp:TableRow

asp:TableRow

asp:TableCell

asp:LabelID="lblId"width="100px"runat="server"Text="الرقــمالجـــامعي :"Font-Bold="true"</asp:Label

</asp:TableCell

asp:TableCell

asp:TextBoxID="txtId" runat="server"Width="80px"ToolTip="ادخلرقمالطالب"</asp:TextBox

</asp:TableCell

asp:TableCell

asp:LabelID="lblYear"Width="80px"runat="server" Text="للعامالجامعي :"Font-Bold="true"</asp:Label

</asp:TableCell

asp:TableCell

asp:TextBoxID="txtYear"runat="server"style="text-align: right"Width="80px"</asp:TextBox

</asp:TableCell

</asp:TableRow

</asp:Table

</div

br/>

br/>

6. Show part of the CSS code for this Web App. (1 mark)

body

{

background-color: #004E98;

}

#container {

width:800px; height: 650px;

}

#img1

{

height:300px;

width:500px;

}

..

Q3) (5 marks)

1. What is Web service? (Discuss in details) (1 mark)

Web services are implementation of Service Oriented Architecture (SOA) that aims at enabling Web applications to invoke operations exposed by self-contained and self-describingsoftware components.

2. What is Service Oriented Architecture (SOA)? (1 mark)

Aservice-oriented architecture(SOA) is anarchitectural patternin computer software design in which application components provide services to other components via acommunications protocol, typically over a network. SOA consists of service provider, service requester and a registry.

3. What are the main technologies that we will be needed to implement the Web App in Q2 as a Web service? (Discuss in details) (3 marks)

WSDL is used to describe the capabilities or methods of the equivalences Web App

SOAP is used to invoke the operations provided by the equivalences Web service

The equivalences Web service can be published in the UDDI registry so that it can be found by service requesters.

1