Philadelphia University Faculty of Information Technology Department of Software Engineering Examination Key Lecturer: Dr. Samer Hanna Internal Examiner: Dr. Mohammad Taye Coordinator: Dr. Samer Hanna Software Engineering of Web Systems (0721422 ) Section 1 First Exam (form A) First Semester of 2015/2016 rd Date: Monday, Nov. 23 , 2015-------- Time: 50 min. Q1) (5 marks) Choose the correct answer 1. "Accessibility" implies that a. the Web Application be designed for users of all ages and genders b. the Web Application be designed for those who are physically challenged c. the Web Application be designed to ensure that even the most causal user understands it d. all of the above 2. Which of the following statements differentiates Web Applications 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 (Web App) 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. 1 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: <?xml version="1.0" encoding="utf-8" ?> <courses> <course name="Object Oriented Programming" <topics> <topic name="Classes" /> <topic name="Objects" /> <topic name="Methods" /> <topic name="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. 2 5. Show part of the HTML code for this Web App. (2 marks) <body> <form id="form1" runat="server" > <div id="wrapper" style="direction:rtl"> <header></header> <div class="content"> <h3 class="auto-style1" style="text-align: center; font-family: sans-serif; color: white;"><البرمجيـــات هندســـة قســـم/h3> <div id ="nameTable"> <asp:Table ID="Table2" BorderStyle="Double" runat="server" HorizontalAlign="Center" BackColor="#66B2FF" CaptionAlign="Right"> <asp:TableRow > <asp:TableCell> <asp:Label ID="lblName" runat="server" Width="100px" Text=" الطـــالب اســـــــم:" FontBold="true" ></asp:Label> </asp:TableCell> <asp:TableCell> <asp:TextBox ID="txtName" ></asp:TextBox> </asp:TableCell> runat="server" Width="320px" ToolTip=" "الطالب اسم ادخل <asp:TableCell> <asp:Label ID="lblUniv" runat="server" Width="80px" Text=" جامعـــة من:" FontBold="true"></asp:Label> </asp:TableCell> <asp:TableCell> <asp:TextBox ID="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:Label ID="lblSpec" Width="80px" runat="server" Text= " تــخصـــــص:" FontBold="true"></asp:Label> </asp:TableCell> <asp:TableCell> <asp:TextBox ID="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> 3 </asp:TableCell> </asp:TableRow> <asp:TableRow> <asp:TableCell> <asp:Label ID="lblId" width="100px" runat="server" Text=" الجـــامعي الرقــم:" FontBold="true"></asp:Label> </asp:TableCell> <asp:TableCell> <asp:TextBox ID="txtId" runat="server" Width="80px" ToolTip=""الطالب رقم ادخل ></asp:TextBox> </asp:TableCell> <asp:TableCell> <asp:Label ID="lblYear" Width="80px" runat="server" Text=" الجامعي للعام:" FontBold="true"></asp:Label> </asp:TableCell> <asp:TableCell> <asp:TextBox ID="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-describing software components. 2. What is Service Oriented Architecture (SOA)? (1 mark) A service-oriented architecture (SOA) is an architectural pattern in computer software design in which application components provide services to other components via a communications protocol, typically over a network. SOA consists of service provider, service requester and a registry. 4 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. 5