Short Answer Questions (10 Points)
1. What is the difference between functional and non functional requirements?
2. What is a “software lifecycle”?
3. What is a “software process model”? (provide examples)
4. List the major phases of a software product life-cycle from the product inception to its retirement.
5. Define Prototyping and its role in software engineering
Definitions (20 Points)
1- Define UML. Explain its use as well.
2- Software change happens all the time so change management is absolutely essential. Name three fundamental configuration management activities.
3- How would being aligned to CMMi and ISO standards helps in requirement engineering and analysis phase?
4- Agile teams and backlogs, what are they, and why are they important?
Essay Questions (70 Points)
Question 1 (20):
Suppose you are part of a project team who will have to design/develop and deliver a software program that relies on university rankings and student scores to determine which universities and courses are best suited for students opting for an undergraduate degree. To do this, the system must interface with 3rd party providers to determine the school rankings, the students scores from High Schools and their SAT results. The system must be accessed via mobile devices and web browser. In addition, management would like to be able to publish yearly statistical reports of student to school rankings. Finally students may opt to pay for a premium account where they will get guided help towards admission into their desired schools. Obviously, security, performance and reliability are of the utmost importance. The customer requires that they be involved intimately in the development process.
a) Draw a high level Use Case (UC) diagram for the system above. You may make any reasonable assumptions about the other systems that are available and are to be integrated with it.
b) What software/development process model would you select/recommend for the project at
hand? Explain why.
c) Draw/Define a requirements object model (class diagram) for the above system. Document
any assumptions you make to accomplish this.
Question 2 (20):
The executive team for a software development company appoints you to take over the development of a system to track international shipments – clients are located in London and your development team is spread across continents – specifically in these countries: India, US and Ukraine. Additionally, projects in your team are done in short bursts of development and are released incrementally to production. Keep in mind the team members’ time zone constraints.
a) Would SCRUM be a viable solution in this scenario? In your answer define SCRUM and explain why or why not. If feasible, what needs to be in place to make it successful.
b) Perform a high level risk analysis for this project. Be sure to define mitigation techniques.

Question 3 (15):
a) What is the difference between Reference Architectures and Specific System Architectures? In your answer explain what impact Architecture has on the System Requirements and how is it related to design and development.
b) Draw and define a Reference Architecture for the system in Question 1.
c) Draw and define a Specific System Architecture for the system in Question 1.
Question 4 (15):
a) What is difference between Object Oriented Design and Structured Design?
b) When is it appropriate to use each method and why?
c) Define and explain measures you should use to determine the quality of a design.

For This or a Similar Paper Click Here To Order Now