0% found this document useful (0 votes)
103 views43 pages

LO3 Undertake A Software Development Lifecycle

The document summarizes key aspects of undertaking a software development lifecycle, including identifying requirements, constraints, documentation, analysis tools, investigation techniques, and design techniques. It describes identifying stakeholders and their requirements, specifying requirements related to scope, inputs, outputs, processes and quality assurance. It also discusses constraints like costs and policies, as well as documentation structure, terminology like entities and relationships, and techniques for upgrading versus new systems.

Uploaded by

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

LO3 Undertake A Software Development Lifecycle

The document summarizes key aspects of undertaking a software development lifecycle, including identifying requirements, constraints, documentation, analysis tools, investigation techniques, and design techniques. It describes identifying stakeholders and their requirements, specifying requirements related to scope, inputs, outputs, processes and quality assurance. It also discusses constraints like costs and policies, as well as documentation structure, terminology like entities and relationships, and techniques for upgrading versus new systems.

Uploaded by

Ronin says
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 43

UNIT 9 – SOFTWARE DEVELOPMENT LIFECYCLES

Learning Outcomes
By the end of this unit students will be able to:

• Describe different software development lifecycles.


LO1

• Explain the importance of a feasibility study.


LO2

• Undertake a software development lifecycle.


LO3

• Discuss the suitability of software behavioural design techniques.


LO4
LO3 – Undertake a software development lifecycle

Essential Content

 Carry out software development lifecycle:

 Identify requirements: stakeholders; requirements identification;


requirements specification e.g. scope, inputs, outputs, processes and
process descriptors; consideration of alternate solutions and security
considerations; quality assurance required.

 Constraints: specific to activity e.g. costs, organisational policies,


legacy systems, hardware requirements.
LO3 – Undertake a software development lifecycle

Essential Content

 Report documentation: structure e.g. background information,


problem statements, data collection process and summary,
recommendations, appendices.

 Systems analysis terminology and tools: data stores and entities;


data flows; process representation techniques relationships – 1:1,
1:Many (1:M) and Many:Many (M:M).

 Investigation: e.g. upgrading computer systems, designing new


systems.
LO3 – Undertake a software development lifecycle

Essential Content

 Techniques: examples relevant to methodology chosen e.g. Context


Diagrams, Data Flow Diagrams (DFDs), Entity Relationship
Diagrams (ERDs); Business Systems Options (BSOs); Technical
Systems Options (TSOs); quality considerations e.g. Total Quality
Management (TQM).
Identify requirements

 Stakeholders
 Each of these groups of people has its own requirements,
interests, and needs to be met by the software system.

 We refer collectively to these people as stakeholders.

 Understanding the role of the stakeholder is fundamental to


understanding the role of the architect in the development of a
software product or system.
Identify requirements

 Requirements identification
 This phase is critical to the success of the project.  
 Expectations (whether of a client or your team) need to be
fleshed out in great detail and documented. 
 This is an iterative process with much communication taking
place between stakeholders, end users and the project team.
Identify requirements

 Requirements specification
 Scope
 provides a framework for the project and guides the requirements
collection process.
 is usually the first source of information about the project
available to all stakeholders before the project gets under way.

 Inputs
 It is important to design appropriate data input methods to
prevent errors while entering data.
Identify requirements

 Requirements specification
 Outputs
 The design of output is the most important task of any
system.
 During output design, developers identify the type of
outputs needed, and consider the necessary output
controls and prototype report layouts.
Identify requirements

 Requirements specification
 Processes and process descriptors
 Process framing defines the process boundaries, the major activities, the
actors, key metrics, the case for action, and the vision for the future process.
 The process framing can then be used to draft key business requirements
for the new system.

 Process descriptor - A set of information that defines the status of resources
allocated to a process.
 When a system contains a number of processes, any of which may be
active at any one time, there will be for each process a descriptor defining
the status of that process. 
Identify requirements

 Consideration of alternate solutions and security considerations:


 It is important that multiple alternatives be considered.
Potential solutions (decision alternatives) should be
adequately described to make them understandable to
everyone involved in the development.

 All of these business processes and information require


some level of security processing. One type of security
is required to protect the client, another to protect the
corporation.
Identify requirements

 Quality assurance:
 Software quality assurance is the process of evaluating how
well software meets the needs of the end customer.

 QA revolves around three pillars: reliability, efficiency, and


flexibility. In order for software to be useful, it needs to work
consistently, complete tasks quickly, and be useful in a variety
of situations.

 Furthermore, good software also needs internal quality controls,


making sure the underlying code is clean and practical.
Constraints

 Constraints: specific to activity e.g.


 Costs

 the process of isolating and estimating costs and benefits

 system costs

 benefits from the system

 Organisational policies

 Whether the proposed system is consistent with the organization’s


strategic objectives?
Report documentation

 Background information

 About the client business/organization and current IT system


 Problem statements

 Problem definition: On receiving a request from the user for systems development,
an investigation is conducted to state the problem to be solved.
 Data collection process and summary

 process of gathering and measuring information


 Quantitative Data. These are data that deal with quantities, values or numbers,
making them measurable.
 Qualitative Data. These data, on the other hand, deals with quality, so that they
are descriptive rather than numerical in nature
Report documentation

 Recommendations
 E.g. features to be implemented in the new system

 Appendices
 An appendix contains supplementary material that is not an essential
part of the text itself but which may be helpful in providing a more
comprehensive understanding of the project
Report documentation

 Recommendations
 E.g. features to be implemented in the new system

 Appendices
 An appendix contains supplementary material that is not an
essential part of the text itself but which may be helpful in
providing a more comprehensive understanding of the project
Systems analysis terminology and tools

 Data stores and entities


 A data store is a place where data is stored and retrieved within the
system.

 Data flows
 Data-flows are used to model the flow of information into the system,
out of the system, and between elements within the system.
Systems analysis terminology and tools

 Process representation techniques relationships – 1:1, 1:Many (1:M)


and Many:Many (M:M).

 One-to-one (1:1)

 This is where one occurrence of an entity relates to only one


occurrence in another entity.

 For example, an employee is allocated a company car, which


can only be driven by that employee.

 Therefore, there is a one-to-one relationship between employee


and company car.
Systems analysis terminology and tools

 One-to-Many (1:M)

 Is where one occurrence in an entity relates to many occurrences


in another entity.

 For example, taking the employee and department entities


shown on the previous page, an employee works in one
department but a department has many employees.

 Therefore, there is a one-to-many relationship between


department and employee.
Systems analysis terminology and tools

 Many-to-Many (M:N)

 This is where many occurrences in an entity relate to


many occurrences in another entity.

 For example, an employee may work on several projects


at the same time and a project has a team of many
employees.

 Therefore, there is a many-to-many relationship between


employee and project.
Systems analysis terminology and tools

 Relationship cardinality
Investigation

 E.g. upgrading computer systems vs. designing new systems.

 To choose the option that is best, first weigh the costs, benefits and risks
associated with each type of change.

 So what are some reasons to implement new systems?

 Many legacy system are coded in languages that are no longer widely
in use, meaning that there aren’t many personnel qualified to work with
them.

 And in some cases, the companies that created the software in the
first place no longer support it.
Investigation

 If you choose to completely overhaul your current legacy system, you can
use new technology to improve user experience and decrease costs over
time. But as mentioned above, implementing a new system all at once
can be costly. 

 In some cases, new systems can mean new bugs as well.

 When companies choose to update their current systems rather than


begin a full-scale overhaul, they gain access to potential benefits more
quickly.
 making changes to old systems is to add on to
what currently exists.
Techniques - DFD

 Context Diagrams, Data Flow Diagrams (DFDs)

 A data flow diagram (DFD) illustrates how data is


processed by a system in terms of inputs and outputs.

  A context diagram is a top level (also known as


"Level 0") data flow diagram.
 It only contains one process node ("Process 0") that
generalizes the function of the entire system in
relationship to external entities.
Techniques - DFD

 Two common systems of DFD symbols are named after their


creators:
Techniques - DFD

 Rules:
 Naming conventions:
 Processes: strong verbs
 Data flows: nouns
 Data stores: nouns
 Entities: nouns

 No more than 7 - 9 processes in each DFD.

 Data flows must begin, end, or both begin & end with a
process.
Techniques - DFD

 Rules:
 Leveling Conventions:

 Numbering: The system under study in the context


diagram is given number `0'.
 The processes in the top level DFD are labeled
consecutively by natural numbers beginning with 1.
 When a process is exploded in a lower level DFD, the
processes in such lower level DFD are consecutively
numbered following the label of such parent process
ending with a period or full-stop (for example 1.2, 1.2.3,
etc.).
Techniques - DFD

 Rules:

 Balancing:

The set of DFDs pertaining to a system


must be balanced in the sense that
corresponding to each dataflow beginning
or ending at a process there should be an
identical dataflow in the exploded DFD.
DFD

 Context Diagrams, Data Flow Diagrams (DFDs)


 DFDs exist in a hierarchy, beginning with the simplest, highest,
system level and ending with the lower level diagrams with detailed
processes.

 The DFD at the system level illustrates the context, that is, the
circumstances of its environment and is called the context
diagram.

 This diagram contains only a single, unnumbered process bubble


in the shape of a circle to represent the entire system.
DFD – Context Diagram

 The context diagram Latinitas “system” with a single


process bubble in the middle. Its five entities are
represented by squares. The system is connected to its
entities by arrows that represent data flows.
DFD – Level 1
DFD – Level 2
ERD

 Entity Relationship Diagrams (ERDs)


 An ERD is a means of visualizing how the information a
system produces is related. There are five main components of
an ERD:

 Entities, which are represented by rectangles. An entity is an


object or concept about which you want to store information.
ERD

 Actions/Relationship, which are represented by diamond shapes, show


how two entities share information in the database.

 In some cases, entities can be self-linked. For example, employees can


supervise other employees.
ERD

 Attributes, which are represented by ovals. A key attribute is the


unique, distinguishing characteristic of the entity. For example, an
employee's social security number might be the employee's key
attribute. 
ERD

 Connecting lines, solid lines that connect attributes to show the


relationships of entities in the diagram.

 Cardinality specifies how many instances of an entity relate to one instance


of another entity.

 Ordinality is also closely linked to cardinality. While cardinality specifies the


occurrences of a relationship, ordinality describes the relationship as either
mandatory or optional.

 In other words, cardinality specifies the maximum number of relationships


and ordinality specifies the absolute minimum number of relationships.
ERD

Employ

Handle
BSO

 Business Systems Options (BSOs)


 A BSO defines the functional scope of a proposed
solution.
 At its most basic level it consists of textual descriptions
of those requirements satisfied by the solution.
 All BSOs must satisfy the minimum requirement as
identified by user representatives.
 Business Systems Options are developed during
Feasibility Study and Requirements Analysis.
TSO

 Technical Systems Options (TSOs)

A TSO defines a possible technical


environment for the implementation of
the system.
 It will include descriptions of hardware
and software, technical support
arrangements, distribution of the
system and development tools
TQM

 Quality considerations e.g. Total Quality Management (TQM).


 TQM is a management approach aimed at satisfying all the
customer requirements, needs and expectations using a
continuous improvement approach

 There are three aspects of software quality:


 functional quality,
 structural quality
 process quality
TQM

 However, the quality of software is estimated by many of its


attributes such as reliability, integrity, maintainability, enhance
ability (extensibility), usability, portability, and reusability

 The functionality of the software and the appearance of the user


interface could also affect software quality.

 Consequently, these characteristics can affect user satisfaction


so it could be used as a measure of software quality.
TQM

 Functional quality means that the software performs the tasks


it is intended to do for its users correctly. Software testing
commonly focuses on functional quality.

 The second aspect of software quality, structural quality,


means the code itself is well structured. Unlike functional
quality, structural quality is hard to test for.

 The third aspect, process quality, it is the quality of the


development process significantly affects the value received by
users, development teams, and sponsors, and all three groups
have a stake in improving software quality.
References

 https://www.viewpoints-and-perspectives.info/home/stak
eholders/
 https://airbrake.io/blog/sdlc/what-is-the-software-develo
pment-life-cycle
 https://www.mitre.org/publications/systems-engineering-
guide/se-lifecycle-building-blocks/requirements-enginee
ring/eliciting-collecting-and-developing-requirements
 https://www.tutorialspoint.com/system_analysis_and_de
sign/system_analysis_and_design_input_output_forms.h
tm
 https://www.computereconomics.com/article.cfm?id=21
57
 https://www.encyclopedia.com/computing/dictionaries-t

You might also like