0% found this document useful (0 votes)
8 views5 pages

Software Development Concepts and Case Studies

The document outlines various concepts related to software development, including definitions of prototypes, user interfaces, and requirements validation techniques. It also presents case studies and questions related to system analysis, business modeling, and software requirements specifications. Additionally, it covers the Agile development methodology and the importance of a Work Breakdown Structure in project management.

Uploaded by

fadhiliamani200
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views5 pages

Software Development Concepts and Case Studies

The document outlines various concepts related to software development, including definitions of prototypes, user interfaces, and requirements validation techniques. It also presents case studies and questions related to system analysis, business modeling, and software requirements specifications. Additionally, it covers the Agile development methodology and the importance of a Work Breakdown Structure in project management.

Uploaded by

fadhiliamani200
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

1.

is a working model or a preliminary version of a software application,


product, or system. It is developed to demonstrate and test the functionality, features, and user
interactions of the intended final product.

a) Wireframe
b) Mockup
c) Prototype
d) Visual design
e) User research
2. refers to the part of a software system that allows users to interact with
the system and access its functionality. It includes the elements and components that users
interact with directly, such as screens, menus, buttons, forms, and other user interface elements.

a) Internal user interface


b) External user interface
c) Prototype
d) Visual design
e) User research
3. Following are tools and techniques used in the system analysis process. (Choose two)

a) Business process modelling notation


b) Decision trees
c) Unified Modelling Language
d) Validation
e) Structured English
4. Among the following requirements; which are three sub- parts of user requirements

a) User requirements
b) Functional requirements
c) System requirements
d) Domain Requirements
e) Software specification
f) Non-Functional requirements
5. Among the following techniques, choose three techniques for requirements validation

a) User requirements definition


b) Test case generation
c) Backward traceability

Page 1 of 5
d) Automated consistency analysis
e) Forward traceability
f) Prototyping
6. is a process for planning, building, testing, and deploying a software
application. A team needs to follow an established SDLC to create high-quality software in the
shortest time possible. /1 mark

A. Business process modelling notation


B. Decision trees
C. Systems development lifecycle (SDLC)
D. Validation
E. Structured English

Q2. Elicit and explain two techniques used in business modeling.


Q3. With a concrete example; give the difference between User Requirements and Software
Requirements.

Q4. Consider the following Agile process model

Page 2 of 5
Explain the above phases of Agile Development Methodology.

Q5. A Software Work Breakdown Structure (WBS) is a hierarchical decomposition of a software


project into smaller, more manageable components, tasks, and work packages. It is a visual
representation that breaks down the project's scope into a structured list of deliverables and
activities, each contributing to the successful completion of the software development project.

Required: Elaborate the advantages and benefits of creating a Work Breakdown Structure

Q6. Case Study: Medical Appointments System /10 marks

More than 2000 patients are registered with a local health centre. The centre employs a number
of general practitioners (i.e. doctors) and a few receptionists. Patients are officially registered
with one doctor but can arrange appointments with any available one. These appointments may
subsequently be cancelled. Some appointments result in one or more prescriptions. New patients
are registered by a receptionist. When a patient is registered he/she provides his/her details such
as name, date of birth, address, etc., and receives a unique patient number. To book an
appointment a patient should contact a receptionist. The patient provides his/her number (or date
of birth) and the receptionist provides a list of available time slots for appointments. The
appointment is booked with the patient’s doctor or if the patient’s doctor is not available with
any available doctor. The date and time of the booked appointment are given to the patient as a
confirmation. Patients can cancel booked appointments by contacting a receptionist who will
cancel appointments on behalf of patients. A patient who attends an appointment should check in
first using a special terminal located in the waiting area of the Health Centre. The patient inputs
his/her number (or date of birth). The system checks the details and confirms that the patient has
been checked in. Doctors record appointment outcomes and details of prescriptions

(if any) during the appointments i.e. all prescriptions issued by doctors are recorded on the
patient’s record.

Required:

i) Identify Entities and their attributes which belong in the Medical Appointments System
described above.

ii) Produce a DFD level 0 and level 1 of the Medical Appointments System.
Page 3 of 5
Q7. Consider a university database system. Design an ERD that represents the following entities
and their relationships:

Entities:
1. Student
2. Course
3. Instructor
Relationships:
1. A student can enroll in multiple courses.
2. A course can have multiple students enrolled.
3. An instructor can teach multiple courses.
4. A course can have only one instructor.

Q8. A well-defined Software Requirements Specification (SRS) is crucial for successful


software development.

i) Differentiate between user requirements and system requirements, providing


an example for each. / 5 Marks
ii) Explain the role of domain requirements in software development and discuss
one challenge associated with them. / 3 Marks
iii) Explain the difference between functional and non-functional requirements,
providing one example for each. / 2 Marks

Q9. Case Study 1: The ‘Sweet Treat’ company

The ‘Sweet Treat’ company is a small, independent business that sells exotic sweets and cakes to
the public. The proprietor is very keen on baking and specialises in making homemade sweets
and cakes for sale in the shop. As well as making much of the confectionery sold in the shop, the
proprietor also buys sweets and some cakes from suppliers to increase the range of products for
sale.

At the end of each day the proprietor reviews the sales of the homemade items. He then decides
how many sweets and cakes to make for the next day. This is also partly to replenish any stock
that needs to be bought from suppliers and to keep track of the sales. Once a week the proprietor
checks the stock to dispose of anything that is past its ‘use by’ date. He also checks to see if any

Page 4 of 5
raw ingredients for the homemade products, or any pre-made sweets and cakes need to be
ordered from the suppliers.
The proprietor orders supplies on a ‘Cash On Delivery’ basis, so all deliveries are paid for
immediately.
a) Decompose the process in context diagram (level 0)
b) Decompose the process in data flow diagram (level 1)
c) Draw the ER diagram with attributes

Q10. Case Study 2: Premier paper production company

Premier paper production company seeks to improve the quality of the productive work
performed by teams; therefore, quality assurance (QA) teams are used to assess the performance
of teams on expected tasks to be performed The company needs to be able to identify what kind
of tasks and how those tasks will be performed. In some cases, company management needs to
be able to assign a team based on team category (systems analysis, programming, database
design, etc.) to a specific task within a project phase and to make sure that the team’s expertise
rating is high enough to complete a given task’s difficulty rating (determined by its difficulty
coefficient). In other words, the management wants to make sure talent is matched with
responsibility (assigning the most experienced and talented people to the specific task).

Required:

iv) Explain the various roles of participants to computer based information


system development processes from the above scenario?
v) Suggest any software development process model suitable from the above
scenario and why?

Page 5 of 5

Common questions

Powered by AI

A Work Breakdown Structure (WBS) helps to visually break down a project into smaller, manageable components or tasks. This granular approach aids in better resource allocation, timeline estimation, and risk management by clearly defining each element's scope. It also enhances communication among stakeholders and aids in tracking progress, ensuring organized and efficient project execution.

BPMN is used primarily to map out business processes in a way that's understandable to business users, outlining the steps, sequences, and flow in business process management. UML complements this by providing a standardized method to visualize system architectures, designs, and interactions. Together, they create a comprehensive depiction of how business processes are supported by software systems, bridging the gap between business operations and IT.

Backward traceability ensures that each development stage can be traced back to the original requirements, verifying that the final product remains aligned with initial expectations. Forward traceability checks that the requirements are progressing to tangible outputs. Challenges include maintaining comprehensive and up-to-date documentation as requirements evolve and managing complex dependencies which can make traceability effort-intensive.

User requirements describe what the end-users need the system to do, often captured in the form of use cases or user stories. For example, a user requirement might be that users need to be able to log in using social media accounts. System requirements, on the other hand, define what the system should do to meet the user requirements, often more detailed and technical. For instance, a system requirement following the user requirement example could be that the system must support OAuth for authentication.

QA teams ensure that the development processes meet the desired quality standards by assessing the performance of teams on their assigned tasks. In the context of task assignments, they evaluate if the teams’ expertise matches the difficulty ratings of tasks, helping to ensure that high-quality outputs are delivered by the most capable teams, thus aligning talent with responsibility.

Agile development typically follows phases such as requirement gathering, design, development, testing, deployment, and feedback. Its advantage over traditional methodologies lies in its flexibility, quick adaptation to changes, iterative improvements, and constant stakeholder engagement which ensures the final product aligns closely with user needs.

Prototyping allows developers and stakeholders to explore ideas and iterate on system designs early in the development process, improving requirements gathering and reducing misunderstandings. It facilitates user feedback, ensuring the final product is more aligned with expectations, and helps identify usability issues and design flaws earlier, ultimately saving time and costs involved in major overhauls post-launch.

Functional requirements define specific behaviors or functions of a system, such as 'The system must send a confirmation email following a successful account registration.' Non-functional requirements refer to the quality attributes of the system, like performance, usability, or reliability. An example of a non-functional requirement is 'The system must handle 500 transactions per second.'

Domain requirements specify constraints and needs particular to a specific domain, ensuring the software solution fits the environment it is intended for. A common challenge is that domain requirements can be implicit, relying on domain experts who may not communicate them explicitly, potentially leading to misunderstandings or incomplete implementations.

SDLC is preferred for its structured approach which allows for thorough planning, building, testing, and deploying of software applications. This systematic methodology helps ensure quality and timely delivery. The core phases include Planning, Analysis, Design, Implementation, Testing, Deployment, and Maintenance. Each phase addresses specific aspects of software creation, reducing the likelihood of project failure.

You might also like