DIT SDT Study Guide
DIT SDT Study Guide
DIT SDT Study Guide
MANAGEMENT
Version 1.0
This module aims to introduce to students the different system analysis techniques and
technologies for understanding and specifying what a computer-based information system
should accomplish. It examines the complementary roles of systems analysts, clients and users
in a system development life cycle. Students will learn different fact-finding techniques to elicit
system requirements and how to develop business models, data and process models, and object
models representing a system. Systems will also make use of a Computer Aided Software
Engineering (CASE) tool to build those models that capture the specifications of a system.
Module Aims
1. Analyse the complementary roles of different stakeholders including clients, users, and
analysts in the development of computer-based information systems.
2. Gather data to analyse and specify the requirements of a system using different fact-finding
techniques.
5. Work in a group to apply the knowledge and skills presented in this subject to typical
system analysis scenarios.
Indicative Readings
Required Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis
Textbook and Design in a Changing World (7th ed.). Cengage Learning. ISBN: 978-
1305465268
Assessment/coursework
To satisfy module requirements, students must attain a minimal overall mark of 50 percent in the
module. Students are also required to comply with other examination and continuous assessment
policies stipulated in the programme handbook.
CHAPTER 1: INTRODUCTION TO
SYSTEMS ANALYSIS AND DESIGN
At the end of the chapter, students should be able to:
For example in a new customer management, the system must be able to store customer data,
track customer purchase, produce weekly report and many more other function in which each
function has many details. The job of the System Analyst is to fully understand those
requirements, document it down as details as possible before the system can be designed and
implemented.
To implement a middle to large scale business information system, programmers do not start
writing codes immediately after gathering the requirements. Many activities need to be carried
by a systems analyst prior to writing codes. The activities include planning, capturing the vision
of the new information system, understanding the details and designing the system using
various software design models.
Systems analysis and design process consists many tools (i.e. design models) and techniques
(i.e. SDLC, Agile and iterative development) that aids system analyst and software developer
to complete the information system development process.
The activities in a typical SDLC includes : Planning and project management, Systems
analysis, Systems design, Programming, Testing, User training and Deployment.
There are various approaches to a SDLC framework. The common approach is the “Six core
processes” listed below:
• Identify the problem or need and obtain approval to proceed with the project.
• Plan and monitor the project—what to do, how to do it, and who does it.
• Discover and understand the details of the problem or the need—what is required?
• Design the system components that solve the problem or satisfy the need how will it
actually work?
• Build, test, and integrate system components
• Complete system tests and then deploy the solution
(Source: Satzinger, J. W., Robert, J. B., & Stephen, B. D. 2016)
There are also various approaches or development methodologies to implement the SDLC six
core processes. The development methodology is to provide a set of guidelines to carrying out
the activities for each SDLC core process. Each methodology prescribes a way of carrying out
the development project. Every organization develops its own system development
methodology over time to suit its needs.
The six core processes are still involved in Agile development, but they are carried out
iteratively.
1.6 Benefits
Pieces of the system (subsystem) can sometimes be deployed sooner. If there are core functions
that provide basic support for users, these can be deployed in an early iteration. By dividing
the system into subsystems, the most difficult problems can be identified and addressed early
in the project. Many of today’s systems are so large and complex that even with a formal
process it is impossible to remember and understand everything. By focusing on a subsystem
at a time, the requirements are fewer and easier to solve.
Developing a system in iterations makes the entire development process more flexible and able
to address new requirements and issues that come up throughout the project.
A key element of iterative development is dividing system components into pieces that can be
completed in two to four weeks. During one iteration, all the core development processes are
involved (programming to system- wide testing). The result is a working part of the system,
even though it may only have a portion of the functionality that is ultimately required.
Developers choose components for each iteration based on priority, either the components most
needed or riskiest to implement.
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 1.
CHAPTER 1 EXERCISES
Multiple Choice Questions
3. Which of the following statement about System Development Life Cycle is true?
A. Core functions that provide basic support for users, can be deployed in an early
iteration.
B. By dividing the system into subsystems, the most difficult problems can be identified
and addressed early in the project.
C. The whole system is deployed at the end of project deadline
D. By focusing on a subsystem at a time, the requirements are fewer and easier to solve.
Discussion Questions
1. State the work to be done in system analysis and system design.
3. You are tasked to develop a Mobile App for a new Bubble Tea Store.
Perform the systems analysis for the new Mobile App.
The System Analyst conducts interviews with the store owner, barista, and potential
customers to understand the business needs.
System Analysis:
Based on the interviews, capture the vision, and produce a System Vision Document.
(See example below)
Ridgeline Mountain Outfitters (RMO) is a large retail company that specializes in clothing
and related accessories for all types of outdoor and sporting activities. The mountain and
western regions of the United States and Canada witnessed tremendous growth in recreation
activities in recent years, including skiing, snowboarding, mountain biking, water skiing, jet
skiing, river running, sailing, jogging, hiking, cycling, camping, mountain climbing, and
rappelling. With the increased interest in outdoor sports, the market for winter and summer
sports clothing and accessories exploded, so RMO continually expanded its line of
sportswear to respond to this market.
By completing these activities, the analyst defines in great detail what the information system
needs to accomplish to provide the organization with the desired benefits.
Scope Creep happens because system requirements tend to expand as users make more
suggestions. Requirements priorities help to determine the number, composition, and ordering
of project iterations. High-priority requirements are often incorporated into early project
iterations so analysts and users have ample opportunity to refinecontain
those parts of the system.
wide moon man tr
2.1.4 Develop User-Interface Dialogs
User evaluating a user interface is an easy and simpler way to get feedback and gather
information because the user can see and feel the system. To most users, the user interface is
all that matters. Developing user-interface dialogs (wireframe) is a powerful method to
document requirements. Develop user interfaces via abstract models, such as interaction
diagrams and written dialogs, or develop storyboards or user-interface prototypes on the actual
input/output devices that users will use (e.g., a computer monitor, iPad, or smartphone).
A prototype interface can serve as a requirement and a starting point for developing a portion
of the system. A user-interface prototype developed in an early iteration can be expanded in
later iterations to become a fully functioning part of the system.
System Copyright by SIM GE, 2021 20
Development Version 1.0
Techniques Restricted
STUDY GUIDE
Usability requirements
Operational characteristics related to users, such as the user interface, related work procedures,
online help, and documentation. For example, the user interface for a smartphone app should
behave similarly to other apps when responding to such gestures as two-finger slides, pinching,
and expanding. Additional requirements might include menu format, colour schemes, use of
the organization’s logo, and multilanguage support.
Reliability requirements
How often a system exhibits such behaviours as service outages and incorrect processing and
how it detects and recovers from those problems.
Performance requirements
Operational characteristics related to measures of workload, such as throughput and response
time. For example, the client portion of a system might be required to have a 0.5 second
response time to all button presses, and the server might need to support
Security requirements
How access to the application will be controlled and how data will be protected during storage
and transmission.
For example, the application might be password protected, encrypt locally stored data with
1024-bit keys, and use secure HTTP for communication among client and server nodes.
2.3 Stakeholders
Stakeholders are People who have an interest in the successful implementation of the system.
For example, accounting system the stakeholders: bookkeepers, accountants, managers and
executives, customers, suppliers, auditors, investors. Each stakeholder group interacts with the
system in different ways. Each has a unique perspective on system requirements.Before
gathering detailed information, the analyst identifies every type of stakeholder who has an
interest in the new system and ensures that critical people from each stakeholder category are
available to serve as the business experts.
One effective way to capture workflow is with a UML activity diagram. An activity diagram
describes the various user (or system) activities, the person or component that completes each
activity, and the sequential flow of these activities.
The flattened ovals represent the individual activities in a workflow. The connecting arrows
represent the sequence of the activities. The black circles denote the beginning and the ending
of the workflow. The diamond is a decision point at which the flow of the process will either
follow one path or another.
The heavy solid line is a synchronization bar, which either splits the path into multiple
concurrent paths or recombines concurrent paths. The swimlane represents an agent who
performs the activities. Each agent follows a path parallel with other agents in the workflow,
as with swimmers in a swimming pool.
Processing begins when the customer has completed the order checkout process and the
warehouse begins order fulfillment. Omits many error-handling path- ways, including what
happens if enough item stock is on hand to fulfill only part of an order.
To show that the salesperson sends the order to Engineering, the diagram uses a new symbol
to emphasize the transmission of the document between Sales and Engineering. After
Engineering develops the specifications, two concurrent activities happen: Purchasing orders
the materials, and Production writes the program for the automated milling machines. These
two activities are completely independent and can occur at the same time. Notice that one
synchronization bar splits the path into two concurrent paths and that another synchronization
bar reconnects them.Finally, Scheduling puts the order on the Production schedule
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 2.
CHAPTER 2 EXERCISES
Multiple Choice Questions
4. The requirement "the menu should be loaded within two seconds" is what type of non-
functional requirement?
A. Security requirements
B. Performance requirements
C. Reliability requirements
D. Usability requirements
5. The requirement "the user interface must be intuitive to use" is what type of non-
functional requirement?
A. Performance requirements
B. Security requirements
C. Usability requirements
D. Reliability requirements
Discussion Questions
1. Why is developing a User Interface prototype important?
2. Based on the Bubble Tea Store System Vision Document and Summary,
a. State the functional requirements
b. State the non-functional requirements
Sketch the activity diagrams for the customer to order a bubble tea at the shop using
the Mobile App. Customer will get alerted on the Mobile App when the bubble tea is
ready for collection.
Extra scenario:
Customer is to pay by ePayment system.
Members get 10% discount
1. Explain:
a. Use case description
b. Use cases and user goals
c. Use cases and event decomposition
d. Use cases diagrams
Objective is to get a potential user to articulate what the users wants to do with the new
system. The standard template for a user story looks like this:
“As a <role played>, I want to <goal or desire> so that <reason or benefit>.”
For example, some user stories for a bank teller might be:
• “As a teller, I want to make a deposit to quickly serve more customers.”
• “As a teller, I want to balance the cash drawer to assure there were no errors.”
As a customer of the bank using an ATM machine, some user stories might be:
• “As a bank customer, I want to withdraw cash and feel confident the stack of cash I
get is the correct amount.”
• “As a bank customer, I want to deposit a check and feel confident the deposit is
recorded correctly.”
Each EBP (and thus each use case) occurs in response to a business event.
An event occurs at a specific time and place, can be described, remembered by the system,
drive or trigger all processing that a system does. Listing and analysing events helps to define
system requirements by identifying use cases.
Types of Events
Three types of events to consider:
• external events,
• temporal events (temporal – related to time)
• state events (aka internal events).
External events
An event that occurs outside the system. Usually initiated by an external agent or actor. An
external agent (or actor) is a person or organizational unit that supplies or receives data from
the system. To identify the key external events, the analyst first tries to identify all the
external agents that might want something from the system.
Example of an external agent is a customer.
• customer may want to place an order for one or more products.
• customer wants to return an ordered product
• customer needs to pay the invoice for an order.
External events such as these define what the system needs to be able to do. They are events
that lead to important transactions that the system must process.
External events can also come from the needs of people or organizational units inside the
company (e.g., management requests for information). Example
• Event name: Management wants to check order status.
• Actor: Management
• Action: managers want to follow up on an order for a key customer
External event can occurs when external entities provide new information that the system
simply needs to store for later use. Example,
• Event name: Customer needs to update account information
• Actor : customer
• Action : customer reports a change in address, phone, or employer.
Temporal events
An event that occurs as a result of reaching a point in time. Example:
• Monthly payroll report
• Weekly/monthly sales performance report
• Exception reports.
o Example, If a customer bill has not been paid within 15 days, the system might
send a late notice.
o The temporal event “Time to send late notice” might be defined as a point 15
days after the billing date.
Temporal events are usually automatically generated
System controls are important to the system, but spending time on system controls during
analysis only adds details to the requirements model that users are not typically very
concerned about; they trust the system developers to take care of such details. One way to
help decide which events apply to system controls is to assume that technology is perfect.
Events should be included during analysis only if the system would be required to respond
under perfect conditions:
Example of perfect conditions:
• equipment never breaking down,
• capacity for processing and storage being unlimited,
• people operating the system being completely honest and never making mistakes
Examples of events that can be deferred until the developer is designing in system controls.
• User wants to log on to the system
• User wants to change the password
• User wants to change preference settings
• System crash requires database recovery
• Time to back up the database
• Time to require the user to change the password
Don’t worry much about these until you are considering design issues.
When events and use cases are defined, check to see if they are required as part of analysis by
using the perfect technology assumption. Do not include events that involve such system
controls as login, logout, change password, and backup or restore the database, as these are
put in as system controls.
In Unified Modelling Language (UML) an actor is a person who uses the system. An actor is
always outside the automation boundary of the system but may be part of the manual portion
of the system. Sometimes, the actor for a use case is not a person; instead, it can be another
system or device that receives services from the system. A simple stick figure represents an
actor.
The stick figure is given a name that characterizes the role the actor is playing. The use case
itself is represented by an oval with the name of the use case inside. The connecting line
between the actor and the use case indicates that the actor is involved with that use case.
The automation boundary, which defines the border between the computerized portion of
the application and the people operating the application, is shown as a rectangle containing
the use case.
Many ways to organize use case diagrams for communicating with users, stakeholders, and
project team members. One way is to show all use cases invoked by a particular actor (i.e.,
from the user’s viewpoint). This approach is often used during requirements definition
because the systems analyst may be working with a particular user and identifying all the
functions that user performs with the system.
The next Use case diagram illustrates this viewpoint, showing all the use cases involving the
customer for the Sales subsystem.
The next use case diagram shows use cases involving the customer service representative and
the store sales representative for the Sales subsystem. Analysts can expand this approach to
include all the use cases invoked by any department, regardless of the subsystem, or all use
cases important to a specific stakeholder.
Fill shopping cart also includes Search for item, View product comments and ratings, and
View accessory combinations. Thus, the Customer can view comments initially, and also
while carrying out the Fill shopping cart use case. The relationship is read Fill shopping cart
includes Search for item. Also know as «uses» relationship. Note that the word includes is
enclosed within guillemets in the diagram; this is the way to refer to a stereotype in UML. It
means that the relationship between one use case and another use case is a stereotypical
«includes» relationship.
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 3.
CHAPTER 3 EXERCISES
Multiple Choice Questions
4. "The bank account balance is below a certain amount" is what type of event?
A. temporal event
B. external event
C. state event
D. system event
5. Which of the following assumption should system analyst make during system analysis?
A. Perfect technology assumption
B. Perfect user assumption
C. Perfect requirements assumption
D. All of the above
Discussion Questions
1. What is the perfect technology assumption? Why is it a useful assumption?
2. Based on the Bubble Tea case study, use either user goal or event decomposition
technique, write the user stories for the following actors:
• Manager
• Barista
• Potential customers
4.1 StarUML™
A software modeling platform that supports UML (Unified Modeling Language). Based on
UML version 1.4 and provides eleven different types of diagram, and it accepts UML 2.0
notation. One of the popular opensource leading software modeling tools. Download at
https://staruml.io/
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 3.
CHAPTER 4 EXERCISES
Multiple Choice Questions
1. Which of the following diagram can be used to summarises the system users (i.e., the
actors) and their interaction with the system?
A. Activity diagram
B. Use case diagram
C. Class diagram
D. State machine diagram
2. Which of the following diagram can be used to document the business flow process?
A. Class diagram
B. State machine diagram
C. Activity diagram
D. Sequence diagram
3. Which of the following diagram is used to document the structure of various classes?
A. Activity diagram
B. State machine diagram
C. Sequence diagram
D. Class diagram
4. Which of the following diagram is used to document the state of an object when an event
occurs ?
A. Activity diagram
B. Class diagram
C. State machine diagram
D. Sequence diagram
5. Which of the following diagram is used to document the interaction between objects to
complete a task?
A. Sequence diagram
B. Activity diagram
C. Class diagram
D. State machine diagram
Discussion Questions
Draw all the UML diagrams (Figure 4-1 to 4-7) using StarUMLTM.
Steps:
1. Identify a user and a set of use cases or user stories.
2. Brainstorm with the user to identify “things” involved when carrying out the use
case—that is, “things” about which information should be captured by the system.
3. Use the types of “things” (categories) to systematically ask questions about potential
“things”, such as the following: Are there any tangible things you store information
about? Are there any locations involved? Are there roles played by people that you
need to remember?
4. Continue to work with all types of users and stakeholders to expand the brainstorming
list.
5. Merge the results, eliminate any duplicates, and compile an initial list.
Steps:
1. Using the use cases, actors, and other information about the system— including inputs
and outputs—identify all nouns. Examples customer, product item, sale, confirmation,
transaction, shipping, bank, change request, summary report, management, transaction
report, accounting, back order, back-order notification, return, return confirmation,
fulfillment reports, prospective customer, marketing, customer account, promotional
materials, charge adjustment, sale details, merchandising, and customer activity
reports.
2. Using other information from existing systems, current procedures, and current
reports or forms, add items or categories of information needed. Example: more
detailed information, such as price, size, colour, style, season, inventory quantity,
payment method, and shipping address. Some of these items might be additional
things, and some might be specific information (called attributes) about things you
have already identified. Refine the list and then record assumptions or issues to
explore.
3. As this list of nouns builds, will need to refine it. Ask these questions about each noun
to help you decide whether you should include it:
• Is it a unique thing the system needs to know about?
• Is it inside the scope of the system I am working on?
• Does the system need to remember more than one of these items?
Ask these questions about each noun to decide whether you should exclude it:
• Is it really a synonym for some other thing I have identified?
• Is it really just an output of the system produced from other information I have
identified?
• Is it really just an input that results in recording some other information I have
identified?
Ask these questions about each noun to decide whether you should research it:
• Is it likely to be a specific piece of information (attribute) about some other
thing I have identified?
• Is it something I might need if assumptions change?
4. Create a master list of all nouns identified and then note whether each one should be
included, excluded, or researched further.
5. Review the list with users, stakeholders, and team members and then refine the list of
things in the problem domain.
Need to decide what is data entity and what are the attributes in the data entity.
For example, a data entity “customer” has the following attributes: name, phone number and
address
The attribute that uniquely identifies the thing is called an identifier or key. Sometimes, the
identifier is already established (a Social Security number, vehicle ID number, or product ID
number). Sometimes, the system needs to assign a specific identifier (an invoice number or
transaction number).
A system may need to remember many similar attributes. For example, a customer has
several names: a first name, a middle name, a last name, and possibly a nickname. A
compound attribute is an attribute that contains a collection of related attributes, so an analyst
may choose one compound attribute to represent all these names, perhaps naming it Customer
full name.
A customer might also have several phone numbers: home phone number, office phone
number, fax phone number, and cell phone number. The analyst might start out by describing
the most important attributes but later add to the list. Attribute lists can get quite long.
System Copyright by SIM GE, 2021 52
Development Version 1.0
Techniques Restricted
STUDY GUIDE
In database management, the term relationship is association in UML and uses entity-
relationship diagram (ERD). ERD is very similar to UML domain model.
UML domain model
• form of the class diagram
• very simplified, only important attributes and no method
• shows: Association, Aggregation, Composition, Generalization, Multiplicity
• A class is a category or classification used to describe a collection of objects.
• Each object belongs is an instance of a class.
• Classes that describe things in the problem domain are called domain classes.
• Domain classes have the following characteristic among classes: Association,
Aggregation, Composition, Generalization, Multiplicity
On a class diagram, lines connecting the rectangles show the associations among classes.
The associations places and consists of are included on the diagram for clarity. Multiplicity:
Each Customer can place many Orders (a minimum of zero and a maximum of many). Each
Order is placed by one Customer.
Another example of a domain model class diagram, this one for the bank with multiple
branches
Analysts often discover that many-to-many associations involve additional data that are
important and must be stored. In the previous example, where is the grade that each student
receives for the course stored? This is important data, and although the model indicates which
course section a student took, it does not have a place for the grade. Grade isn’t an attribute of
CourseSection alone. Nor is it an attribute of Student alone. Rather, it’s an attribute of the
association between CourseSection and StudentGrade.
Adding a domain class, called an association class, to represent the association between
Student and CourseSection provides a place in which to store the missing attribute for grade.
Figure 5-9: Example of college domain model with association class diagram
(Source: Satzinger, J. W., Robert, J. B., & Stephen, B. D. 2016)
A dashed line connects the association class with the association line between the
CourseSection and Student classes. Reading the association from left to right, one course
section has many course enrollments—each with its own grade. Each course enrollment
applies to one specific student. Reading from right to left, one student has many course
enrollments—each with its own grade. Each course enrollment applies to one specific course
section.
A database implemented by using this model will be able to produce grade lists showing all
students and their grades in each course section as well as grade transcripts showing all
grades earned by each student.
Another example of a domain model class diagram with a many-to-many association
A band has one or more band members, a band member is in one and only one band. (in this
case). The many-to-many association is between the classes Band and Concert. A band is
booked for zero or more concerts, and a concert books one or more bands. Note that on the
minimum multiplicities, a band might not have any concerts booked at a given time, but a
concert is ordinarily created only when at least one band is booked.
The analyst discovers additional information about the booking that needs to be captured and
remembered by the system.
Figure 5-11: Example of band domain model with association class diagram
(Source: Satzinger, J. W., Robert, J. B., & Stephen, B. D. 2016)
Reading from Band to Concert, one band has many booking—each with its dateBooked etc.
Each booking applies to one concert.Reading from Concert to Band. One concert has many
booking—each with its dateBooked etc. Each booking applies to one band
Each class of things in the hierarchy might have a more general class above it, called a
superclass. At the same time, a class might have a more specialized class below it, called a
subclass. UML class diagram notation uses a triangle that points to the superclass to show a
generalization/specialization hierarchy.
Attributes are included for each class in the hierarchy. Each member of the Sale class has a
saleDateTime attribute and a priorityCode attribute. OnlineSale, InStoreSale, and
TelephoneSale inherit the attributes from Sale, plus they have some special attributes of their
own.
• An OnlineSale actually has eight attributes (six from Sale and two additional).
• An InStoreSale has nine attributes,
• A TelephoneSale has eight attributes.
Note that in Figure that the class name Sale is in italic; that is because it is an abstract class.
An abstract class is a class that only exists so subclasses can inherit from it. There is never an
actual object simply called a Sale. Each sale must be one of the three subclasses.
A concrete class is a class that have actual objects. Sometimes, a superclass is abstract;
sometimes, it is concrete depending on the intention of the analyst.
The figure shows an extension of the bank with multiple branches example to indicate that
there are two types of accounts: a SavingsAccount and a CheckingAccount. The abstract
class Account is in italic, indicating it is an abstract class.
Each subclass has its own special attributes that do not apply to the other subclasses. A
SavingsAccount has four attributes, and a CheckingAccount has five attributes. Note that
each subclass also inherits an association with a Customer, optionally a Branch, and one or
more Transactions.
There are two types of whole-part relationships: aggregation and composition. Aggregation
refers to a type of whole-part relationship between the aggregate (whole) and its components
(parts), where the parts can exist separately. (white diamond symbol). Composition refers to
whole-part relationships that are even stronger, where the parts, once associated, can no
longer exist separately. (black/filled diamond symbol)
The status condition for a real-world object is often referred to as the state of the object. A
state of an object is a condition that occurs during its life when it satisfies some criterion,
performs some action, or waits for an event.
An object remains in a state until some event causes it to move, or transition, to another state.
A transition is the movement of an object from one state to another state. Transitioning is the
mechanism that causes an object to leave a state and change to a new state.
State machine diagram describes the dynamic behaviour, or the possible behaviour, of the
objects in one particular object class. Only an object in the problem domain class that have
status conditions that must control the processing for that object need a state machine
diagram. For example, a class such as Sale may need a state machine diagram. A class such
as SaleTransaction probably does not. A sale transaction is created when the payment is made
and then just sits there; it doesn’t need to track other conditions.
Pseudostate is the starting point of a state machine diagram. The first shape after the black
dot is the first state of the printer. (the printer begins in the Off state.)
The arrow leaving the Off state is called a transition. The firing of the transition causes the
object to leave the Off state and make a transition to the On state. After a transition begins, it
runs to completion by taking the object to the new state, called the destination state.
A transition is labeled with a string to describe the components of the transition. The
transition label consists of the following syntax with three components: transition-name
(parameters, ...) [guard-condition] / action-expression
The transition-name is onButtonPushed. The transition is like a trigger that fires or an event
that occurs. The name should reflect the action of a triggering event. If there is no triggering
event, the trigger is considered to be constantly firing, and when- ever the guard becomes
true, the transition occurs.
Action-expressions indicate some process that must occur before the transition is completed
and the object arrives in the destination state. In this case, the printer will run a start-up
procedure before it goes into the On state.
Concurrent States is when nn object can be in two states at the same time. For example, when
the printer is in the On state, it can also be either Printing or Idle.
Third step:
• Combine the state-transition pairs into fragments
• Build a state machine diagram with the states in the correct sequence
fourth step
• look for concurrent paths.
• In this case, it doesn’t appear that a SaleItem object can be in any two of the identified
states at the same time.
fifth step:
• look for additional transitions.
• a transition from Open to On back order.
sixth step
• complete all the transitions with correct names, guard- conditions, and action-
expressions.
seventh step
• quality-review step.
• reviewing and testing the state machine diagram
Fifth step
• See if these state-transition fragments are really concurrent paths.
• In this case, two concurrent paths.
Path 1
Path 2
Sixth step
• complete all the transitions with correct names, guard- conditions, and action-
expressions.
• Path 1 appears to be okay—cycling between Not on order and On order.
• Path 2, there are transitions that have the same name (reduceInventory and restock).
Need to ensure that the correct transitions fire and the correct states are used.
• reduceInventory transition.
o InventoryItem will receive this message every time an item is sold.
o However, it only wants to take the transition from one state to another if it is at
§ the reorder point, or
§ the last item in stock.
o Add guards to define those conditions.
o Also initiate a reorder process when the InventoryItem goes to a Low stock or
a Zero stock state.
• restock transition.
§ It is correct.
§ Depending on what state the InventoryItem is in, the correct transition will
fire and move to the Normal stock state.
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 4.
CHAPTER 5 EXERCISES
Multiple Choice Questions
Discussion Questions
With reference to the Bubble Tea Store case study.
The fully developed description is the most formal method for documenting a use case. To
create a comprehensive, robust system that truly meets users’ needs, must understand the
detailed steps of each use case. There is no standard format, and many different formats are
available. Common items in a use case description: Use case name, Scenario, Triggering
event, Brief description, Actors, Related use cases, Stakeholders, Preconditions,
Postconditions, Flow of Activities, Exception conditions Etc.
Preconditions
Identify what the state of the system must be for the use case to begin, including what objects
must already exist, what information must be available, and even the condition of the actor
prior to beginning the use case.
Postconditions
Identify what must be true upon completion of the use case. It indicates what new objects are
created or updated by the use case and how objects need to be associated. For example, in the
Create customer account use case, it is important to test that a customer record, address
record, and account record were successfully added to the database.
Flow of activities
Identifying the steps performed by the actor and the responses required by the system.
Activity diagrams are helpful when the flow of activities for a use case is complex.
Three use cases:
• Search for Product,
• Look at product reviews,
• Search and view accessories
A system sequence diagram (SSD) describes flow of information into and out of the
automated portion of the system. It documents the inputs and the outputs and identifies the
interaction between actors and the system. It is an effective tool to help in the initial design of
the user interface by identifying the specific information that flows from the user into the
system and the information that flows out of the system back to the user.
SSD Notation
Stick figure represents an actor. In use case diagram, the actor “uses” the system, SSD is on
how the actor “interacts” with the system by entering input data and receiving output data.
The box labelled System is an object that represents the entire automated system. SSD (and
all other interaction diagrams), use object notation instead of class notation. Object notation,
a rectangle with the name of the object underlined.
Underneath the actor and: System are vertical dashed lines called lifelines. A lifeline, or
object lifeline, is simply the “life time” of that object or during the use case.
The arrows between the lifelines represent the messages that are sent by the actor. The
sequence of messages is read from top to bottom in the diagram. A message is labeled to
describe its purpose and any input data being sent. The name should follow the verb-noun
syntax to make the purpose clear.
The returned value is a dashed arrow indicates a response or an answer (in programming, a
return), immediately follows the initiating message. It is a response, only the data that are
sent on the response are noted.
Frequently, the same message is sent multiple times in a loop. For example, when an actor
enters items on an order, the message to add an item to an order may be sent multiple times.
The message and its return are located inside a larger rectangle called a loop frame.
The opt frame is used when a message or a series of messages is optional or based on some
true/false condition.
2. Describe the message from the external actor to the system by using the message
notation described earlier.
• The names of the messages reflect the services that the actor is requesting of the
system: createNewCustomer, enterAddress, and enterCreditCard.
• Instead of enterAddress, the name could be createAddress. The point to remember
is that the message name should describe the service requested from the system
and should be in verb-noun form.
3. Identify and add any special conditions on the input messages, including iteration and
true/false conditions.
• The enterAddress message is repeated for each address needed for the customer.
• The asterisk symbol in front of the message is shown
The objective of developing SSD is to discover and understand user requirements. Analyst
should be working closely with users to define exactly how the workflow proceeds and
exactly what information needs to be passed in and provided as output. This is an iterative
process, and analyst will probably need to refine these diagrams several times before they
accurately reflect the needs of the users.
Take already identified use cases and verify that there are use cases for create, read, update,
and delete as a cross-check.
Summarize all use cases and all data entities/domain classes to show the connection between
use cases and data.
Figure 6-15: CRUD table showing use cases and corresponding domain classes
(Source: Satzinger, J. W., Robert, J. B., & Stephen, B. D. 2016)
For example, the use case Create customer account actually creates customer data and
account data, so the C is included in those two cells. The use case Process account
adjustment reads information about the sale, reads information about the customer, updates
the account, and creates an adjustment.
Figure 6-16: CRUD table showing use cases and corresponding domain classes
(Source: Satzinger, J. W., Robert, J. B., & Stephen, B. D. 2016)
System Copyright by SIM GE, 2021 81
Development Version 1.0
Techniques Restricted
STUDY GUIDE
Based table, there are insufficient use cases to cover the Sale and the Adjustment domain
classes. The Sale class will need to have additional use cases to create, update, and delete
Sale objects. The Adjustment class will require use cases to update, report, and delete
Adjustment objects.
Figure 6-17: CRUD table showing use cases and corresponding domain classes
(Source: Satzinger, J. W., Robert, J. B., & Stephen, B. D. 2016)
The CRUD technique for validating and refining use cases includes these steps:
The domain model class diagram should be as complete as possible for the entire system
early in the project. Refinement and actual implementation of many classes will wait for later
iterations, but the domain model should be fairly complete. The domain model is necessary to
identify all the domain classes that are required in the new system. The domain model is also
used to design the database.
The solid arrows represent major dependencies. The dashed arrows show minor
dependencies. The dependencies generally flow from top to bottom, but some arrows have
two heads to illustrate that influence goes in both directions.
The use case diagram and the domain model class diagram are the primary models from
which others draw information. Should develop those two diagrams as completely as
possible.
The detailed descriptions either in use case description or in activity diagrams, provide
important internal documentation of the use cases. It must completely support the use case
diagram. It is important for development of system sequence diagrams.
The detailed descriptions, activity diagrams, and system sequence diagrams must all be
consistent with regard to the steps of a particular use case. Understanding the relationships
among these models is an important element in the quality of the models.
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 5.
CHAPTER 6 EXERCISES
Multiple Choice Questions
1. Which part of use case description identify what the state of the system must be for the
use case to begin?
A. Flow of activities
B. Scenarios
C. Preconditions
D. Postconditions
2. Which part of use case description identify the steps performed by the actor and the
responses required by the system?
A. Preconditions
B. Postconditions
C. Scenarios
D. Flow of activities
3. Which of the diagram describes flow of information into and out of the automated portion
of the system?
4. Which type of frame can be used in System sequence diagram to represent repetition?
A. opt frame
B. loop frame
C. alt frame
D. empty frame
5. Which type of frame can be used in System sequence diagram to represent if else logic?
A. loop frame
B. opt frame
C. alt frame
D. empty frame
Discussion Questions
With reference to the Bubble Tea Store “Place Order” User Story.
1. Write the Use case description for “Place Order” Use case that has actors: Customer,
Order subsystem and Barista. Remember to include the alternative activity and
exception conditions (if any).
3. Draw the System Sequence Diagram for the “Place Order” Use case between the
Customer, Ordering Processing System and Barista.
System Design is also a model-building activity. Designers convert the information gathered
during analysis, that is the requirements models, into models that represent the solution
system. System design diagrams:
• Design class diagram
• Interaction diagrams (sequence diagrams)
• Design state machine diagrams
• Package diagrams
• Component diagrams
• Deployment diagrams
System developers often ask themselves these questions to help them stay focused on the
objective of each design activity.
External systems
Interactions among external systems are identified and described by analysis activities.
During analysis, those descriptions show how information flows to and from external
systems. (e.g. from activity diagram, sequence diagram). Information about incoming and
outgoing messages is needed, including:
• Precise message formats
• Web or network addresses of sources and destinations
• Communication protocols
• Security methods
• Error detection and recovery
Technology architecture,
• set of computing hardware,
• network hardware and topology, and
• system software employed by an organization.
A useful way of starting to describe the environment is to pose a series of questions.
Questions:
• What are the key features of the existing or proposed technology environment that
will support or constrain the system?
• With what external systems and databases will the system under development
interact?
• What devices will be used for automated inputs and outputs?
• What user-interface technology will be used?
The answers to those questions provide a pool of information to be summarized in diagrams
and supporting text.
One of the first steps in this design activity is separating the software into subsystems.
Decisions are also made about the database infrastructure and about the multilayer design in
which the user interface is separated from the business logic and database processing. The
technology architecture will impact many of these design decisions.
System Copyright by SIM GE, 2021 89
Development Version 1.0
Techniques Restricted
STUDY GUIDE
Security and encryption issues, which are important aspects of information integrity.
Database may need to be replicated or partitioned at various locations around the world.
Databases may be distributed across multiple database servers and may even be located at
completely different sites. These highly technical issues often require specialized skills from
experts in database design, security, performance, and physical configuration.
Integrity Controls
• controls that reject invalid data inputs.
• prevent unauthorized data outputs.
• protect data and programs against accidental or malicious tampering.
Security Controls
• controls that protect the assets of an organization from all threats, with a primary
focus on external threats.
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 6.
CHAPTER 7 EXERCISES
Multiple Choice Questions
3. Why system analysts often need to Describes instead of Design the Environment?
A. Environment cannot be designed and can only be described
B. It is the task of system architect to design the environment.
C. It is easier to describe the environment.
D. System analyst needs to work with what is currently existing in the organisation.
5. Which of the following activity deal with how a user will interact with the system?
A. Design user interface
B. Describe the environment
C. Design the database
D. Design the software classes and methods
Discussion Questions
With reference to the Bubble Tea Store case study.
1. Answer the Questions in “Describing the Environment”. (note not all questions are
relevant)
The users interact with the application via a Web browser running on a personal computing
device. Those devices normally connect to the Internet over wireless network connections
and from there to one or more servers that host the Amazon.com shopping application. Other
servers host additional software components to process payment and schedule shipments.
8.2.1 Server
Server is a computer or group of computers that manages shared resources such as file
systems, databases, and Web sites. It enables users and other computers to access those
resources over a network. Smaller organizations may own a handful of servers or may “rent”
server capacity from larger organizations. Large computing-intensive organizations owns
server “farms” that fill entire buildings and are interconnected and replicated on a global
scale.
8.2.2 Networks
The true power of modern computing lies in the ability to interconnect them.
Computer network is a collection of hardware, software, and transmission media that enables
computing devices to communicate with one another and to share resources. Networks of all
sizes interconnect with one another to form the Internet
Internet backbone networks provide the high-capacity, high transmission speeds, and
reliability needed to carry billions of messages across regions, countries, and continents.
Owned and operated by governments or large telecommunications companies.
Local area networks (LANs) typically span a single home, small office, or one floor of a
building. Servers and personal computing devices connect wirelessly or via cables to LANs.
LANs connect to the Internet via larger networks spanning groups of buildings, cities, or
regions.
The World Wide Web ( WWW or Web) is an interconnected set of resources accessed via the
Internet. Internet and Web are used interchangeably. The distinction between them is
important for system designers. The Internet is the “highway” over which messages and
information travel from network to network, server to personal computing device, and service
provider to end user. The Web is the set of resources and services that can be accessed via
that highway. Web resources are static documents: web pages, images, videos, e-mail and
other messages, software-based services such as shopping sites and online games.
Uniform Resource Locator (URL) is to identify Web resources it composed of three parts:
Hyperlink embeds the URL of one Web resource within another Web resource.Documents,
embedded hyperlinks, and the resources pointed to by those hyperlinks form a connection
network that resembles a large spider web when diagrammed. Thus the name World Wide
Web.
8.2.3 Software
There are two types. Application software and System software.
Application software is software that performs user or business-specific tasks. App : installed
once on a computer or cell phone’s storage device. Web-based: applications that run within a
Web browser.
System software is software that works behind the scenes to support application software and
to control or interact with hardware or software resources. Operating systems (OSs) controls
what a device can and can’t do, thus enabling or limiting the application software that can be
used on the device. System software also includes database management systems, Web
browsers, Web server software.
Web-Based Applications
Characteristics of Web-based applications:
• Use of a Web browser as the primary user interface on personal computing devices
• User access to the Web application via a URL
• Server-side software components that execute on or are called from a Web server
• Use of Web standards for communication between Web browser and server
Web applications are common because of ease of access and use of widely adopted Web
standards. However, those benefits come at a cost. Web applications are a well-defined target
for security breaches because URLs and Web standards are open and widely known.
Application performance can suffer when networks are congested
Embedded Software
The OS has embedded software that provides functions for graphical display, touch screen
and gesture-based input, voice recognition, speech generation, music and video playback, and
access to the Internet and Web resources. Able to reuse the all those embedded software
across different application. Reuse benefits, a similar look and feel across applications,
application development toolkits for software developers that automate many programming
tasks, provide a direct interface to software already embedded in the device.
8.2.4 Protocols
Protocol is a set of languages, rules, and procedures that ensure accurate and efficient data
exchange and coordination among hardware and software components. Hardware, software,
and network components operate on common protocols for communication.
Network protocols enable accurate message transmission among the various computers and
software components. It enables messages to find their way from sender to recipient, enable
multiple devices to efficiently share wireless and wired connections, and handle tasks such as
identifying and retransmitting lost messages. It is implemented within all computers and
network hardware devices.
8.2.5 Firewalls
Firewalls examine incoming and outgoing packets and block those arriving from or sent to
“dangerous” URLs or network address. Thus, an information system designer must ensure
that network messages among software components won’t be blocked by a firewall at either
end.
Application architecture.
The set of information systems (the software applications) the organization needs to support
its strategic plan. It deployed on a technology architecture by distributing application
components to specific hardware devices and connecting them via networks and protocols.
Knowledge of Web services are important for system design. Scan the range of available
Web services and decide which to incorporate into their software. Expand the functions of
their own software with minimal related development cost. Decide which (if any) functions
of their own software should be implemented as Web services and made available to other
systems. Increase the potential base of software users, but also commit to making those
services available in a reliable and secure fashion over a long time period.
Three-Layer Architecture
It is a variant of client/server architecture that is used for all types of systems, from internally
deployed desktop applications to globally distributed Web-based applications. It divides the
application software into three layers that interact, as shown
The user interface or view layer, which accepts user input and formats and displays
processing results. The business logic layer or domain layer, which implements the rules and
procedures of business processing. The data layer, which manages stored data, usually in
one or more databases
Interoperability
It is the ability of a component or system to interact with other components or systems.
Allows hardware and software components that make up a modern information system must
work together. To ensure interoperability, system designers must:Understand and describe the
current environment in which the system will operate. That environment includes existing
hardware and software components, networks, and the protocols and APIs already in use.
Look for existing software components and services that can provide needed functions for the
new system. Those functions must be interoperable with the existing environment and with
components that will be built.
Network diagram
Shows how locations and hardware components are interconnected with network devices and
wiring.
Deployment Diagrams
Describes how software components are distributed across hardware and system software
components.
On the left, an application server hosts Microsoft Internet Information Server, which in turn
hosts multiple CSMS subsystems. The subsystems and their dependencies are represented as
embedded package diagrams.
On the right, a database server hosts Microsoft SQL Server 2013 as the database management
system (DBMS). In turn, the DBMS hosts three database schemas that provide permanent
storage of customer, order, and product data.
Software components in the application server communicate with the DBMS using SQL as
the primary protocol and database access language.
The designer thinks of the entire system as a single component performing all of the
functions described during analysis activities. The designer then breaks this large component
into smaller components in a generic process called factoring. The designer considers each
function separately and looks for similarities as a basis for grouping software that implements
the functions into larger application components.
Designer looks for similarities among system functions to guide factoring or grouping. Focus
on specific analysis activity descriptions like events and use cases.
• Actors. Each use case identifies one or more specific actors. Software for use cases
that interact with the same actors is a candidate for grouping into a single application
component.
• Shared data. Use cases that interact with the same domain class(es) are candidates
for grouping into a single application component.
• Events. Use cases that are triggered by the same external, temporal, or state event are
candidates for grouping into a single application component
The deployment diagram business layer can be further divided into many packages
• Group A and B - Phone sales and Store sales
• Group C – online sales – shipment and tracking
• Group D – online sales – shopping cart
• Group E – Customer account
• Feedback
• Friends
• Mountain bucks
Note group A and B is merge into one package because it is very similar. Group E can be
split into three sub packages.
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 7.
CHAPTER 8 EXERCISES
Multiple Choice Questions
A. System software
B. Operating software
C. Application software
D. Database software
2. What is a set of languages, rules, and procedures that ensure accurate and efficient data
exchange and coordination among hardware and software components?
A. Networks
B. Protocol
C. Firewall
D. Server
A. HTTP
B. URL
C. Server
D. HTTPS
A. VPN
B. SaaS
C. Web Services
D. Client/Server Architecture
5. Which of the following diagram is used to show the geographic placement of various
system components, including hardware, buildings, and users?
A. Network diagram
B. Deployment diagram
C. Map diagram
D. Location diagram
Discussion Questions
With reference to the Bubble Tea Store case study use case diagram.
2. Using the Application Component Boundary, design the Deployment diagram using
three-layer architecture.
• View (User Interface
• Controller (Business logic)
• Model (Database)
d. Explain why the Unified Modeling Language (UML) is important to use as a standard
for creating information systems models.
Based the case study process flow, document the workflow by drawing the Activity
Diagrams.
1. Draw the use case diagram based on the above user stories.
2. One of the use case in the case study is “Apply Leaves”. Write the use case
description for “Apply Leaves”
Draw the State machine diagram for the leave application process.
User interface during Analysis activity discussion of inputs and outputs with stakeholders to
identify users and actors and the information they need to carry out their business processes.
Screen layout and storyboard is a discovered with deep understanding of the user processes
and needs.
User-interface design during Design activity utilizes other analysis models as input, e.g.
system sequence diagram. It produces models in the form of sample layouts that are used by
programmers to implement the final system.
User-interface design need to consider the entire user experience, what devices are being used
and what the users are doing on those devices. It also includes the type of device: desktop,
laptop, tablet, or smartphone, type of OS: iOS, Android or Windows devices.
User Interface (UI) is the set of inputs and outputs that directly involve an application user.
The part of the system that the user sees and interacts with. The only part of the system that
the users see, to them the user interface is the system. It varies widely depending on such
factors as interface purpose, user characteristics, and characteristics of a specific interface
device. For example, for internal users the design for operational efficiency and can be
trained to use a specific interface optimized for a specific hardware device. For general
customer-accessible system we need to assume a cell phone as the input/output device and
the design is for general ease of use. User Interface must be integrated into all elements of the
system development. It should not be developed and added to the system near the end of the
development process.
Three important principles of user-centered design:
• Focus early and throughout the project on the users and their work.
• Evaluate all designs to ensure usability.
• Use iterative development.
Usability is how easy a system is to learn and use. Ensuring usability isn’t easy; there are
many different types of users with different preferences and skills. If the system has a variety
of end users, how can the designer be sure that the interface will work well for all of them?
If it is too flexible, some end users might feel lost. If the interface is too rigid, some users will
be frustrated.
The ease of learning and ease of use are in conflict. Examples of easy to learn are menu-
based applications with multiple forms, many dialog boxes, and extensive prompts and
instructions are easy to learn and self- explanatory. Appropriate for systems that end users
use infrequently. Easy to use is for internal users that use the system all day. It is important to
make the interface fast and flexible, with shortcuts, hot keys, voice commands, and
information-intensive screens. It might be harder to learn, but it will be easier to use after it is
learned.
Metaphors are items that appear on the screens are virtual entities. Items exist only as images
and sounds. Therefore, helpful for Human-Computer Interface (HCI) developers to use
metaphors based on real-world physical entities and actions to design a user interface with a
positive user experience. Metaphors make computers easier to use and learn, analogies
between features of the user interface and aspects of physical reality that users are familiar
with. It is widely applied to user-interface design.
Human-interface objects (HIOs) are objects that appear on a screen the user can manipulate.
For example: documents, buttons, menus, folders, and icons.
Affordance is to use HIOs that reflect their purpose or behaviour. It is mostly used in buttons
or other small icons. The appearance of a specific control suggests its function. For example,
a control that looks like a steering wheel suggests that it is used for turning. It can also be
achieved by a user-interface control that the user is familiar with in another context.
For example, the media player control icons shown in most music player.
HIOs should provide visual feedback when activated. Visual or audio response by the system
in response to some user action and immediate feedback on mouseover or mouse click.
Feedback provides the user with a sense of confirmation and the feeling that a system is
responsive and functioning correctly. Lack of feedback leaves the user wondering whether a
command or input was recognized or whether the system is malfunctioning.
Discoverability is the feature of the user interface that provides clues to help the users
uncover hidden features. Two ways to implement: use active discovery to help find hidden
features and use visual diagrams to help users discover functions or tools.
Active discovery is a user-interface feature that leads users into discovering hidden features.
Have a pop-up window appear at application initiation that provides hints and additional
features. Have a small text box appear as the user hovers over different locations of the
screen.
Use visual diagrams to help users discover functions or tools. This is a simple diagram that is
very expressive of how to perform a desired action.
Closure is based on the dialogue metaphor. It is a use case requires several steps to complete.
The user interface should have a clearly defined beginning and ending. Provide feedback on
the HIOs (e.g. button, icons). For a single step, have a message pop up saying that the work
was saved or the action was completed. When a use case requires several steps, important
that the user know that all the steps are completed. Have a Continue button and a Finish
button that indicate the end of the process. Can include progress bar is also included and a
final message to indicate that the dialogue has successfully finished.
For readability and navigation, text should be readable (font type, size, and colour).
The navigation should be clear. It should always allow a way out. When the user is entering
data, should be able to immediately escape from that form or page without changing the
system. The input forms have a Cancel button to immediately back out of the specific form.
Readability and navigation can be difficult to support in multiple devices. Large desktop
screens usually are quite readable, readability with small mobile devices is often a serious
problem. Large desktop screens also have a lot of space for clues about navigating through
various screens of an application. Small screens on mobile devices often require that the
navigation tools be hidden or partially hidden.
For usability and efficiency, the entire user experience must be considered to make an
application effective and usable. It should provide shortcut keys to support experienced users.
It should design error messages that provide solution options and design for simplicity.
Menus provide the mechanisms first to organize use cases and to invoke a particular use case
or user dialogue. It is needed to present the user with a number of choices per screen, to
group related functions together so users can more easily locate them.
How many main menu items are required is the common question. It can be by the number of
uses cases or menu choices, and by the limits of human cognition. For a typical business
system, dividing the total number of interactive use cases by five provides an initial estimate
of the number of menus needed. Also allows for additional menu items, such as setting
options or preferences.
We can use the two methods to group use cases into one menu item. Method one is to group
use cases with common actors and Event decomposition. Second method is to group use
cases that implement CRUD actions for a specific domain class.
For example, an initial grouping of these cases by actor and subsystem is a good starting
point for menu design.
Use cases grouped into first-cut menus by similar function and user
Each menu collects uses cases from one subsystem for a customer or internal sales
representative. The number of menu choices ranges from four to seven, won’t overload any
one menu and may enable multiple menu levels to be displayed at one time.
A dialogue design is created for each menu option. You should note that designers often
discover missing or incomplete use cases during user-interface design, which results in a brief
return to analysis activities to complete the documentation. One of the reasons we need to
start GUI design early.
Menus include options that are not activities or use cases from the event list. Many of these
options are related to the system controls, such as account maintenance or database backup
and recovery. Other added items include help links as well as links to other menus or
subsystems.
A system sequence diagram identified individual messages coming from the external actor
into the system. The messages represent forms or input screens to pass information into and
out of the system. A good starting point to identify the various screens and forms that may be
needed for the user interface for a particular use case.
This figure shows six separate data flows across the system boundary. Part of the user-
interface design process is to decide how to design the screens for these six data flows. One
pair (in and out) data flow can be on the same screen.
After identifying all required dialogues, the designer lists the key steps how the dialogues
works together. Include a description of what the user and computer do at each step. The
format for writing these steps can mimic the activity diagram.
User-interface designer needs to consider design for different type of devices: Desktop and
Laptop User Interfaces, Web-Based Applications or Tablets.
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 8.
CHAPTER 10 EXERCISES
Multiple Choice Questions
1. What is a broad concept that applies to all aspects of a person’s interaction with a product
or service?
A. User Experience
B. User Interface
C. User Design
D. User Survey
2. What is the set of inputs and outputs that directly involve an application user?
A. User Experience
B. User Interface
C. User Design
D. User Survey
3. What are items that appear on the screens are virtual entities.
A. Menu
B. Metaphors
C. Mouse pointer
D. Desktop
4. What is the feature of the user interface that provides clues to help the users uncover
hidden features.
A. Consistency
B. Continuity
C. Discoverability
D. Effectiveness
Discussion Questions
With reference to the Bubble Tea Store Order Bubble Tea use case.
Even during the productive use, a system is still a dynamic, it is updated, modified, and
repaired through smaller projects. Several projects may be required during the life of a
system, first to develop the original system and then to upgrade.
Many approaches to developing systems, and they are based on different approaches to the
SDLC. Difficult to find a single, comprehensive classification system that encompasses all
the approaches. One useful way to categorize them is along a continuum from predictive to
adaptive.
In practice, any project could have—and most do have—predictive and adaptive elements.
The figure shows them as endpoints along a continuum, not as mutually exclusive categories.
2. Project planning
Activities, involves planning, organizing, and scheduling the project. These activities
map out the project’s overall structure.
3. Analysis
Focuses on discovering and understanding the details of the problem or need. Figure
out exactly what the system must do to support the business processes.
4. Design
Focuses on configuring and structuring the new system components. It uses the
requirements that were defined earlier to develop the program structure and the
algorithms for the new system.
5. Implementation
Includes programming and testing the system.
6. Deployment
Involves installing and putting the system into operation.
The six group of activities provide the framework for managing the project.
Another phase, support phase, includes activities needed to upgrade and maintain the system
after it has been deployed. Support phase is part of the overall SDLC, but not considered part
of the initial development project. Activities are carried out sequentially rather than repeated
in each iteration.
The project is able to adapt to any changes as it proceeds. Parts of the system are available
early on for user evaluation and feedback, which helps ensure that the application will meet
the needs of the users. The above idea is known as incremental development.
Incremental development is based on an iterative life cycle. The system is built in small
increments. An increment may be developed within a single iteration, or it may require two
or three iterations. As each increment is completed, it is integrated with the whole.
The system, in effect, is “grown” in an organic fashion. The advantage of this approach is
that portions of the system get into the users’ hands much sooner so the business can begin
accruing benefits as early as possible.
Walking skeleton provides a complete front-to-back implementation of the new system but
with only the “bare bones” of functionality. It is developed in a few iterations early in the
project. It adds on the “flesh” (i.e., more functions and capabilities) in later iterations. It gets
working software into the hands of the users early in the project. Incremental development
and walking skeleton approaches have the additional advantage of extensive user testing and
feedback to the project team as the project progress.
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 10.
CHAPTER 11 EXERCISES
Multiple Choice Questions
A. The development project cannot be planned and organized and that the new
information system cannot be developed according to the plan.
B. The development project can be planned and organized but the new information
system cannot be developed according to the plan.
C. The development project can be planned and organized and that the new information
system can be developed according to the plan.
D. The development project can be planned and organized but the new information
system cannot be developed according to the plan.
4. Which phase is part of the overall SDLC, but not considered part of the initial
development project.
A. Support phase
B. Analysis phase
C. Design phase
D. Implementation phase
5. What provides a complete front-to-back implementation of the new system but with only
the “bare bones” of functionality?
A. Final implementation
B. Walking skeleton
C. Story board
D. Use case description
Discussion Questions
1. What are the advantages and disadvantages of iterative SDLC model?
3. Describe a technique you use to make sure you get assignments done on time.
What are some of the tools you use with this technique? Any iterative approach that you
have used?
Each project team will use a set of tools to build models, record information, and write the
code. These tools are considered part of the overall methodology used for a given project.
The techniques, models, and tools support one another to provide a comprehensive,
integrated methodology.
Models used in system development are representations of inputs, outputs, processes, data,
objects, object interactions, locations, networks, and devices, among other things. Mostly
graphical models drawn representations that employ agreed-upon symbols and conventions in
the form of diagrams and charts
The Unified Modelling Language is the industrial standard for software models. Models used
in system development are use case diagram, domain model class diagram, design class
diagram, sequence diagram, package diagram, screen design template, dialog design
storyboard, entity-relationship diagram (ERD) and database schema.
Some project-planning model used to manage the development process are Gantt chart,
organizational hierarchy chart, financial analysis models—NPV, payback period, system
development life-cycle model, stakeholders list and iteration plan
Software tools are available support that helps create models or other components required in
the project. Examples of UML Tools are IBM Rational and StarUML. Example of project
management software tool is Microsoft Project.
Techniques are a collection of guidelines that helps an analyst complete an activity or task.
It often includes step-by-step instructions for creating a model, or it might include more
general advice on collecting information from system users. Examples include data-modeling
techniques, software- testing techniques, user-interviewing techniques, and relational
database design techniques.
Agile development is a philosophy and set of guidelines for developing information systems
in an unknown, rapidly changing environment, complements adaptive approaches to the
SDLC and methodologies that support it. It emphasises on taking an adaptive approach and
making it agile in all development activities and tasks.
Agile modelling is a philosophy about how to build models, some of which are formal and
detailed, others sketchy and minimal. All the models you have learned how to create can be
used with Agile modelling.
The manifesto for Agile Software Development” consists of four basic values or core
philosophy:
• Value responding to change over following a plan
• Value individuals and interactions over processes and tools
• Value working software over comprehensive documentation
• Value customer collaboration over contract negotiation
Some industry leaders in the Agile movement coined the term “chaordic to describe an Agile
project. It comes from two words: chaos and order. Software projects always have
unpredictable elements—hence, a certain amount of chaos. Developers need to accept a
certain amount of chaos and mix that with other Agile modeling and development techniques
that help to provide order and structure to the project.
The Agile Modelling Principles is not about doing less modelling, but about doing the right
kind of modelling at the right level of detail for the right purposes. It doesn’t dictate which
models to build or how formal to make those models. It helps developers stay on track with
their models by using them as a means to an end rather than end deliverables. It expresses the
attitude that developers should have as they develop software.
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 10.
CHAPTER 12 EXERCISES
Multiple Choice Questions
A. Dataflow language
B. Unified modelling language
C. Entity-relationship diagram
D. Standard software language
A. It provides guidelines for every aspect of the system development life cycle.
B. It provides guidelines for some aspects of the system development life cycle.
C. It provides strict rules for every aspect of the system development life cycle.
D. It provides strict rules for some aspect of the system development life cycle.
Discussion Questions
1. What is Agile development?
4. What are some other techniques you use to help you to complete activities in your
life? How can you apply Agile values in this aspect?
Think of how people in a company from different department works together to run the
company. Each department is a layer (e.g. view, controller, model), a people is an object.
People communicate with each other, that is object calling another object method.
A window object that displays a form, user enters a student ID and other information
(message 1). After the student ID is entered, the Window object sends a message (message 2)
to the Student class to tell it to create a new Student object (instance) in the program. The
new Student object knows that it needs more data for some of its attributes based on internal
logic in the student class, The Student object send a message to a Database Access object
asking for data from the database (message 3). Once the Student object is completely
instantiated with all the required data, the Student object sends the information back to the
Window object to display it on the screen. The user then enters the updates to her personal
information (message 4), and another sequence of messages is sent to update the Student
object in the program, which forwards information to the Database Access object and writes
it to the database.
An object-oriented program consists of many objects. Each object consists of program logic
exists in small segments called methods. Methods are “called” or invoked through messages
Object calling methods of another object. There are three type of objects, “Three-layer
architecture,”: Window object (view layer), Student object (domain or business logic layer)
and Database Access object (data layer).
For each use case, the design models must provide the information required to
identify the classes and document the flow of execution (for coding of methods)
Diagram below shows the model building process flows from analysis to design to
implementation.
To document the flow of execution of a particular use case, use sequence diagram, a
communication diagram, or CRC (class responsibility collaboration) cards. Do not need to
use all three for any given use case. Sequence diagrams and communication diagrams are
standard UML interaction diagrams. CRC cards are not standard UML, but are very popular
for designing simple system
System sequence diagrams (SSD) only used in analysis phase.Only two actors, the external
actor and the system. Sequence diagram expands the system object to identify the internal
interacting objects.
A communication diagram provides basically the same information as sequence diagram, but
in different formats.
The Class Responsibility Collaboration (CRC) diagram shows both front and back sides of
one single CRC card. The card represents a class. The list on the front left is the
“responsibilities.”. The list on the front right is the other classes with which this class must
“collaborate.”. The list on the back is the attributes.
For simple use cases, at times it is easier just to code the use case, rather than develop a
formal use case design. If a model or diagram will assist in that objective, then it should be
created. If it does not contribute directly to the end result, then time should not be spent on it.
However, should not just skip modelling with the assumption that a model is a distraction
rather than a necessary step in creating a solid design for the software.
In any of the three techniques for modelling, the objective is to identify and define the
methods that are required in each class. The final design class diagram documents these
required methods. A package diagram is added to divide the classes into components or
subsystems that can be implemented as a unit.
Design class diagram contains the final definition of each class in the final object-oriented
software system. The primary source of information for this diagram is the domain model.
The domain model shows a set of problem domain classes and their associations. It serves as
the basis for database design, and for the software classes as defined in the design class
diagram. It is done in analysis stage, generally don’t worry much about the details of the
attributes
In design stage, enhance the domain model to get the Design class diagram. The attributes of
a class must be declared as public or private and attribute must also be defined by its type,
(e.g. String or numeric). Need to define the methods and parameters that are passed to the
methods and the return values from methods.
As developers build the design class diagrams, they add many more classes that were not
originally defined in the domain model. Refer to previous Update student information, the
Input window objects and Database access objects are examples of additional classes that are
not problem domain classes. The classes in a system can be partitioned into distinct
categories, such as user-interface classes or data access classes. (stereotyping). At times,
designers may also develop distinct class diagrams by subsystem.
Entity class design stereotype for a problem domain class. It is typically describes something
users deal with when doing their work. Objects of entity classes usually need to be
remembered. It is also referred to as persistent classes. The way to make data persistent is to
write it to a file or database so that it is saved and can be retrieved at a later execution of the
software.
Boundary or view class is specifically designed to live on the system’s automation boundary.
In a desktop system, these classes would be the windows classes or Web pages and all the
other classes associated with the user interface. Could also be a system interface between a
company’s system and an external system.
Controller class mediates between the boundary classes and the entity classes. The
responsibility is to catch the messages from the boundary class objects and send them to the
correct entity class objects. It acts as a kind of switchboard between the boundary or view
layer and the domain layer.
Data access class is used to retrieve data from and send data to a database. It also called a
database access class. It is a separate layer of classes to access the database is often included
in the design. It separates the insert database access logic, including SQL statements, from
the entity class.
Visibility denotes whether other objects can directly access the attribute. The + plus sign,
denotes public. The - minus sign denotes private. The # pound sign denotes protected.
The data-type-expression denotes the return datatype such as character, string, integer,
number, currency, or date. Can include initial-value, if applicable. Property (within curly
braces), such as {key}, if applicable
Method signature shows all the information needed to invoke (or call) the method. It shows
the format of the message that must be sent, which consists of these attributes: Method
visibility, Method-name, Method-parameter-list (incoming arguments) and Return-type-
expression (the type of the return parameter from the method). Note some programming
language (e.g. Java) does not include Return-type-expression as method signature.
Domain model includes attribute list contains all attributes discovered during analysis
activities. Class diagram includes more information on attribute types, initial values, and
properties and include a stereotype for clarification. UML is meant to be a general object-
oriented notation and not specific to any one language. Thus, the notation won’t be the same
as programming method notation.
Class-level method refers to static method in Java. Refer to Student class, the method called
findAboveHours (int hours): studentArray, which is denoted with an underline. Class-
level/Static method belongs to the Class. Instant method (non underline) belongs to each
object.
The abstract class is class name that is italic. (e.g. Sale). An abstract class that can never be
instantiated. It is to be inherited by other class. It provides a central holding place for all the
attributes and methods that each of the three subclasses will need
Navigation Visibility is ability of one object to interact with and send messages to another
object. Diagram shows “one-way” navigation visibility between the Customer class and the
Sale class. “one-way” because Customer can interact with Sale, but Sale does not have a
direct reference back to Customer. Navigation arrow indicates that a Sale object must be
visible to the Customer object. Variable mySale in the Customer class refers to a Sale
instance. The mySale attribute is included in the example to provide a way to actually
implement it. (reference or pointer). Tthink of it as having a Sale object embedded within the
Customer object
In database implementation, do the reverse. Put a foreign key of the Customer in the Sale data
record to capture the one-to-many relationship. (One customer has many sales.)
Which classes need to have references to or be able to access which other classes?
General guidelines:
• One-to-many associations
– indicate a superior/subordinate relationship are usually navigated from the
superior to the subordinate
– for example, from Sale to SaleItem.
• Mandatory associations,
– objects in one class can’t exist without objects of another class, are usually
navigated from the independent class to the dependent class—for example,
from Customer to Sale.
• When an object needs information from another object, a navigation arrow might
be required, pointing either to the object itself or to its parent in a hierarchy.
• Navigation visibility arrows may be bidirectional—for example, a Sale object
might need to send a message to its Customer object as well as the reverse.
• Controller class:
– The very first step to do when creating the first-cut design class diagram is to
add a controller class.
– is a switchboard between the input screens and the programming logic classes,
i.e. the domain classes, for a particular use case.
– always create a controller class for each use case, and place it between the
user-interface classes and the problem domain classes.
– More details in next lesson.
Adding a controller class includes SaleHandler as the controller class. A controller class, or
use case controller, is a utility class that helps in the processing of a use case. It has
navigation visibility at the top of the visibility hierarchy and starts the use case by messaging
a customer. To elaborate attributes, add type information and visibility. To identify
navigation visibility, first identify which classes may be involved and then determine the
classes that require navigation visibility to other classes.
CRC card with lines that partition it into three areas: class name, responsibility, and
collaboration classes.
5. Add any other required utility classes that are needed to the solution.
• For example, for a three-layer design, data access classes will be part of the
solution.
• Usually, each persistent domain class will have a data access class to read and
write to the database.
At the end of the process, we have a small set of CRC cards that collaborate to support the
use case. The process can be enhanced by arranging the CRC cards on the table in the order
they are executed or called. That is the calling order can be determined at this time. (for
drawing of sequence diagram later)
Knowing object’s responsibilities for knowing about its own data. Know how to maintain the
information in those attributes. Know where to go to get information when required and
navigation visibility and knowing about other classes with which it must collaborate to carry
out use cases.
Doing means all the activities an object performs to complete a use case. The activities
include receiving and processing messages. Instantiate, or create, new objects that may be
required for completion of a use case. Classes must collaborate to carry out a use case, and
some classes are responsible for coordinating the collaboration.
Protection from variations (change) means that parts of a system that are unlikely to change
should be segregated (or protected) from those that will change. It tries to isolate the parts
that will change from those that are more stable. It uses multilayer design pattern. Decouple
the user-interface logic from the business logic. The user interface can be rewritten without
affecting the business logic. In other words, the business logic—being more stable—is
protected from variations in the user interface.
Indirection is the principle of separating two classes or other system components by placing
an intermediate class between them to serve as a link. Don’t send a direct message from A to
B. Let A send the message to C and then let C forward it to B. It is implemented using a Use
case controller. The controller is a separate class that receives all the inputs and directs it to
the appropriate domain classes.
Coupling is a qualitative measure of how closely the classes in a design class diagram are
linked. A simple way to think about coupling is by the number of association relationships
and whole/part relationships on the design class diagram. Navigation visibility, measures
what a class can link to and access. Low coupling is usually better for a system than high
coupling.
Cohesion is the consistency of the functions within a single class and is a qualitative measure
of its focus or unity of purpose. Classes need to be highly cohesive to be well designed. That
is one class only do one thing (and one thing good). Classes with low cohesion have several
negative effects. It is hard to maintain because they perform many different functions,
tend to be overly sensitive to changes within the system (ripple effects). Usually difficult to
understand, their functions are intertwined, and their logic is complex.
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 12.
CHAPTER 13 EXERCISES
Multiple Choice Questions
1. For a very complex use case, which of the diagram is the most suitable?
A. CRC cards
B. Sequence diagram
C. Communication diagram
D. System Sequence diagram
A. Inheritance
B. Abstract
C. Stereotype
D. Static
A. Static
B. Stereotype
C. Inheritance
D. Abstract
A. Ability of one object to interact with and send messages to another object.
B. Ability of one object to hide the implementation.
C. Ability of one class to be instantiated.
D. Ability of one class to be hidden.
A. minus
B. plus
C. pound
D. asterisk
Discussion Questions
A preliminary Customer Bubble Tea ordering app was written in Java for the user feedback.
1. Analysis the Java program.
2. Draw the prelim Design Class Diagram.
Interaction diagrams are the heart of object- oriented design. Realization of a use case
determines what objects collaborate and the messages they send to each other to carry out the
use case (interaction diagram)
There are two types of interaction diagram: communication diagrams and sequence diagrams.
Communication diagrams is a little less detailed. It provides a broad “overview” picture of
the interactions. It works best for use cases that are not too large with many messages. It
provides a snapshot view of the classes and messages. The disadvantage are not much space
allowed for messages, can easily become cluttered with overlapping information.
Sequence diagrams provide more detailed and allow the designer to visually document the
process flow of the messages.
The Actor represents an external role of the person or thing that initiates the use case by
sending the initial message and any other messages to the system.
The Messages come into the system through data that is entered on forms. It comes
electronically by other external devices or systems.
Object is instantiated class objects that perform actions to help carry out the use case. It can
both receive messages and send messages. The object notation is a colon and underlining
Link connectors illustrate the flow of the messages. It shows where the messages flow.
Messages can flow in either direction on a link.
Message send from an object or actor to an object or actor. It is a request for service. It can
return data from a previous message. It invokes a service in an object. In programming terms,
a message is the same as a procedure call or a method call.
Message syntax is
[true/false condition] sequence-number:
return-value: = message-name (parameter-list)
The True/false condition is tested for true or false. If it is true, then the message is sent; if
false, the message is not sent. It only applies to sending the message. It is optional.
The sequence number is used to identify the order of the messages. It uses hierarchical dot
notation (i.e., 1.0, 1.2, 2.1.3, etc.). If a use case has two separate input messages, each with
several subsequent messages that travel the same links, they could be uniquely partitioned by
using 1.0 and 2.0 series.
Return-value is value that the message returns after the completion of the service requested in
the forward part of the message. In programming terms, this is similar to a method return
value. Return values can be returned either with this format (i.e., as part of the message) or as
a separate return message.
Message-name usually uses camel case with the initial letter lowercase. Name the message by
describing the service that is requested from the destination object. For example,
createAccount could be a message name that requests the specific service from the
destination object. If a return-value is given, the name and return value are separated by “:=”.
Parameter-list contains items that are being passed to the destination object via the message.
In programming terms, these are the arguments.
The following diagram shows a prelim communication diagram for the Create customer
account use case.
The asterisk between the number and the name indicates that the message may be sent
multiple times.
Next enhance the first cut Design Class diagram using communication diagram to produce
the final design class diagram for the use case. First-cut design class diagram gives a
preliminary idea of what domain classes will be involved and the logical navigation visibility
relationships. It is helpful to have either an activity diagram or a system sequence diagram
and a detailed use case description for the final design class diagram.
Figure 14-4: First-cut design class diagram for Create customer account
(Source: Satzinger, J. W., Robert, J. B., & Stephen, B. D. 2016)
For each input message, extend the message to the internal objects within the :System object.
Follow this process:
Step 1:
• From the first-cut design class diagram, identify the classes that will be required to
carry out the execution of the message.
§ Place the corresponding objects on the diagram.
• Example: The required classes for this message are CustomerHandler and Customer.
Step 2:
• Beginning with the input message, identify each message that will be required for
each of the included objects on the diagram.
• For each message, ensure that the origin object has navigation visibility to the
destination object.
• Determine which object should have primary responsibility for completing the
required service.
• Place appropriate messages based on navigation and responsibility.
• Example:
– The required message is createNewCustomer and comes from the Clerk to
the :CustomerHandler.
– The :CustomerHandler then forwards that same message to the :Customer
object.
– The :Customer object is the appropriate object to carry out this service.
– The constructor method in the Customer class instantiates a new :Customer
object.
– This is shown in the diagram with a message directly to the :Customer object.
Step 3
• Name each message to reflect the service requested from the destination object.
• Identify and include the parameters that the destination object will require to carry out
the requested service.
• Identify and name any return messages or return values that need to be returned to
origin objects.
• Example
– The name of the message is appropriate as given in the SSD.
– The parameters on the SSD, however, do not reflect the attributes of the
Customer class.
– The accountNo and status attributes are both determined by the constructor.
– The other attributes—name, mobilePhone, homePhone, and emailAddress—
need to be passed in as arguments.
– The input parameter list will be modified to reflect these changes.
Figure 14-6: Final communication diagram for Create customer account use case
(Source: Satzinger, J. W., Robert, J. B., & Stephen, B. D. 2016)
The final communication diagram for this use case is show in the previous slide. All the
return messages are included in this final diagram. The diagram contains only problem
domain objects and does not include view layer or data access layer. Identify the messages in
the communication diagram and add those messages as methods in each class.
Figure 14-7: Design class diagram for methods added from Create customer account
(Source: Satzinger, J. W., Robert, J. B., & Stephen, B. D. 2016)
System Copyright by SIM GE, 2021 153
Development Version 1.0
Techniques Restricted
STUDY GUIDE
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 13.
CHAPTER 14 EXERCISES
Multiple Choice Questions
A. It is very detailed.
B. Provides a broad “overview” picture of the interactions.
C. Works best for use cases that are not too large with many messages.
D. It provides a snapshot view of the classes and messages.
3. What represent an external role of the person or thing that initiates the use case by
sending the initial message and any other messages to the system?
A. Message
B. Object
C. Actor
D. Link
4. What comes into the system through data that is entered on forms. It comes electronically
by other external devices or systems?
A. Actor
B. Object
C. Link
D. Message
5. What is instantiated class objects that perform actions to help carry out the use case. It
can both receive messages and send messages?
A. Actor
B. Message
C. Object
D. Link
Discussion Questions
A preliminary Customer Bubble Tea ordering app was written in Java for the user feedback.
1. Analysis the Java program.
2. Select a few simple use cases (e.g. View Menu) and draw the Communication
Diagram.
System sequence diagram only has two lifelines—one for the actor and one for the system.
Starting with the System sequence diagram, each input message is taken, one at a time, and
extended to all of the internal classes so that the desired result is obtained. Any data to be
returned is identified and added.
Below is the sequence diagram solution of the Create customer account use case.
Developed using the same three steps that were used to extend communication diagram
messages. It has the same set of messages but displayed differently. The primary benefit of
the sequence diagram is the ability to lay out the messages from top to bottom to emphasize
the sequence of firing.
Figure 15-1: Communication diagram from Create customer account use case
(Source: Satzinger, J. W., Robert, J. B., & Stephen, B. D. 2016)
Figure 15-2: Sequence diagram from Create customer account use case
(Source: Satzinger, J. W., Robert, J. B., & Stephen, B. D. 2016)
Sequence Diagram has the actor is an external role, in this case, a Clerk. The boxes are
instantiated objects from the corresponding classes. Object notation is used. E.g.
aC:Customer. Below each actor and object is a lifeline, which is used as an indicator of the
life of the object. Attached to locations of each lifeline are vertical boxes representing
activation lifelines. It is the time period when a method is executing. Messages are attached
to the lifeline either as a source point or a destination point.
There are two ways to indicate data being returned; by a return assignment with the “:=”
operator, or as a return message using a dashed arrow.
The responsibility assigned to :Customer is to be in charge of creating itself and to control the
other required updates to subordinate objects. The :Address and :Account objects create
themselves. The assignment of responsibilities and corresponding messages conforms to
good design principles. Other issues will need to be addressed as the design expands to
include three layers.
Figure 15-4: Add customer account use case with view layer added
(Source: Satzinger, J. W., Robert, J. B., & Stephen, B. D. 2016)
System Copyright by SIM GE, 2021 159
Development Version 1.0
Techniques Restricted
STUDY GUIDE
When an object is updated, it also needs to be written to the database. Send a message to the
data access object together with the required parameters. The data access method can pull out
the attributes, format an SQL insert or update statement, and write it to the database.
Addition three data access objects and have the newly created objects send messages to write
themselves out to the database. The diagram is organized with
• the view layer on the left,
• the problem domain layer in the middle, and
• the data access layer on the right.
Dependency relationship is shown by the arrow’s tail is connected to the package that is
dependent. Arrowhead is connected to the independent package. To read a dependency
relationship, read it in the direction of the arrow. If one element changes (the independent
element), the other (dependent) element might also have to be changed. If a change is done in
the independent element, need to check how the change affect the dependent element.
Dependency relationships can be between packages or between classes within packages.
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 13.
CHAPTER 15 EXERCISES
Multiple Choice Questions
1. Primary benefit of the sequence diagram over communication diagram is the ability to
A. Design process for sequence diagrams is not the same as communication diagrams.
B. Design process for sequence diagrams is the same as communication diagrams.
C. Design process for sequence diagrams almost the same communication diagrams.
D. Design process for sequence diagrams the same use case diagrams.
3. The two ways to indicate data being returned in a Sequence Diagram are:
A. i and ii
B. i and iii
C. ii and iii
D. 1 and iv
Discussion Questions
A preliminary Customer Bubble Tea ordering app was written in Java for the user feedback.
1. Analysis the Java program.
2. Select a few use cases and draw the Sequence Diagram.
3. Draw the Package Diagram.
16.1 Testing
Testing is part of implementation activities under the core processes.
The developers test software by designing and building the software, exercising its function,
and examining the results. If the results indicate a shortcoming or defect, then the project
team cycles back through earlier implementation or deployment activities until the
shortcoming is remedied or the defect is eliminated.
There are four types of testing for different phase. During Implementation: Unit Testing and
Integration Testing. During Deployment: System testing and User acceptance testing (UAT)
During implementation unit testing, software components must perform to the defined
requirements and specifications when tested in isolation. For example, a component that
incorrectly calculates sales tax amounts in different locations is unacceptable.
During Deployment user acceptance testing (UAT), software must not only operate correctly,
but must also satisfy the business need and meet all user “ease of use” and “completeness”
requirements. For example, a commission system that fails to handle special promotions or a
data-entry function with a poorly designed sequence of forms is unacceptable.
Test data is represented by the starting and ending states and the events. For example, the
starting state of a system may represent a particular set of data, such as the existence of a
particular customer and order for that customer. The event may be represented by a set of
input data items, such as a customer account number and order number used to query order
status. The expected response (ending) may be a described behaviour, such as the display of
certain information, or a specific state of stored data, such as a cancelled order.
Three primary characteristics of a unit test: done in isolation, test data and the test are done
by the programmer who wrote the code. It is done quickly without a large requirement for
other resources.
Unit test of a component often depends on others unit, either to receive a parameter or to
output a result. For example: blue is the unit to be tested, green is the input or output units.
Unit test would need a driver and a stub to be written and used to test the unit. In this
example, the stubs are overlapped to indicate that a single stub class could be used to receive
all unit test results.
Programmers should use automated tools (e.g. JUnit) to write unit tests codes. Unit test data
should include both good and bad test data. Unit testing should enhance the programmer’s
productivity, not consume a lot of resources. In an iterative development project where the
philosophy is that the system is developed organically, software methods or classes can be
written, unit tested, and quickly integrated into the new system as it gradually “grows.”
Two types of results that can be tested: test the interface itself between the components and
Integration testing activities.
Parameter values: a method is passed or returns a value that was unexpected, such as a
negative number for a price.
Unexpected state interactions: the states of two or more objects interact to cause complex
failures, Example bubble tea order object state is “collected” and is passed to on to a Place
Order process. Tested is the value of the expected result.
Creating test data: integration test data is more complex and usually requires coordination
between programmers. Responsibility for coordinating the creation, formatting, recording,
use, and updating of the test data must be assigned.
Conducting the integration test: decisions must be made, and assignments given about who
will conduct the integration tests, how they are done, what resources are used, and how
frequently they are executed.
Evaluating the results: often this requires involvement by all the programmers.
Logging test results: an error log is usually kept at this point to ensure that errors are tracked
and corrected.
Correcting the code and retesting: programmer makes the corrections, conducts any required
unit tests, and submits the components back for integration testing.The person conducting the
integration test usually attempts to identify and isolate the cause of the error as much as
possible.
The types of System test are Build and smoke and Performance test (stress test).
Performance test includes Response time and Throughput
Build and smoke test is a system test that is typically performed daily or several times per
week. The system is completely compiled and linked (built), and a list of tests is executed to
see whether anything malfunctions in an obvious way (“smokes”).
Build and smoke test provides rapid feedback on significant integration problems. Any
problem that occurs during a build and smoke test must result from software modified or
added since the previous test. Daily testing ensures that errors are found quickly and that they
can be easily tracked to their sources. Less-frequent testing provides rapidly diminishing
benefits because more software has changed and errors are more difficult to track to their
sources.
A performance test, (stress test) determines whether a system or subsystem can meet such
time-based performance criteria as response time or throughput. Response time requirements
specify desired or maximum allowable time limits for software responses to queries and
updates. Throughput requirements specify the desired or minimum number of queries and
transactions that must be processed per minute or hour.
Performance tests are complex because they can involve multiple programs, subsystems,
computer systems, and network infrastructure. It require a large suite of test data to simulate
system operation under normal or maximum load.
In some cases, UAT is a formal milestone, and requires completion and sign-off by the client.
Details of acceptance tests may even be included in a request for proposal (RFP) and
procurement contract when a new system is built by or purchased from an external party.
Payments to the developers are often tied to passing specific acceptance tests.
All too often, because the project is behind and the delivery date is fast approaching, UAT is
minimized or partially skipped. However, minimizing the UAT is always a mistake and a
source of problems and disagreements. It is the UAT that verifies that the system is ready to
be deployed. If the UAT is minimized or skipped, then it is almost a certainty that the
deployed system will have major problems.
System Copyright by SIM GE, 2021 168
Development Version 1.0
Techniques Restricted
STUDY GUIDE
Planning the UAT should be included in the total project plan, included in specific iterations
or have its own iterations toward the end of the project. Detailed plans for the UAT itself
need to be developed early. Waiting until late in the project to plan the UAT causes serious
difficulties and delays. Test functional and non-functional requirements. .
Use user stories and use cases descriptions as inputs to develop UAT test cases. Developing
the details of what is to be included in the UAT occurs throughout the project. The UAT test
plan begins early and continues throughout the project.
As each requirement is specified, the following question should be asked: “How can the UAT
test that this specification is complete?”
UAT test data includes two primary types of test data: data entered by users and internal data
residing in the database. The test data entered by users can be precisely defined and
documented. Verification of expected results is easier. Create ad hoc data based on the
requirement to be tested
Management and Execution of the UAT decide who will participate and who has
responsibility for the UAT. Ideally system users have primary responsibility. Should take full
responsibility for identifying test cases, creating test data, and carrying out the UAT.
Unfortunately, in many organizations, the users either are not prepared, do not have enough
expertise, or do not have time from their regular responsibilities to take over the testing
completely. It is common that some project personnel are required to help plan, organize, and
execute the tests on behalf of system users.
both users and development personnel are part of the team. Specific tests need to be
scheduled. Test data needs to be ready and in place. Specific users will have assignments to
complete their tasks. At the conclusion of each test, the results must be verified. If there are
failures, the required fixes must be documented and tracked. The test case tracking list must
be kept to track errors (if any)
System Copyright by SIM GE, 2021 169
Development Version 1.0
Techniques Restricted
STUDY GUIDE
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 14.
CHAPTER 16 EXERCISES
Multiple Choice Questions
A. i and ii
B. ii and iii
C. i and iv
D. iii and iv
i. Unit Testing
ii. Integration Testing
iii. System testing
iv. User acceptance testing (UAT)
A. i and ii
B. ii and iii
C. i and iv
D. iii and iv
3. Which type of test is to ensure that software components must perform to the defined
requirements and specifications in isolation.
A. Unit Testing
B. Integration Testing
C. System testing
D. User acceptance testing (UAT)
4. Which type of test is to ensure that software components perform correctly when
executed in combination with other components.
A. Unit Testing
B. Integration Testing
C. System testing
D. User acceptance testing (UAT)
5. Which type of test is to ensure that software satisfy the business need and meet all user
“ease of use” and “completeness” requirements.
A. Unit Testing
B. Integration Testing
C. System testing
D. User acceptance testing (UAT)
Discussion Questions
A preliminary Customer Bubble Tea ordering app was written in Java for the user feedback.
Write the Unit Test code for ShoppingCart class.
Unit Test the following methods:
- addOrder
- getOrders
- placeOrder
- getPendingOrders
- clearAllOrdersHistory
Assume you are the Manager of the Bubble Tea shop and you are tasked to do the UAT for
Bubble Tea Client.
Write the test cases to perform the UAT.
Reloading Databases
More complex changes to database structure may require creating an entirely new database
and copying and converting data from the old database to the new database. Utility programs
supplied with the DBMS are used to copy and convert the data. In more complex
conversions, implementation staff must develop programs to perform the conversion and
transfer some or all of the data.
End users are people who use the system from day to day to achieve the system’s business
purpose. System operators are people who perform administrative functions and routine
maintenance to keep the system operating.
Documentation and other training materials are usually developed before formal user training
begins. Each documentation type is targeted to a different purpose and audience.
Documentation can be loosely classified into two types: System documentation and User
documentation. System documentation has descriptions of system requirements, architecture,
and construction details. User documentation has descriptions of how to interact with and use
the system
System Documentation provides information to developers and other technical personnel who
will maintain and upgrade the system. It is generated throughout the SDLC by each core
process and many development activities. System documentation developed during early
project iterations guides activities in later iterations, and documentation developed
throughout the SDLC guides future system maintenance and upgrades
User Documentation provides ongoing support for end users of the system. It describes
routine operation of the system, including such functions as data entry, output generation, and
periodic maintenance. Topics typically covered include the following:
• Software start-up and shutdown
• Keystroke, mouse, or command sequences required to perform specific functions
• Program functions required to implement specific business procedures (e.g., the steps
followed to enter a new customer order)
• Common errors and ways to correct them
Each standard also defines a set of supporting system software to provide needed services,
such as maintaining component directories, enforcing security requirements, and encoding
and decoding messages across networks and other transport protocols. The exact system
software, its hardware, and its configuration requirements vary substantially among the
component interaction standards.
The diagram shows a typical support infrastructure for an application deployed using
Microsoft .NET, a variant of SOAP.
Unless it already exists, all this hardware and system software infrastructure must be
acquired, installed, and configured before application software can be installed and tested.
In most cases, some or all of the infrastructure will already exist—to support existing
information systems. In that case, developers work closely with personnel who administer the
existing infrastructure to plan the support for the new system. In either case, this deployment
activity typically starts early in the project so software components can be developed, tested,
and deployed as they are developed in later project iterations.
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 14.
CHAPTER 17 EXERCISES
Multiple Choice Questions
3. Descriptions of how to interact with and use the system is written in which
documentation?
A. User documentation
B. System documentation
C. Use case documentation
D. Interaction documentation
A. User documentation
B. System documentation
C. Use case documentation
D. Interaction documentation
5. Which of the following statement with regard to Configuring the Production Environment
is false?
A. Modern applications are built from software components based on proprietary
standards
B. Modern applications are built from software components based on same standards
C. Modern applications are built from software components based on .Net standards
D. Modern applications are built from software components based on Java EE standards
Discussion Questions
A preliminary Customer Bubble Tea ordering app was written in Java for the user feedback.
1. Produce the user guide for the end user.
2. Include screen capture in the user guide.
The advantages are simplicity and old and new systems aren’t operated in parallel, fewer
logistical issues to manage and fewer resources required. The disadvantage is risk, older
systems aren’t operated in parallel, no backup if the new system fails.
The advantage is relatively low operational risk. Any failure in the new system can be
mitigated by relying on the old system. The disadvantage is cost, during the period of parallel
operation, the organization pays to operate both systems. Full parallel operation may be
impractical, for example new and old system are using the same hardware.
A partial parallel operation may be employed if full parallel operation is not possible
Possible modes of partial parallel operation:
• Processing only a subset of input data in one of the two systems. The subset could be
determined by transaction type, geography, or sampling (e.g., every 10th transaction).
• Performing only a subset of processing functions (e.g., updating account history but
not printing monthly bills).
• Performing a combination of data and processing function subsets.
The Phased deployment diagram shows a phased deployment with direct and parallel
deployment of individual phases. The new system replaces two existing systems. The
deployment is divided into three phases. The first phase is a direct replacement of one of the
existing systems. The second and third phases are different parts of a parallel deployment
that replace the other existing system
The advantage is reduced risk because failure of a single phase is less problematic than
failure of an entire system. The disadvantages are cost and increased complexity. Dividing
the deployment into phases creates more activities and milestones, thus making the entire
process more complex. However, each phase contains a smaller and more manageable set of
activities. If the entire system is simply too big or complex to install at one time, the reduced
risks of phased deployment outweigh the cost and increased complexity
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 14.
CHAPTER 18 EXERCISES
Multiple Choice Questions
1. Which of the deployment installed the new system and quickly made operational, and any
overlapping systems are then turned off?
A. Direct deployment
B. Parallel deployment
C. Phased deployment
D. All of the above
2. Which of the deployment, the old and new systems are operated for an extended period of
time (typically weeks or months)?
A. Direct deployment
B. Parallel deployment
C. Phased deployment
D. All of the above
3. Which of the deployment, the system is deployed in a series of steps or phases. Each
phase adds components or functions to the operational system.
A. Direct deployment
B. Parallel deployment
C. Phased deployment
D. All of the above
A. Direct deployment
B. Parallel deployment
C. Phased deployment
D. All of the above
A. Direct deployment
B. Parallel deployment
C. Phased deployment
D. All of the above
Discussion Questions
1. How to reduce risk for direct deployment?
2. What are the extra costs associated with operating two systems in parallel?
3. Write the deployment plan for the Bubble Tea ordering system.
• User app to order bubble tea in store
• System process the order
• App for the barista to view order, process order and inform the user to collect
the bubble tea.
• User app to order bubble tea in store at home, assume using third party
delivery service GrabFood.
• Manager website for data analytics
• User app for membership (e.g. points and reward system)
Three methodologies that incorporate Agile principles: The Unified Process, (UP), Extreme
Programming (XP) and Scrum.
Organizations either mix and match techniques from the three or only adopt a specific set of
practices. Adoption of these methodologies continues to expand throughout all types of
organizations that develop software applications.
The UP divides a project into four major phases, each phases has a different focus.
• Inception Phase
• Elaboration Phase
• Construction Phase
• Transition Phase
UP Phases
Each phase describes the emphasis or objectives of the project team members and their
activities at that point in time. It provides a general framework for planning and tracking the
project over time. Within each phase, several iterations are planned to give the team enough
flexibility to adjust to problems or changing conditions.
Inception
Inception phase develops an approximate vision of the system, make the business case, define
the scope, produce rough estimates for cost and schedule and usually completed in one
iteration
Elaboration Phase
In elaboration phase, a high percentage of time is spent on understanding and analysis.
Identify and describe all requirements, finalize the scope, design, implement the core
architecture and functions and produce realistic estimates for cost and schedule
Elaboration Phase
To resolve high risks, the aspects of the system that pose the greatest risk are identified and
implemented first. Until developers know exactly how the highest-risk aspects of the project
will work out, they can’t determine the amount of effort required to complete the project. The
requirements are expected to evolve and change after work starts on the project. It usually
involves several iterations
Construction Phase
Iteratively implement the remaining lower-risk, predictable, and easier elements and prepare
for deployment. For example, detailing the system controls, such as data validation, fine-
tuning the user-interface design, finishing routine data maintenance functions, and
completing the help and user preference functions. Begins to plan for deployment of the
system.
Transition Phase
One or more final iterations involve the final user acceptance and beta tests, and the system is
made ready for operation. After the system is in operation, it will need to be supported and
maintained.
Each iteration, typically last four weeks and size of the shaded area under the curve for each
discipline indicates the relative amount of work included from each discipline during the
iteration
UP Disciplines are divided into two main categories: system development activities and
project management activities. The system development activities are business modelling,
requirements, design, implementation, testing and deployment. The project management
activities are configuration and change management, project management, and environment.
In Inception phase, the project manager might complete a model showing some aspect of the
system environment. The scope of the system is shown by defining many of the key system
requirements and listing use cases (the requirements discipline). To prove technological
feasibility, some technical aspect of the system might be designed (the design discipline),
programmed (the implementation discipline), and tested to make sure it will work as planned
(the testing discipline). The project manager makes plans for handling changes to the project
(the configuration and change management discipline), working on a schedule and
cost/benefit analysis (the project management discipline), and tailoring the UP phases,
iterations, deliverables, and tools to match the needs of the project (the environment
discipline).
The elaboration phase includes several iterations. The team works on the details of the
domain classes and use cases addressed in the iteration (the business modeling and
requirements disciplines). Complete the description of all use cases to finalize the scope (the
requirements discipline).
In elaboration phase the team works on the use cases addressed in the iteration are designed
by creating design class diagrams and interaction diagrams (the design discipline),
programmed using e.g. Java (the implementation discipline), fully tested (the testing
discipline). The project manager works on the plan for the next iteration and continues to
refine the schedule and feasibility assessments (the project management discipline), all team
members continue to receive training on the UP activities they are completing and the system
development tools they are using (the environment discipline).
In construction phase, most of the use cases have been designed and implemented in their
initial form. It focuses of the project turns to satisfying other technical, performance, and
reliability requirements for each use case, finalizing the design, and implementing the design.
These requirements are usually routine and lower risk, but they are key to the success of the
system. The effort focuses on designing system controls and security and on implementing
and testing these aspects.
19.1.4 UP Disciplines
The project management activities includes Configuration and change management and
Project management
Configuration and change management involve setting up processes to support the coding
activities. It includes guidelines as when and how to release code as well as when and how to
manage releases and versions.
Project management includes planning the iterations, assigning work, and verifying that work
has been completed. The Environment involves those tasks required to establish the working
environment, tools to be used by the team and guidelines about how to work together in an
iterative Agile project.
Unified Process should always be tailored to the project,tailored to the development team and
the specific project. The choices must be made about which deliverables to produce and the
level of formality, or ceremony, to be used. Sometimes, a project requires formal reporting
and controls. Other times, it can be less formal.
XP Practices: Planning
It focuses on making a rough plan quickly and then refining it as things become clearer. Basis
of an XP plan is a set of stories that users develop. A story describes what the system needs to
do. XP doesn’t use the term use case, but a user story and a use case express a similar idea.
XP Practices: Testing
Tests for each story be written first—before the solution is programmed. There are two major
types of tests:
• unit tests : test the correctness of a small piece of code, and
• acceptance tests : test the business function.
The developers write the unit tests, and the users write the acceptance tests.
Before any code can be integrated into the library of the growing system, it must pass the
tests. Automates the test and executes them frequently. Over time, a library of required tests
is created, when requirements change and the code needs to be updated, the tests can be rerun
quickly and automatically.
It takes longer to write the initial code, but the long-term quality is higher. Errors are caught
quickly and early, two people become familiar with every part of the system, all design
decisions are developed by two brains, and fewer “quick and dirty” shortcuts are taken. The
quality of the code is always higher in a pair-programming environment.
19.3 Scrum
In Rugby game, a scrum, is to get a ball back into play after a penalty. It begins quickly, very
intense effort, involves the entire team, and usually only lasts for a short duration. The
objective is to be quick, agile, and intense and to go the entire distance. There are three
important Scrum areas to understand: the philosophy, the organization and, the practices.
Product backlog includes user functions (such as use cases), features (such as security), and
technology (such as platforms). The product backlog list is continually being prioritized.
Only a few of the high-priority items are worked on at a time, according to the current needs
of the project.
Product owner is the client, with additional responsibilities. He maintains the product backlog
list. Any function to be included in the final system, it must first be placed on the product
backlog. Any request must first be approved and agreed to by the product owner. In a Scrum
project, the client controls the requirements. This forces the client and user to be intimately
involved in the project. Nothing can be accomplished until the product owner creates the
backlog.
In a Scrum project, the client controls the requirements. This forces the client and user to be
intimately involved in the project. Nothing can be accomplished until the product owner
creates the backlog.
Scrum master is comparable to a project manager. He enforces Scrum practices and helps the
team complete its work. Any hindrance so the team can do its work. Thefocal point for
communication and progress reporting. He doesn’t set the schedule or assign tasks, The team
does. He protects the team from any intrusions.
Scrum team is a small group of developers—typically five to nine people. For projects that
are very large, the work should be partitioned and delegated to smaller teams. If necessary,
the Scrum masters from all the teams can coordinate multiple team activities.
Scrum team sets its own goal for what it can accomplish in a specific period of time. The
team organizes itself and parcels out the work to members. In a small team, it is much easier
to sit around a table, decide what needs to be done, and have members of the team volunteer
or accept pieces of work. Team members do talk with users to obtain requirements, and users
are involved in the sprint’s work. Users can’t change the items being worked on from the
backlog list or change the intended scope of any item without putting it on the backlog list.
Scrum Practices mechanics consists of how a project should progresses. The basic work
process is called a sprint, all other practices are focused on supporting a sprint. A Scrum
sprint is a firm period called a time box, with a specific goal or deliverable.
Beginning of a sprint is when the team gathers for a one-day planning session. The team
decides on the major goal for the sprint. The goal draws from several items on the prioritized
product backlog list. The team decides how many of the highest-priority items it can
accomplish within the sprint. Sometimes, lower-priority items can be included for very little
additional effort and can be added to the deliverables for the sprint. After the goal has been
agreed and items selected from the backlog list, it begins work. The scope of that sprint is
then frozen, and no one can change it—neither the product owner nor any other users. If users
do find new functions they want to add, they put them on the product backlog list for the next
sprint. If team members determine that they can’t accomplish everything in their goal, they
can reduce the scope for that sprint. The time period is kept constant.
Scrum planning meeting is conducted every day by the Scrum master. He holds a meeting
with all members of the team. The objective is to report progress and is limited to 15 minutes
or some other short time period. Members of the team answer only three questions:
• What have you done since the last daily Scrum (during the last 24 hours)?
• What will you do by the next daily Scrum?
• What kept you or is keeping you from completing your work?
At the end of each sprint, the agreed-on deliverable is produced. A final half-day review
meeting is scheduled to recap progress and identify changes that need to be made for the
following sprints. By time-boxing these activities— the planning, the sprint, the daily Scrum,
and the Scrum review—the process becomes a well-defined template to which the team
easily conforms, which contributes to the success of Scrum projects.
Essential Reading
• Satzinger, J. W., Robert, J. B., & Stephen, B. D. (2016). Systems Analysis and Design
in a Changing World (7th ed.). Chapter 10.
CHAPTER 19 EXERCISES
Multiple Choice Questions
1. Which unified process phase is to develop an approximate vision of the system, make the
business case, and define the scope?
A. Inception Phase
B. Elaboration Phase
C. Construction Phase
D. Transition Phase
2. Which unified process phase is to identify and describe all requirements, finalize the
scope, design implement the core architecture and functions and produce realistic
estimates for cost and schedule?
A. Inception Phase
B. Elaboration Phase
C. Construction Phase
D. Transition Phase
A. Inception Phase
B. Elaboration Phase
C. Construction Phase
D. Transition Phase
4. Which unified process phase involve the final user acceptance and beta tests, and the
system is made ready for operation?
A. Inception Phase
B. Elaboration Phase
C. Construction Phase
D. Transition Phase
5. The practice "Forty-Hour Week and Coding Standards" is advocated in which software
development methodology?
A. Unified Process
B. Extreme Programming
C. Scrum
D. All of the above
Discussion Questions
1. Describe an information system project that might have three subsystems. Discuss how
Unified Process and three iterations might be used for the project planning?
If you are the Project manager, how would you modify the above to suit your needs?
Explain the rational for those modifications.
Trend 8: Democratization of IT
Low-code and no-code platforms enable users to quickly build applications using minimal
code approaches. This can enable “citizen development” intended to save time and resources.
E.g. SAP configurable module. Plug in AI module for game development.
Essential Reading
• Gartner Top 10 Trends Impacting Infrastructure & Operations for 2020.
https://www.gartner.com/smarterwithgartner/gartner-top-10-trends-impacting-
infrastructure-operations-for-2020/
CHAPTER 20 EXERCISES
Discussion Questions
Research on deloitte Insights:
• https://www2.deloitte.com/content/dam/Deloitte/pt/Documents/tech-
trends/TechTrends2020.pdf
Present one of the topic that interest you.