SOFTWARE ENGINEERING I SOVLED ASSIGNMENTS SEMESTER SPRING 2010 Assignment 1A company decides to develop a web site, which lets people buy and sell their software applications. This company works as negotiator between buyers and sellers and takes commission for this service. The company aims to develop this website user friendly.
You are required to study this idea deeply and prepare Functional requirement specification of placing online order module.
Note: Before writing the Functional specification, try to understand the domain by carefully going through some websites where online order placing is done. Solution: Functional Requirements: Placing Order module provide following functional requirements FR01: Provide user name and real name
FR01-01 FR01-02 FR01-03
System shall get Username from user System should check the availability of use name System shall enable the user to see if user name already exists or not
System shall enable the user to see if user name is not an alphabet or empty System shall get Real name from user
FR02: Provide password details
FR02-01 FR02-02 FR02-03
System shall get password from user System shall confirm password from user. System shall enable the user to see if password does not match
FR03: Supply e-mail address
System shall allow user to add Email address System shall enable the user to see whether email address is valid or not
FR04: Secret Question selection
FR04-01 FR04-02 FR04-03
System shall allow user to select secret question by selecting from a menu list. System shall allow user to add Secret Question System shall enable the user to see whether he/she has added secret question and answer
FR05: Answer Secret Question FR04-01 FR04-02 System shall allow user to type the answer of the Secret Question System shall allow user to see the answer of the secret Question
FR06: Supply Quantity
System shall get quantity from the user
FR07: Supply AddressFR07-01 FR07-01 FR07-01 FR07-01
System shall get the home address details from the user System shall get the city name from the user System shall get the country name from the user System shall get the zip/postal code from the user
FR08: Payment ModeFR08-01 FR08-02
System shall give the facility to choose the payment mode from drop down menu System shall allow to enter payment to the user
FR09-01 Press Submit ButtonFR09-01
System shall give the permission to click the submit button for the completed of order.
Assignment 2You are required to draw a complete State Transition Diagram (STD) of a university from enrollment of student to his/her pass-out. You will have to draw the diagram up to N level to cover all the activities of university starting from enrollment request by student to final pass-out process after completion of degree.
Submit Admission FormApplications in process Short listing Completed Sending Letters Program Completed Entry test date arrived Conducting Entry testResult Compiled / Announced
Finalterm Exam Semester completed Midterm Result Announced Assignments / Quizes Classes in ConductSemester Commenced
Entry test conducted Result compilationShort listing for interview completed
Sending Interview Letters Interview date arrived Conducting interview Interviews conducted
Fee submission for next SemesterResult announced
Assignment 3Suppose you have been hired as a web developer in knsolutions. Project manager assigns you to develop a School Admission System, in which a student can register himself and apply for online admission in desired class.
Now you are required to develop Object Model of the System using Abbots Methodology taught to you during lectures. You will design the above system according to the instructions given below:
1. 2. 3. 4. 5.
Identify all the objects / classes of the proposed system. Show the inheritance between classes (if exist). Show aggregation / composition relationship between objects of different classes (if exist). Make sure to show all the attributes, behaviors (Methods) of the classes identified in the system. There should be less coupling and high cohesion of the objects / classes of the system
What to deliver: You have to submit a complete object model according to the above criteria in MS WORD or MS VISIO.
Generate rollnoslip request Eligibility
Details of Each class:
Char *pName; Char *pFName; Char *pAddress;
getPersonalInfo() getAcademicHistory() verifyCertificates()
getAcademicHistory() getProgramRequested() verifyEligibility() IsEligible()
Int QuestionID Char* pQuestionStem Char options Int CorrectOption
getNextquestion() verifyAnswer(); StoreInDB();
getResult() EvaluateMerit() PrepareList()
Assignment 4You have studied one tier, two tier, three tier architectures in detail and a concept of N tier architectures. Dividing Software Architecture in Tiers is especially beneficial to manage large scale projects complexity. You are required to find out in software engineering domain the pros and cons with respect to software development , if we work in N-Tier, where N>3.
Solution:In software engineering, multi-tier architecture (often referred to as n-tier architecture) is a client server architecture in which the presentation, the application processing, and the data management are logically separate processes. For example, an application that uses middleware to service data requests between a user and a database employs multi-tier architecture. The most widespread use of multi-tier architecture is the three-tier architecture. The concepts of layer and tier are often used interchangeably. However, one fairly common point of view is that there is indeed a difference, and that a layer is a logical structuring mechanism for the elements that make up the software solution, while a tier is a physical structuring mechanism for the system infrastructure. N-tier application architecture provides a model for developers to create a flexible and reusable application. By breaking up an application into tiers, developers only have to modify or add a specific layer, rather than have to rewrite the entire application over. There should be a presentation tier, a business or data access tier, and a data tier. Three-tier is a clientserver architecture in which the user interface, functional process logic ("business rules"), computer data storage and data access are developed and maintained as independent modules, most often on separate platforms. It was developed by John J. Donovan in Open Environment Corporation (OEC), a tools company he founded in Cambridge, MA.
N-tier application architecture provides a model for developers to create a flexible and reusable application. By breaking up an application into tiers, developers only have to modify or add a specific layer, rather than have to rewrite the enitire application over, if they decide to change technologies or scale up. In the term "N-tier," "N" implies any number -- like 2-tier, or 4-tier; basically, any number of distinct tiers used in your architecture. Application architectures are part of Layer 7 of the OSI model.
THE THREE-TIER MODEL IS A SOFTWARE ARCHITECTURE AND A SOFTWARE DESIGN PATTERN. Apart from the usual advantages of modular software with well-defined interfaces, the three-tier architecture is intended to allow any of the three tiers to be upgraded or replaced independently as requirements or technology change. For example, a change of operating system in the presentation tier would only affect the user interface code. Typically, the user interface runs on a desktop PC or workstation and uses a standard graphical user interface, functional process logic may consist of one or more separate modules running on a workstation or application server, and an RDBMS on a database server or mainframe contains the computer data storage logic. The middle tier may be multi-tiered itself (in which case the overall architecture is called an "n-tier architecture"). WEB DEVELOPMENT USAGE In the web development field, three-tier is often used to refer to websites, commonly electronic commerce websites, which are built using three tiers:1. A front-end web server serving static content, and potentially some are cached dynamic content. In web based application, Front End is the content rendered by the browser. The content may be static or generated dynamically.
2. A middle dynamic content processing and generation level application server, for example Java EE, ASP.NET, PHP platform. 3. A back-end database, comprising both data sets and the database management system or RDBMS software that manages and provides access to the data. THE PROS OF THE N-Tier MODEL ARE AS FOLLOWS:
Scalability: The ke