Incomplete Data
Incomplete Data
Both Structured English and Pseudocode are used to describe the logic of a program or
system in a more human-readable format than traditional programming languages. However,
they differ in their approach:
• Structured English: Uses natural language with specific keywords and constructs to
define the sequence of steps. It's more like writing a paragraph about the process,
emphasizing readability.
• Pseudocode: Uses a simplified programming-like syntax, combining elements of
programming languages with plain English. It's closer to actual code, providing a
more detailed outline.
While both terms relate to the creation of software systems, they have different scopes:
It's like a decision point where you choose one path based on a condition.
2. The following are some of the tools available to a system analyst for use in system
development. Using suitable illustrations, describe them and explain how each is used.
(i) ERD
Solution
An ERD is a graphical representation used to model data entities and their relationships
within a database. It's a fundamental tool in system analysis for understanding the data
structure and relationships in a system.
An Entity Relationship (ER) Diagram is a type of flowchart that illustrates how “entities”
such as people, objects or concepts relate to each other within a system. ER Diagrams are
most often used to design or debug relational databases in the fields of software engineering,
business information systems, education and research. Also known as ERDs or ER Models,
they use a defined set of symbols such as rectangles, diamonds, ovals and connecting lines to
depict the interconnectedness of entities, relationships and their attributes. They mirror
grammatical structure, with entities as nouns and relationships as verbs.
Components of an ERD:
Example:
ER diagrams are related to data structure diagrams (DSDs), which focus on the relationships
of elements within entities instead of relationships between entities themselves. ER diagrams
also are often used in conjunction with data flow diagrams (DFDs), which map out the flow
of information for processes or systems.
ERD showing a customer entity with attributes like customerID, name, address, and a
relationship with an order entity
• Data Modeling: ERDs help in defining the data requirements of a system, ensuring
that the database structure is efficient and accurate.
• Database Design: They serve as a blueprint for creating the database schema,
specifying tables, columns, and relationships.
@crispusjoash on all platforms
Page 5 of 18
(ii) Swimlanes
Solution
Swimlane diagrams are a type of flowchart that delineates who does what in a process. They
use the metaphor of lanes in a swimming pool to provide clarity and accountability by
placing process steps within the horizontal or vertical “swimlanes” of a particular employee,
work group, or department.
Swimlane diagrams are used to map out processes that involve multiple actors or
departments. They help identify inefficiencies, redundancies, and bottlenecks in a process by
clearly showing who is responsible for each step and how tasks are handed off between
different parts of the organization
Swimlanes are used in process diagrams, such as BPMN (Business Process Model and
Notation), to visually represent different departments, roles, or organizational units involved
in a process. They help to clarify responsibilities and handoffs between different parties.
Example:
Technical Feasibility
Economic Feasibility
• Cost-Benefit Analysis: What are the estimated costs associated with developing and
implementing an eCommerce system, including hardware, software, integration, and
ongoing maintenance?
• Return on Investment (ROI): How long will it take for Imani Enterprises to recoup
its initial investment in the eCommerce system? What are the potential revenue
streams and cost savings?
• Funding: How will Imani Enterprises fund the project? Will they need to secure
loans or investments?
Operational Feasibility
• Resources: Does Imani Enterprises have the necessary human resources (e.g., IT
staff, customer service representatives) to manage an eCommerce system?
• Processes: How will the organization's existing business processes need to adapt to
accommodate online sales?
• Timelines: What is the estimated timeline for development, implementation, and
launch of the eCommerce system?
Recommendations
Based on the findings of the feasibility study, I would provide recommendations to Imani
Enterprises, including:
• Proceed with the project: If the study indicates that the eCommerce system is
technically, economically, and operationally feasible, I would recommend moving
forward with the project.
• Revise the project: If certain areas require adjustments, I would suggest making
necessary changes to improve the feasibility of the project.
• Delay or abandon the project: If the study reveals significant challenges or risks, I
might advise postponing or abandoning the project.
Key Considerations:
• Risk Assessment: Identify potential risks associated with the project and develop
mitigation strategies.
• Pilot Program: Consider conducting a pilot program to test the eCommerce system
before a full-scale launch.
• Ongoing Evaluation: Monitor the performance of the eCommerce system and make
adjustments as needed.
By conducting a thorough feasibility study, Imani Enterprises can make an informed decision
about whether to invest in an eCommerce system and ensure that the project aligns with their
business goals and capabilities.
5. To many users, the interface is the system. Do you agree? Justify your answer
Solution
Yes, to many users, the interface is the system.
This is because the interface is the primary point of interaction between the user and the
system. It's what the user sees, hears, and touches. The complexity of the underlying system
is often hidden behind a user-friendly interface that simplifies tasks and makes the
technology accessible.
Here are some reasons why the interface is so important:
• First Impressions: The interface is often the first impression a user has of a system.
A well-designed interface can create a positive user experience, while a poorly
designed interface can lead to frustration and confusion.
• Ease of Use: A good interface makes it easy for users to accomplish their goals. It
should be intuitive and avoid unnecessary complexity.
• Efficiency: A well-designed interface can help users complete tasks more efficiently.
For example, a clear and concise layout can help users find the information they need
quickly.
• User Satisfaction: A positive user experience can lead to increased user satisfaction
and loyalty.
In conclusion, the interface is a critical component of any system. It is the bridge between the
user and the technology, and its design can significantly impact the success or failure of a
system.
6. One common experience that students in every college and university share is
enrolling in a college course
(a) Distinguish between DFD and ERD
Solution
• Data Flow Diagram (DFD): A graphical tool used to represent the flow of data
through a system. It focuses on the processes, data stores, and data flows within the
system.
• Entity-Relationship Diagram (ERD): A graphical representation of the relationships
between entities (data objects) in a database.
(b) Draw a level one data flow diagram of data movement for enrolment in a college
course. Use a single sheet and label each data clearly
Solution
Student Registration System
Data Stores:
• Student Records
• Course Catalog
• Enrollment Records
Processes:
• Enroll in Course
• Verify Student Eligibility
• Update Student Records
• Update Course Enrollment
Data Flows:
• Student Information
• Course Information
• Enrollment Request
• Enrollment Confirmation
(c) Explode one of the processes in your original data flow diagram into sub-processes,
adding data flows and data stores
Solution
Student Enrolment System
Sub-Processes:
Data Stores:
• Student Records
• Course Catalog
• Prerequisite Requirements
Data Flows:
• Student ID
• Course Code
• Prerequisite Information
• Eligibility Status
(d) List the parts of the enrolment process that are “hidden” to the outside observer and
about which you have had to make assumptions to complete a second-level diagram
Solution
The following parts of the enrollment process are "hidden" to the outside observer and
require assumptions for the second-level diagram:
• Internal validation rules: These are the specific criteria used to determine if a
student is eligible to enroll in a course, such as GPA requirements, credit hour
restrictions, or prerequisites.
• Course availability checks: The process of checking if a course has remaining seats
and is not full.
• Payment processing: The steps involved in processing tuition payments and updating
student accounts.
• Notification system: The mechanism used to notify students about enrollment status,
changes to course schedules, or other relevant information.
These hidden aspects would be further detailed in subsequent levels of the DFD, providing a
more granular view of the enrollment process.
7. Both systems development and software engineering share modelling tools that makes
them appear synonymous.
(a) Both processes have implementation stage. Distinguish between the implementation
activities in the two.
Solution
While both systems development and software engineering involve an implementation stage,
the focus and activities can differ slightly:
Systems Development:
o Integrating components
o Testing the entire system
Software Engineering:
(b) Briefly describe the following Object Oriented Systems development concepts. Give
examples of how they are used in system development.
(i) Encapsulation
Solution
Briefly
• Definition: Bundling of data (attributes) and methods (operations) that operate on that data
into a single unit (object).
• Example: A Customer class might have attributes like name, address, and
phone_number, as well as methods like placeOrder and updateAddress
(ii) Aggregation
Solution
Briefly
• Definition: A relationship between two objects where one object is composed of other
objects.
(iii) Object
Solution
Briefly
• Example: A Car object might have attributes like make, model, and year, and methods like
startEngine and accelerate.
(c) The purpose of the class diagram is to show the static structure of the system being
modelled. Briefly describe the structure of a class in a class diagram.
Solution
A class in a class diagram is represented as a rectangle divided into three sections:
Class Name: The top section contains the name of the class.
Attributes: The middle section lists the attributes or properties of the class. Each attribute is
typically shown with its name and type.
Operations (Methods): The bottom section shows the methods or functions the class can
perform. Each method is listed with its name and parameters89.
Here’s a simple example:
+------------------+
| Customer |
+------------------+
| - name: String |
| - address: String|
+------------------+
| + getName(): String |
| + setAddress(String)|
+------------------+
Class Name: Customer
Attributes: name (String), address (String)
Operations: getName(), setAddress(String)
This structure helps in visualizing the static aspects of the system and understanding the
relationships between different classes.
Briefly
Example:
+---------------------+
| Car |
+---------------------+
| - make |
| - model |
| - year |
| + startEngine() |
| + accelerate() |
+---------------------+
8. An activity diagram is a special case of a state diagram in which all (or at least most)
of the states are action or sub-activity states and in which all (or at least most) of the
transitions are triggered by completion of the actions or sub-activities in the source
states.
(a) Outline any four notations and briefly describe how they are used.
Solution
• Action State: Represents a single action or operation within the process. It is depicted as a
rounded rectangle.
• Decision Node: Indicates a branching point where the flow of the process can diverge
based on a condition. It is represented by a diamond shape.
• Merge Node: Joins multiple branches of the process back into a single flow. It is
represented by a diamond shape with a single outgoing flow.
• Fork Node: Splits the process into parallel branches that can be executed concurrently. It
is represented by a horizontal line with two or more outgoing flows.
(b) Outline the systematic process of ordering and taking delivery of items online using
an ecommerce facility such as Amazon or Jumia.
Solution
• Customer Browses: The customer searches for products or categories on the e-commerce
platform.
• Customer Adds to Cart: The customer selects desired items and adds them to their
shopping cart.
• Customer Proceeds to Checkout: The customer initiates the checkout process.
• Customer Enters Shipping Information: The customer provides their shipping address
and contact details.
• Customer Selects Payment Method: The customer chooses a preferred payment method
(e.g., credit card, PayPal).
• Customer Places Order: The customer confirms their order and submits it.
• Order Processing: The e-commerce platform processes the order, verifies payment, and
updates inventory.
• Shipment Preparation: The items are picked, packed, and prepared for shipment.
• Shipping: The order is shipped to the customer's address using a delivery service.
• Delivery: The customer receives the order and confirms delivery.
(c) Using activity diagram notations, represent the process outlined above.
Solution
A(Customer Browses) --> B(Customer Adds to Cart)
B --> C(Customer Proceeds to Checkout)
C --> D(Customer Enters Shipping Information)
D --> E(Customer Selects Payment Method)
E --> F(Customer Places Order)
F --> G(Order Processing)
G --> H(Shipment Preparation)
H --> I(Shipping)
I --> J(Delivery)
9. Estimating the time a project will take is a critical factor in controlling systems
development projects. Some of the tools available for a project manager include PERT,
CPM and Gantt Charts.
(a) Distinguish between milestones and critical activities.
Solution
Milestones: Key points in a project timeline that signify the completion of major phases or
deliverables. They do not have duration and serve as checkpoints for progress.
Critical Activities: Tasks that are essential for project completion. Delays in these activities
will directly impact the project's overall timeline. They are part of the critical path, which is
the sequence of activities that determines the minimum project duration.
(b) Consider the activities in the table below.
Activity Description Duration (days)
A Prepare foundation 7
B Make and position door frame 2
C Lay drains, floor base, screed 15
D Install services and fittings 8
E Erect walls 10
F Plaster ceiling 2
G Erect roof 5
H Install doors and windows 8
I Fit gutters and pipes 2
J Paint outside 3
The following is the order of precedence: activity D must follow E, E must follow A and
B, F must follow D and G, G must follow E, H must follow G, I must follow C and F, and
J must follow I.
(c) Draw a well labelled activity network to show how the project will progress from
start to end.
Solution
Based on the provided activities and precedence relationships, the activity network diagram
can be structured as follows:
▎Explanation of Dependencies
- A must finish before E.
- B must finish before E.
- C must finish before I.
- E must finish before both D and G.
- D must finish before F.
- G must finish before H.
- H must finish before I.
- I must finish before J.
(d) What is the total time required to complete the project if no delays occur.
Solution
To calculate the total time required, we will determine the longest path through the network:
1. Path 1: A → E → G → H → I → J
- Duration: 7 + 10 + 5 + 8 + 2 + 3 = 35 days
2. Path 2: B → E → G → H → I → J
- Duration: 2 + 10 + 5 + 8 + 2 + 3 = 30 days
3. Path 3: A → E → D → F
- Total Duration: 7 + 10 + 8 + 2 = 27 days
(e) Which are the critical activities where any delays must be avoided to prevent
delaying project implementation.
Solution
The critical activities are those on the longest path (Path 1):
The critical activities are those on the critical path:
• A (Prepare foundation)
• E (Erect walls)
• G (Erect roof)
• H (Install doors and windows)
• I (Fit gutters and pipes)
• J (Paint outside)
(f) What path has the shortest completion time.
Solution
• There is no path shorter than the critical path. The critical path represents the longest
path through the network, which determines the minimum time required to complete
the project.
Therefore, the total time required to complete the project is 35 days, and the critical
activities are A, E, G, H, I, and J.
Incomplete