0% found this document useful (0 votes)
12 views11 pages

Unit 2 Assignment

The document discusses various aspects of software engineering, including use case diagrams for online shopping, architectural design, user interface design principles, software project management, risk management, quality assurance, requirement engineering, and modular decomposition. It outlines the importance of each concept, their functions, and processes involved, emphasizing the need for effective management and design practices in software development. Additionally, it highlights the significance of validating requirements and ensuring product quality to meet customer needs.

Uploaded by

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

Unit 2 Assignment

The document discusses various aspects of software engineering, including use case diagrams for online shopping, architectural design, user interface design principles, software project management, risk management, quality assurance, requirement engineering, and modular decomposition. It outlines the importance of each concept, their functions, and processes involved, emphasizing the need for effective management and design practices in software development. Additionally, it highlights the significance of validating requirements and ensuring product quality to meet customer needs.

Uploaded by

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

Unit 2 Assignment

Mohammed Petiwala 051

1. Explain USE Case diagram with online shopping: Web customer actor uses some web
site to make purchases online. Top levels USE CASES are view items, make purchase
and client register. View items use case could be used by customer as top-level use
case if customer only wants to find and see some products. This use case could also be
used as a part of make purchase use case. Client register use case allows customer to
register on the web site, for example to get some coupons or be invited to private
sales.
Except for the Web Customer actor there are several other actors which will be described
below with detailed use cases.

View Items use case is extended by several optional use cases - customer may search for
items, browse catalog, view items recommended for him/her, add items to shopping cart or
wish list. All these use cases are extending use cases because they provide some optional
functions allowing customer to find item.
Customer Authentication use case is included in View Recommended Items and Add to Wish
List because both require the customer to be authenticated. At the same time, item could be
added to the shopping cart without user authentication.
Checkout use case includes several required uses cases. Web customer should be
authenticated. It could be done through user login page, user authentication cookie
("Remember me") or Single Sign-On (SSO). Web site authentication service is used in all
these use cases, while SSO also requires participation of external identity provider.
Checkout use case also includes Payment use case which could be done either by using credit
card and external credit payment service or with PayPal.
2. Define architectural design and explain the functions of architectural design.

Architectural design is the process of defining a collection of hardware and software


components and their interfaces to establish the framework for the development of a
computer system. In software engineering, architectural design is about decomposing
the system into interacting components. It is expressed as a block diagram defining an
overview of the system structure, features of the components, and how these
components communicate with each other to share data. The software needs the
architectural design to represent the design of software. IEEE defines architectural
design as “the process of defining a collection of hardware and software components
and their interfaces to establish the framework for the development of a computer
system.”
The functions of architectural design in software engineering are:
Stakeholder communication: Architectural design works as a tool for stakeholder
communication. It is used as a support or roadmap in the discussion between
stakeholders.
System analysis: Architectural design is used to analyze whether the system will be
able to meet its requirements or not.
System construction: Architectural design provides a blueprint for constructing the
system.
System documentation: Architectural design provides documentation for the system.

3. Explain the three rules for user interface design process (UID).
The following are the golden rules stated by Theo Mandel that must be followed during the
design of the interface.
Place the user in control:
 Define the interaction modes in such a way that does not force the user into
unnecessary or undesired actions: The user should be able to easily enter and
exit the mode with little or no effort.
 Provide for flexible interaction: Different people will use different interaction
mechanisms, some might use keyboard commands, some might use mouse,
some might use touch screen, etc, Hence all interaction mechanisms should be
provided.
Reduce the user’s memory load:
 Reduce demand on short-term memory: When users are involved in some
complex tasks the demand on short-term memory is significant. So the interface
should be designed in such a way to reduce the remembering of previously done
actions, given inputs and results.
 Establish meaningful defaults: Always initial set of defaults should be provided
to the average user, if a user needs to add some new features then he should be
able to add the required features.
Make the interface consistent:
 Allow the user to put the current task into a meaningful context: Many interfaces
have dozens of screens. So it is important to provide indicators consistently so
that the user know about the doing work. The user should also know from which
page has navigated to the current page and from the current page where can
navigate.
 Maintain consistency across a family of applications: The development of some
set of applications all should follow and implement the same design, rules so
that consistency is maintained among applications.

4. Explain software project management briefly.


Software Project Management (SPM) is a proper way of planning and leading
software projects. It is a part of project management in which software projects are
planned, implemented, monitored, and controlled. Need for Software Project
Management: Software is a non-physical product. Software development is a new
stream in business and there is very little experience in building software products.
Most of the software products are made to fit clients’ requirements. The most
important is that the basic technology changes and advances so frequently and
rapidly that experience of one product may not be applied to the other one. Such
type of business and environmental constraints increase risk in software
development hence it is essential to manage software projects efficiently. It is
necessary for an organization to deliver quality products, keep the cost within the
client’s budget constrain and deliver the project as per schedule. Hence in order,
software project management is necessary to incorporate user requirements along
with budget and time constraints.
Software Project Management consists of Several Different Types of Management:
1. Conflict Management: Conflict management is the process to restrict the
negative features of conflict while increasing the positive features of conflict.
The goal of conflict management is to improve learning and group results
including efficacy or performance in an organizational setting. Properly
managed conflict can enhance group results.
2. Risk Management: Risk management is the analysis and identification of risks
that is followed by synchronized and economical implementation of resources to
minimize, operate and control the possibility or effect of unfortunate events or to
maximize the realization of opportunities.
3. Requirement Management: It is the process of analyzing, prioritizing,
tracking, and documenting requirements and then supervising change and
communicating to pertinent stakeholders. It is a continuous process during a
project.

4. Briefly explain the risk identification and the types of risk in the process of risk
management.
Risk identification is one of the most important steps in the risk management process.
Identifying risk is an essential and initial step in the risk management process. If
failure occurs in identifying any specific or particular risk, then all other steps that are
involved in risk management will not be implemented for that particular risk1. For
identifying risk, project teams should review the scope of the program, estimate cost,
schedule, technical maturity, parameters of key performance, etc. To manage risk,
project teams or organizations need to know about what risks they face and then
evaluate them. Generally, identification of risk is an iterative process.
 There are mainly 3 classes of risks that may have an effect on a computer code
project:
1. Project Risks:
Project risks concern various sorts of monetary funds, schedules, personnel,
resource, and customer-related issues. a vital project risk is schedule slippage.
Since computer code is intangible, it’s terribly tough to observe and manage a
computer code project. it’s terribly tough to manage one thing that can not be
seen. For any producing project, like producing cars, the project manager will
see the merchandise taking form.

For example, see that the engine is fitted, at the moment the area of the door unit
fitted, the automotive is obtaining painted, etc. so he will simply assess the
progress of the work and manage it. The physical property of the merchandise
being developed is a vital reason why several computer codes come to suffer
from the danger of schedule slippage.
2. Technical Risks:
Technical risks concern potential style, implementation, interfacing, testing, and
maintenance issues. Technical risks conjointly embody ambiguous
specifications, incomplete specification, dynamic specification, technical
uncertainty, and technical degeneration. Most technical risks occur thanks to the
event team’s lean information concerning the project.
3. Business Risks:
This type of risk embodies the risks of building a superb product that nobody
needs, losing monetary funds or personal commitments, etc.

5. Explain the functions of quality assurance and its standards.


Quality Assurance is also known as QA Testing. QA is defined as an activity to
ensure that an organization is providing the best product or service to the customers.
Quality assurance (QA) is a quality management process that consists of establishing
standards, guidelines, and procedures to prevent quality issues and maintain the
integrity of the product or service throughout its development. The functions of
quality assurance are defined by the objectives laid out. These functions include
planning and management of product quality compliance as per QA standards,
coordinating with the manufacturing department to ensure QA is carried out at all
stages from testing, auditing, and reporting. Quality assurance uses a quality system
that is set up to implement administrative and procedural tasks, which create goals for
the product or service of the project. This provides a systematic measurement and
comparison with a standard, along with a monitoring of processes and a feedback loop
to make sure no errors pass through production1. There are different quality assurance
methods that have been created over time. Some of them are Total Quality
Management (TQM), Six Sigma, Lean Manufacturing, and Statistical Process Control
(SPC).
6. Explain process and product quality.
Process quality is a measure of excellence of interrelated work items (like tasks,
procedures, steps). It is a measurement characteristic that indicates whether a given
process is carried out with tolerant defects, minimized deficiencies, and insignificant
variations. Higher quality of a process means that relationships between the process’s
components are successfully built and sustained throughout the process lifecycle so
the entire process is fulfilled according to needs and requirements of the customer.
Process quality is measured, monitored and managed by undertaking a range of
control and assurance activities. The primary goal of such activities is to reduce
variations around a targeted process and its components. In order to implement a
process in a qualitative manner, there should be a quality management plan created to
assess, anticipate and fulfill implied needs and requirements stated by the customer.

Product quality refers to how well a product satisfies customer needs, serves its
purpose and meets industry standards. When evaluating product quality, businesses
consider several key factors, including whether a product solves a problem, works
efficiently or suits customers' purposes.
Companies may also evaluate product quality based on various perspectives that show
how different groups perceive the usefulness of a product. Perspectives to consider
when assessing product quality include customer perspectives, manufacturing
perspectives, product-based and value-based perspectives and transcendental
perspectives, which perceive a product's value in relation to its cost. Using these
perspectives, you can define product quality according to:
-Performance and intended function
-Reliability of the product within a specific time frame
-Conformity to product specifications
-Product durability and lifespan
-Product serviceability
8. Explain the process or the steps of requirement engineering briefly.
Requirement engineering is the process of defining, documenting, and maintaining
requirements in the engineering design process. It provides the appropriate mechanism to
understand what the customer desires, analyzing the need, and assessing feasibility,
negotiating a reasonable solution, specifying the solution clearly, validating the specifications
and managing the requirements as they are transformed into a working system. The
requirement engineering process consists of four steps:
-Feasibility Study
-Requirement Elicitation and Analysis
-Software Requirement Specification
-Software Requirement Validation
The first step is the feasibility study. The objective behind the feasibility study is to create the
reasons for developing the software that is acceptable to users, flexible to change and
conformable to established standards. The second step is requirement elicitation and analysis.
Here, requirements are identified with the help of customers and existing systems processes,
if available. Analysis of requirements starts with requirement elicitation. The requirements
are analyzed to identify inconsistencies, defects, omission, etc. We describe requirements in
terms of relationships and also resolve conflicts if any. The third step is software requirement
specification. Software requirement specification is a kind of document which is created by a
software analyst after the requirements collected from various sources - the requirement
received by the customer written in ordinary language. It is the job of the analyst to write the
requirement in technical language so that they can be understood and beneficial by the
development team. The fourth step is software requirement validation. This step ensures that
all requirements are met and that they meet customer needs.
9. Write short note on:
1. Context model.
A context model is a formal or semi-formal description of the context information that is
present in a context-aware system. It defines how context data are structured and maintained
and plays a key role in supporting efficient context management. The Unified Modeling
Language as used in systems engineering defines a context model as the physical scope of the
system being designed, which could include the user as well as the environment and other
actors1. A software system context model is a type of system context model that explicitly
depicts the boundary between the software system and its external environment: the hardware
devices that the software system interacts with in order to engage with the environment.
2. Object model.
Object Modeling Technique (OMT) is a real-world-based modeling approach for software
modeling and designing. It was developed as a method to develop object-oriented systems
and to support object-oriented programming. It describes the static structure of the system1.
The object model encompasses the principles of abstraction, encapsulation, modularity,
hierarchy, typing, concurrency, and persistence. The main concepts related to the object
model are classes and their association with attributes. Predefined relationships in the object
model are aggregation and generalization (multiple inheritance)1. The dynamic model
involves states, events, and state diagrams (transition diagrams) on the model. Main concepts
related to the dynamic model are states, transition between states, and events to trigger the
transitions. Predefined relationships in the dynamic model are aggregation (concurrency) and
generalization1. The functional model focuses on how data is flowing, where data is stored,
and different processes. Main concepts involved in the functional model are data, data flow,
data store, process, and actors. Functional Model in OMT describes the whole processes and
actions with the help of data flow diagrams (DFD).
10. Explain requirement validation process checks on the requirements in the
requirement document.
Requirements validation is the process of checking that requirements defined for
development, define the system that the customer really wants. To check issues related to
requirements, we perform requirements validation. We usually use requirements validation to
check errors at the initial phase of development as the error may increase excessive rework
when detected later in the development process. In the requirements validation process, we
perform a different type of test to check the requirements mentioned in the Software
Requirements Specification (SRS), these checks include:
-Completeness checks
-Consistency checks
-Validity checks
-Realism checks
-Ambiguity checks
-Verifiability
The output of requirements validation is the list of problems and agreed-on actions of
detected problems. The lists of problems indicate the problem detected during the process of
requirement validation. The list of agreed actions states the corrective action that should be
taken to fix the detected problem. There are several techniques that are used either
individually or in conjunction with other techniques to check to check entire or part of the
system:
Test case generation: The requirement mentioned in the SRS document should be testable, the
conducted tests reveal the error present in the requirement. It is generally believed that if the
test is difficult or impossible to design, this usually means that the requirement will be
difficult to implement and it should be reconsidered.
Prototyping: In this validation technique the prototype of the system is presented before the
end-user or customer, they experiment with the presented model and check if it meets their
need. This type of model is generally used to collect feedback about the requirement of the
user.
11. Write short note on modular decomposition styles.
The role of effective modular design in software engineering:
Any software comprises of many systems which contains several sub-systems and those sub-
systems further contains their sub-systems. So, designing a complete system in one go
comprising of each and every required functionality is a hectic work and the process can have
many errors because of its vast size.
Thus in order to solve this problem the developing team breakdown the complete software
into various modules. A module is defined as the unique and addressable components of the
software which can be solved and modified independently without disturbing ( or affecting in
very small amount ) other modules of the software. Thus every software design should follow
modularity.
The process of breaking down a software into multiple independent modules where each
module is developed separately is called Modularization.
Effective modular design can be achieved if the partitioned modules are separately solvable,
modifiable as well as compilable. Here separate compilable modules means that after making
changes in a module there is no need of recompiling the whole software system.
12. Explain user interface design process with the help of diagram.
The analysis and design process of a user interface is iterative and can be represented by a
spiral model. The analysis and design process of user interface consists of four framework
activities.
User, task, environmental analysis, and modeling: Initially, the focus is based on the profile of
users who will interact with the system, i.e. understanding, skill and knowledge, type of user,
etc, based on the user’s profile users are made into categories. From each category
requirements are gathered. Based on the requirements developer understand how to develop
the interface. Once all the requirements are gathered a detailed analysis is conducted. In the
analysis part, the tasks that the user performs to establish the goals of the system are
identified, described and elaborated. The analysis of the user environment focuses on the
physical work environment. Among the questions to be asked are:
-Where will the interface be located physically?
-Will the user be sitting, standing, or performing other tasks unrelated to the interface?
-Does the interface hardware accommodate space, light, or noise constraints?
Are there special human factors considerations driven by environmental factors?
-Interface Design: The goal of this phase is to define the set of interface objects and actions
i.e. Control mechanisms that enable the user to perform desired tasks. Indicate how these
control mechanisms affect the system. Specify the action sequence of tasks and subtasks, also
called a user scenario. Indicate the state of the system when the user performs a particular
task. Always follow the three golden rules stated by Theo Mandel. Design issues such as
response time, command and action structure, error handling, and help facilities are
considered as the design model is refined. This phase serves as the foundation for the
implementation phase.
Interface construction and implementation: The implementation activity begins with the
creation of prototype (model) that enables usage scenarios to be evaluated. As iterative design
process continues a User Interface toolkit that allows the creation of windows, menus, device
interaction, error messages, commands, and many other elements of an interactive
environment can be used for completing the construction of an interface.
Interface Validation: This phase focuses on testing the interface. The interface should be in
such a way that it should be able to perform tasks correctly and it should be able to handle a
variety of tasks. It should achieve all the user’s requirements. It should be easy to use and
easy to learn. Users should accept the interface as a useful one in their work.
13. Write short note on project scheduling.
Project scheduling is a mechanism that is used to communicate and know about the tasks that
are needed and have to be done or performed and which organizational resources will be
given or allocated to these tasks and in what time duration or time frame work is needed to be
performed. A schedule in your project’s time table actually consists of sequenced activities
and milestones that are needed to be delivered under a given period of time. Effective project
scheduling leads to success of project, reduced cost, and increased customer satisfaction1.
Scheduling in project management means to list out activities, deliverables, and milestones
within a project that are delivered. The most common and important form of project schedule
is Gantt chart. The manager needs to estimate time and resources of project while scheduling
project. All activities in project must be arranged in a coherent sequence that means activities
should be arranged in a logical and well-organized manner for easy to understand. Initial
estimates of project can be made optimistically which means estimates can be made when all
favorable things will happen and no threats or problems take place. The total work is
separated or divided into various small activities or tasks during project schedule. Then,
Project manager will decide time required for each activity or task to get completed. Even
some activities are conducted and performed in parallel for efficient performance. The project
schedule is represented as set of chart in which work-breakdown structure and dependencies
within various activities are represented. To accomplish and complete project within a given
schedule, required resources must be available when they are needed. Therefore, resource
estimation should be done before starting development.
14. Explain various stages of process improvement with the help of diagram.
Process improvement refers to the systematic and continuous effort to identify, analyze and
optimize processes in order to achieve specific goals such as increased efficiency,
effectiveness, and customer satisfaction. It is a way to make processes more efficient,
eliminate waste, reduce costs, and improve the overall quality of the products or services
being provided.
Six Phases of Process Improvement
1. Process identification
This is the first phase where the process to be improved is identified and selected. The
selection criteria could be based on the impact the process has on customers, the amount of
waste or inefficiency in the process, or the potential for cost savings.
Process identification is the first step in a process improvement initiative. It involves
identifying the processes that need to be improved within an organization. The goal of
process identification is to select the processes that have the greatest impact on customers, the
greatest potential for cost savings, or the highest level of waste or inefficiency.
2. Process analysis
In this phase, the current process is thoroughly analyzed to determine its strengths and
weaknesses, identify areas for improvement, and gather data to support the improvement
efforts.

Process analysis is the second phase in a process improvement initiative and involves
thoroughly analyzing the current process to determine its strengths and weaknesses, identify
areas for improvement, and gather data to support the improvement efforts.
3. Process design
Based on the analysis, a new process design is created, taking into account best practices,
customer requirements, and the elimination of waste and inefficiencies.
Process design is the third phase in a process improvement initiative and involves creating a
new design for the process based on the insights and data gathered in the process analysis
phase. The goal of process design is to create a process that is efficient, effective, and meets
the needs of customers and the organization.
4. Implementation
The new process design is implemented and monitored to ensure that it is working as
intended. Any necessary changes are made to ensure the process is working effectively.
Implementation is the fourth phase in a process improvement initiative and involves putting
the new process design into practice. The goal of implementation is to ensure that the new
5. Monitoring and control
Ongoing monitoring and control are necessary to ensure that the process continues to meet
the needs of customers and the organization. Process improvement is an ongoing effort, and
regular monitoring and control help identify any further opportunities for improvement..
Monitoring and control is the fifth and final phase in a process improvement initiative and
involves ongoing monitoring of the process to ensure that it remains efficient, effective, and
meets the needs of customers and the organization. The goal of monitoring and control is to
maintain the improvements made during the implementation phase and identify any areas for
further improvement.
6. Continuous improvement
The final phase involves continuously monitoring and improving the process to ensure it
remains efficient and effective over time.
Continuous improvement is an ongoing effort to improve processes, products, and services. It
is a philosophy and approach that seeks to identify and eliminate waste, improve efficiency
and effectiveness, and increase customer satisfaction. Continuous improvement is a key
aspect of business process management and is critical to the success of organizations in
today’s rapidly changing business environment.

You might also like