Skip to document

CS 3203 Software Engineering Lab 2

CS 3203 Software Engineering Lab 2
Course

Software Engineering (CS391)

174 Documents
Students shared 174 documents in this course
Academic year: 2021/2022
Uploaded by:
Anonymous Student
This document has been uploaded by a student, just like you, who decided to remain anonymous.
Fayoum University

Comments

Please sign in or register to post comments.

Preview text

Software Processes

A structured set of activities required to develop a software system

Fundamental activities common to all software processes:

o Specification The functionality of the software and constraints on its operation must be defined o Design and implementation The software to meet the specification must be produced o Validation The software must be validated to ensure that it does what the customer wants o Evolution The software must evolve to meet changing customer needs

Software process model

Is an abstract representation of a process It presents a description of a process from some particular perspective. Generic Software Process Models: 1. The waterfall models Separate and distinct phases of specification and development 2. Evolutionary development (Iterative Development) Specification and development are interleaved 3. Component Based Software Engineering (CBSE) The system is assembled from existing components

Requirements engineering

The requirements for a system are the descriptions of the services that a system should provide and the constraints on its operation. These requirements reflect the needs of customers for a system

System requirement:

Requirements are the descriptions of the system services and its operational constraints that are generated during the requirements engineering process.

User requirement:

User requirements are high-level statements of the services the system provides and its operational constraints. User requirements should be written using natural language, tables and diagrams. Written for customers.

CS 3203 Software Engineering (1) – 2020/2021 Lab (2)

Requirements engineering

User requirement System requirement

Software system requirements are often classified as (Functional or non-Functional

requirements):

  1. Functional requirements These are statements of services the system should provide, how the system should react to particular inputs, and how the system should behave in particular situations
  2. Non-functional requirements These are constraints on the services or functions offered by the system. They include timing constraints, constraints on the development process, and constraints imposed by standards.

Systems models

o System models are graphical representations that describe business processes, the problem to be solved and the system that is to be developed. o System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers.

1. Use Case Model

o A use case describes the possible sequences of interactions among the system and one or more actors in response to some initial stimulus by one of the actors. o it describes the goals of the users, the interactions between the users and the system, and the required behavior of the system in satisfying these goals. o A use-case model consists of a number of model elements. The most important model elements are: use cases, actors and the relationships between them. Actors in Use Cases: o An actor can be a human, or a machine or a program

Use Cases: o A use case describes the possible sequences of interactions among the system and one or more actors in response to some initial stimulus by one of the actors.

o Combining Use Cases:

  • A use case extends another use case when it embeds new behavior into a complete base case.

Example 1: Online Shopping System

Web Customer actor uses some web site to make purchases online. Top level 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. Note, that Checkout use case is included use case not available by itself - checkout is part of making purchase. 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 Web customer authentication should be authenticated. It could be done through user sign-in 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 uses view or update shipping cart, calculate taxes and shipping and also includes Payment use case which could be done either by using credit card and external credit payment service or with PayPal.

Was this document helpful?

CS 3203 Software Engineering Lab 2

Course: Software Engineering (CS391)

174 Documents
Students shared 174 documents in this course

University: Fayoum University

Was this document helpful?
Eng. Yossr - Eng. Esraa
1
Software Processes
A structured set of activities required to develop a software system
Fundamental activities common to all software processes:
o Specification
The functionality of the software and constraints on its operation must be defined
o Design and implementation
The software to meet the specification must be produced
o Validation
The software must be validated to ensure that it does what the customer wants
o Evolution
The software must evolve to meet changing customer needs
Software process model
Is an abstract representation of a process It presents a description of a process from some particular
perspective.
Generic Software Process Models:
1. The waterfall models
Separate and distinct phases of specification and development
2. Evolutionary development (Iterative Development)
Specification and development are interleaved
3. Component Based Software Engineering (CBSE)
The system is assembled from existing components
Requirements engineering
The requirements for a system are the descriptions of the services that a system should provide and
the constraints on its operation. These requirements reflect the needs of customers for a system
System requirement:
Requirements are the descriptions of the system services and its operational constraints
that are generated during the requirements engineering process.
User requirement:
User requirements are high-level statements of the services the system provides and its
operational constraints. User requirements should be written using natural language, tables
and diagrams. Written for customers.
CS 3203 Software Engineering (1) 2020/2021
Lab (2)
Requirements engineering
User requirement
System requirement