Download presentation
Presentation is loading. Please wait.
Published byGregory Neal Modified over 8 years ago
1
© NALO Solutions Limited NALO Solutions, presents the – Revenue Collector App Using Mobile Phones to gather Revenue www.nalosolutions.com SOFTWARE ENGINEERING Stephane Nwolley Jnr
2
2 © SE RELEVANT NOTE
3
3 © KEY FOCUS AREAS IN SE Introduction Software Process Requirement Engineering System Modeling Architectural Design Software Testing Dependability and Security Project Management Software Evolution
4
4 © INTRODUCTION Challenges Effort intensive High Cost Long Development time Changing needs of users High risk of failure, user acceptance, performance, maintainability… Quite different from one time programs where developers and users are the same
5
5 © SUCCESSFUL SOFTWARE PROJECTS SW Development have not always been successful When do we say a software project is successful? Development completed It is useful It is usable It is used Cost-effectiveness, maintainability implied
6
6 © WHEN DO WE SAY A SOFTWARE PROJECT HAS FAILED Schedule slippage Cost over-runs Does not solve the users problem Poor Quality Poor maintainability
7
7 © REASONS OF SOFTWARE FAILURES No Planning of development work – eg no milestone Deliverables to the user not identified Poor understanding of user requirements No control or review Technical incompetence of developers Poor understanding of cost and effort by both developer and user
8
8 © SOFTWARE PROCESSES Process consist of activities/steps to be carried out in a particular order Software process deals with both the technical and management issues Consist of different types of process Process of software development itself Process for managing the project itself (resources, cost) Process for handling the change Process to ensure all 3 processes are kept up to date to benefit from new development, standardization etc. (ISO)
9
9 © PLAN DRIVEN AND AGILE PROCESS Plan-driven processes are processes where all of the process activities are planned in advance and progress is measured against this plan. In agile processes, planning is incremental and it is easier to change the process to reflect changing customer requirements. In practice, most practical processes include elements of both plan-driven and agile approaches. There are no right or wrong software processes.
10
10 © SOFTWARE PROCESS MODEL The waterfall model Plan-driven model. Separate and distinct phases of specification and development. Incremental development Specification, development and validation are interleaved. May be plan- driven or agile. Reuse-oriented software engineering The system is assembled from existing components. May be plan-driven or agile. In practice, most large systems are developed using a process that incorporates elements from all of these models.
11
11 © REQUIREMENT ENGINEERING Requirements inception or requirements elicitation - Requirements identification - identifying new requirements Requirements analysis and negotiation - checking requirements and resolving stakeholder conflicts Requirements specification (e.g., software requirements specification; SRS) - documenting the requirements in a requirements document Systems modeling - deriving models of the system, often using a notation such as the Unified Modeling Language (UML) Requirements validation - checking that the documented requirements and models are consistent and meet stakeholder needs Requirements management - managing changes to the requirements as the system is developed and put into use
12
12 © ENGINEERING APPROACH TO SOFTWARE DEVELOPMENT Attempt to estimate cost/effort Plan and schedule work Involve user in defining requirements Identify stages in development Define clear milestones so that progress can be measured Schedule interviews both for control and quality Define deliverables Plan extensive testing
13
13 © SYSTEM MODELING Use case Diagram – representation of users interaction with the system Sequence Diagram - shows how processes operate with one another and in what order Activity UML – graphical representation of workflow of stepwise activity and actions
14
14 © ARCHITECHTURE DESIGN Software architecture refers to the high level structures of a software system. Interfaces – Shows how different applications would be integrated
15
15 © SOFTWARE TESTING Unit testing - refers to tests that verify the functionality of a specific section of code, usually at the function level. Component Testing - can be used to check the handling of data passed between various units, System Testing – end to end testing User testing – focuses on operability
16
16 © DEPENDABILITY AND SECURITY Hardware failure - Hardware fails because of design and manufacturing errors or because components have reached the end of their natural life. Software failure - Software fails due to errors in its specification, design or implementation. Operational failures - Human operators make mistakes. Now perhaps the largest single cause of system failures in socio-technical systems. Important to ensure that you lead as a project manager knowing your environment
17
17 © INTRODCUTION TO BE CONTINUED WHAT TO EXPECT IN THE EXAMS?
18
18
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.