Uploaded by Rizwandurrani01

Basics Of Software Engg

advertisement
Basics Of Software Engg
Slides by Sonia Rafaqat Solution By Rizwan Nawaz.
1
Topic Name
2
About Topic
Page No
Link About Topic
Short Word deified for e.g. SD
https://www.youtube.com/watch?v=vKh14asdfPFZWy8
What is software engg.
3
• What is Engineering:
• The set of principles , discipline , rules to make a cost effective solution of
the problem. Or
• Application of science , tools and methods to find cost effective solution of
the problem.
• What is Software Engineering:
• It’s defined as systematic , disciplined , and quantifiable approach in the
development , operation and maintenance of software.
https://www.youtube.com/watch?v=WxkP5KR_Emk
Myths in Software Engg.
4
•There are 3 myths in software engg.
• Development myths.
• Customer Myths.
• Management Myths.
https://www.youtube.com/watch?v=zNRlDF_gaOs
https://www.youtube.com/watch?v=uAcAXMNUYNU
Practices in Software engg.
5
• SD think that he/she think software knowledge in specific
technology like c, c++ , c# , java , python , etc.
• They think that SDM knowledge has 3 year half life.
• If they know the principles then they don’t worry about it.
•
•
•
•
•
Be agile.
. Build an effective team.
Focus on quality on any steps. . Be ready to adapt.
Manage change.
. Assess risk.
Create work product that value to other.
Stablish mechanism of communication and coordination.
https://www.youtube.com/watch?v=uAcAXMNUYNU
Software development Lifecycle (SDLC).
6
• How to Software conceptualize develop and maintained.
1. Planning.
2. Requirement analysis.
3. Design.
4. Implementation/coding.
5. Testing.
6. Deployment.
7. Maintenances.
https://www.youtube.com/watch?v=i-QyW8D3ei0
Generic Process Model:
7
Mile Stones
Def of Work result
Roles And
Responsibilities.
Quality Req
Q(A) role
Artifacts
Final: end of June
Responsibility
Process Model
Activities
&
Methods
NFA Framework
Let quality
req be
reviewed.
Tools
Ppt , wrd ,DB
Software
database
https://www.youtube.com/watch?v=vKh14PFZWy8
Task Sets
8
• Task set is a collection of software engineering work tasks ,
milestones and deliverables that must be accomplished to
complete a particular software project. Task sets are different for
different types of projects.
http://web.uettaxila.edu.pk/CMS/seSPMbsSp09/notes%5CLecture7.ppt
Process Pattern General:
9
• The Pattern used to explain how the something functions or take
place , in other words a process or procedure.
• Describe the order which they operate order is must.
• Heavily dependent on description of individual steps or stages.
https://www.youtube.com/watch?v=dW7hBejWJDk
Process Pattern In software engg
10
• Process patterns can be defined as the set of activities, actions, work
tasks or work products and similar related behavior followed in
a software development life cycle.
• Process Patterns can be best seen in software design cycle which
involves the common stages of development.
• For example, a generic software design life cycles has following steps:
1. Communication.
2. Planning.
3. Modeling which involves requirement gathering, analysis and design from
business perspective.
4. Development which involves code generation and testing.
5. Deployment includes the code deployment and testing in the production
environment.
https://en.wikipedia.org/wiki/Process_patterns
Process Improvement:
11
• Process improvement means understanding
existing processes and changing these processes to increase
product quality and/or reduce costs and development time. ✧
The process maturity approach, which focuses on improving
process and project management and introducing good software
engineering practice E.g. CMMI level.
https://www.youtube.com/watch?v=ABNNLyiYZm0
Waterfall Model:
https://www.youtube.com/watch?v=x-jqSXYE4S4
12
https://www.youtube.com/watch?v=DZtJTwWu9rs
Evolutionary Process Model
13
R
R
R
R
https://www.youtube.com/watch?v=2S8lYZQF3I4
Specialized Process Models
14
• Component based Development:
• The process is applied when reuse a development object.
• Formal methods:
• Emphasizes the mathematical specification of Requirement.
• Aspect-oriented software development:
• It provide a process methodologies approach for defining , specifying ,
designing and construction aspect.
https://www.youtube.com/watch?v=nE1bC77HUmg
Component Based Development
15
• Component-based development (CBD) is a procedure that accentuates the design and
development of computer-based systems with the help of reusable software
components. With CBD, the focus shifts from software programming to software
system composing.
Component-based development techniques involve procedures for developing
software systems by choosing ideal off-the-shelf components and then assembling
them using a well-defined software architecture. With the systematic reuse of
coarse-grained components, CBD intends to deliver better quality and output.
Component-based development is also known as component-based software
engineering (CBSE).
https://www.youtube.com/watch?v=cJSzoYM8l7I
The Formal Methods Models:
16
• The formal methods model is concerned with the application of a
mathematical technique to design and implement the software.
This model lays the foundation for developing a complex system
and supporting the program development. The formal methods
used during the development process provide a mechanism for
eliminating problems, which are difficult to overcome using other
software process models. The software engineer creates formal
specifications for this model. These methods minimize
specification errors and this result in fewer errors when the user
begins using the system.
https://www.youtube.com/watch?v=D1frcipfi50
Agile Development:
17
https://www.youtube.com/watch?v=Z9QbYZh1YXY
Business Information Systems: Components,
Types, and Evaluating methods:
• Any specific information system aims to support operations,
management and decision-making. An information system is
the information and communication technology (ICT) that an
organization uses, and also the way in which people interact with
this technology in support of business processes.
18
Types:
19
• Sales and marketing information systems.
• Manufacturing and production information systems.
• Finance and accounting information systems.
• Human resources information systems
https://paginas.fe.up.pt/~als/mis10e/ch2/chpt2-2bullettext.htm
Components
20
• An information system is essentially made up of five components
hardware, software, database, network and people.
• Hardware consists of input/output device, processor, operating
system and media devices.
• Software consists of various programs and procedures.
• Database consists of data organized in the required structure.
• Network consists of hubs, communication media and network
devices. People consist of device operators, network
administrators and system specialist.
https://www.managementstudyguide.com/types-of-information-systems.htm
SDLC: Phases
21
https://www.youtube.com/watch?v=g974yAPRq1c
System Planning:
• System planning is done by people who have faith in the future and a
vision of the future adequate to form the basis for planning. System
planning has two major outputs which embody its contributions. These
are proposals and design concepts. The proposal is addressed to the
decision-maker. One of its main ingredients consists of a statement of
the objectives of the system. The objectives may be set by the system
planner, or they may be articulated by him as an expression of his
understanding of the consensus of other responsible persons.
• Design concepts evolving from system planning are based on the
visualized system, and are addressed primarily to the system engineer.
22
Preliminary Investigation:
23
http://it-alteration.blogspot.com/2016/02/sdlc-and-preliminary-investigation.html
SWOT Analysis:
24
https://www.youtube.com/watch?v=JXXHqM6RzZQ
The Importance of Strategic Planning:
25
• The purpose of strategic planning for information systems (SPIS) is
to provide a systematic process for developing a long-range plan
for information systems on the basis of the organization’s overall
strategic plan. For an organization to perform SPIS properly, it
must consider both the organizational and the technical aspects of
planning. The organizational aspect emphasizes the necessity of
an integrated information systems plan and its close link to the
organization’s objectives. The technical aspect emphasizes the
necessity of planning for information systems architecture (ISA).
https://www.tandfonline.com/doi/abs/10.1080/07421222.1988.11517805
Evaluation of Systems Requests:
•Goal Based.
•Goal Free Based.
•Criteria Based.
Specific Goals
Overall System
Check List
26
Requirements Engineering:
27
• Requirements engineering (RE) refers to
the process of defining, documenting and
maintaining requirements in
the engineering design process
Requirements
Requirements
Requirements
Requirements
elicitation;
analysis;
validation;
management.
http://www.di.univaq.it/marco.autili/output/download.php?fileID=30
Difference between Structured Analysis and
Object Oriented Analysis:
28
https://www.youtube.com/watch?v=wK6zfKRm5RY
Difference between FDD Diagrams & UML
Diagrams:
29
https://www.youtube.com/watch?v=DWoD3mPlvdE
Data & Process Modelling:
30
• Systems analysts use many graphical techniques to describe an
information system.
• A data flow diagram use various symbols to show how the system
transforms input data into useful information
https://www.slideshare.net/fallonbrewington/chapter-05-14085195
Diagrams: Data Flow, Context, Conventions,
Detailed Level DFD’s:
31
https://www.youtube.com/watch?v=E2CK1xnce74
Logical Versus Physical Models:
32
• Logical data model
• It is created at the requirements gathering, system analysis and top level
design. It is a communication and specification tool for business analysts
and business.
• Physical data model
• It is created when you translate top level design into physical tables in the
database. This model is slightly different due to the fact that you have to
worry about many details. This model is created by database/software
architects, software developers or database administrators.
https://www.youtube.com/watch?v=RJ9TpkWKyU0
The Design Process:
33
• The Design Process is an approach for breaking down a large project into
manageable chunks. Architects, engineers, scientists, and other thinkers
use the design process to solve a variety of problems
Architecture Design Elements:
Architecture can mean: A general
term to describe buildings and other
physical structures. The art and
science of designing buildings and
(some) no building structures. The
style of design and method of
construction of buildings and other
physical structures.
34
Interface Design Elements:
35
• When designing your interface, try to be consistent and predictable in your choice of
interface elements. Whether they are aware of it or not, users have become familiar
with elements acting in a certain way, so choosing to adopt those elements when
appropriate will help with task completion, efficiency, and satisfaction.
• Interface elements include but are not limited to:
• Input Controls:
• Checkboxes, radio buttons, dropdown lists, list boxes, buttons, toggles, text fields, date field
• Navigational Components:
• Breadcrumb, slider, search field, pagination, slider, tags, icons
• Informational Components:
• Tooltips, icons, progress bar, notifications, message boxes, modal windows
https://www.usability.gov/how-to-andtools/methods/user-interface-elements.html
Component-Level Design Elements:
36
• The purpose of component level design is to define data structures, algorithms,
interface characteristics, and communication mechanisms for each software
component identified in the architectural design.
• Component level design occurs after the data, architectural, and interface
designs are established.
• The component-level design represents the software in a way that allows the
designer to review it for correctness and consistency, before it is built.
• The work product produced is a design for each software component,
represented using graphical, tabular, or text-based notation.
• Design walkthroughs are conducted to determine correctness of the data
transformation or control transformation allocated to each component during
earlier design steps
http://pesona.mmu.edu.my/~wruslan/SE3/Readings/GB
1/pdf/ch11-GB1-Component-Level-Design.pdf
Deployments Design Elements:
37
Design Elements . UML Deployment
Diagram is a type of Structure
Diagrams that shows the physical
deployment of information generated
by the software Composition;
Constraint; Generalization;
Realization; Interface with connector;
Processor node; Execution
environment node; Smart connector;
https://www.conceptdraw.com/diagram/deploymentLine connector
level-design-elements-in-software-engineering
System Architecture:
38
• A system architecture or systems architecture is the conceptual
model that defines the structure, behavior, and more views of
a system. An architecture description is a formal description and
representation of a system, organized in a way that supports
reasoning about the structures and behaviors of the system.
https://en.wikipedia.org/wiki/Systems_architecture
Architectural Styles:
39
User Interface Design:
• User interface design (UI) or user interface engineering is
the design of user interfaces for machines and software, such as
computers, home appliances, mobile devices, and other electronic
devices, with the focus on maximizing usability and the
user experience.
40
WebApps Interface Design:
• An application's user interface design is more than the sum of its
aesthetic decisions and branding. At its best, UI design is a tool
for helping users achieve what they need in an efficient manner.
• Your choice of a partner when developing a web application's
interface design is critical.
41
Software Quality Assurance:
42
• Software quality assurance (SQA) consists of a means of
monitoring the software engineering processes and methods used
to ensure quality. The methods by which this is accomplished are
many and varied, and may include ensuring conformance to one or
more standards, such as ISO 9000 or a model such as CMMI.
https://www.youtube.com/watch?v=M7ZVcQOSVF4
Validation Testing:
43
• Software Testing - Validation Testing. The process of evaluating
software during the development process or at the end of the
development process to determine whether it satisfies specified
business requirements. Validation Testing ensures that the
product actually meets the client's needs.
https://www.youtube.com/watch?v=2zWfVs-u7iM
System Testing:
44
• SYSTEM TESTING is a level of software testing where a complete
and integrated software is tested. The purpose of this test is to
evaluate the system's compliance with the specified
requirements.
OR
System testing ensures that all system element have
integrated will with the Software and the entire
system functions properly.
https://www.youtube.com/watch?v=2zWfVs-u7iM
Internal and External View of Testing:
45
Project Management:
• Project management is the practice of initiating, planning,
executing, controlling, and closing the work of a team to achieve
specific goals and meet specific success criteria at the specified
time.
46
Risk Management:
47
• It is generally caused due to lack of information, control or time. A
possibility of suffering from loss in software development process
is called a software risk.
• Steps:
•
•
•
•
•
Step 1: Identify the Risk. ...
Step 2: Analyze the risk. ...
Step 3: Evaluate or Rank the Risk. ...
Step 4: Treat the Risk. ...
Step 5: Monitor and Review the risk.
https://www.testinstitute.org/What_Is_Software_Risk_And_Software_Risk
_Management.php
Maintenance and Reengineering:
48
• Software managers are often confused over maintenance and
reengineering.
• Maintenance and reengineering are two different areas
in software engineering.
• Maintenance is for running the system till the age of the system
where as there reengineering make the system new to work for
another life span.
https://pdfs.semanticscholar.org/5b6d/27b6d6e89759f2f
23c58f2de93726e78e896.pdf
End of Slides
By Rizwan Nawaz.
49
Download