Thanks for everything, it was such a pleasure to be your student. Never forget #TC1019
Fundamentals of Software Engineering
User sotries are one of the primary development artifacts for Scrum and Extreme Programming (XP) project teams. A user story is a very high-level definition of a requirement, containing just enough information so that the developers can produce a reasonable estimate of the effort to implement it. This article covers the following topics:
A user story is a tool used in Agile software development to capture a description of a software feature from an end-user perspective. The user storydescribes the type of user, what they want and why. A user story helps to create a simplified description of a requirement.
How to create a good user story?
1.-Users Come First
2.-Use Personas to Discover the Right Stories
3.- Create Stories Collaboratively
4.-Keep your Stories Simple and Concise
5.-Start with Epics
6.-Refine the Stories until They are Ready
7.-Add Acceptance Criteria
8.-Use Paper Cards
9.-Keep your Stories Visible and Accessible
10.-Don’t Solely Rely on User Stories
Verification | Validation |
1. Verification is a static practice of verifying documents, design, code and program. | 1. Validation is a dynamic mechanism of validating and testing the actual product. |
2. It does not involve executing the code. | 2. It always involves executing the code. |
3. It is human based checking of documents and files. | 3. It is computer based execution of program. |
4. Verification uses methods like inspections, reviews, walkthroughs, and Desk-checking etc. | 4. Validation uses methods like black box (functional) testing, gray box testing, and white box (structural) testing etc. |
5. Verification is to check whether the software conforms to specifications. | 5. Validation is to check whether software meets the customer expectations and requirements. |
6. It can catch errors that validation cannot catch. It is low level exercise. | 6. It can catch errors that verification cannot catch. It is High Level Exercise. |
7. Target is requirements specification, application and software architecture, high level, complete design, and database design etc. | 7. Target is actual product-a unit, a module, a bent of integrated modules, and effective final product. |
8. Verification is done by QA team to ensure that the software is as per the specifications in the SRS document. | 8. Validation is carried out with the involvement of testing team. |
9. It generally comes first-done before validation. | 9. It generally follows afterverification. |
Advantages of Software Verification :
User interface design is how humans interact with the computer, the goal is to make the life of the users as simple as possible.
The design is the process that is needed by creating webpages, myself applications, by building assessment and by creating any interactive device.
There’s a lot that goes into creating a beautiful (and usable) interface. It’s a constant balance between creating something that looks amazing and still makes sense to your users.
Principles :
Software maintenance is the activities perfomed to keep software operational. Those activities are code changes, configuration changes and environment changes
Code changes involves changes to the software of the source code of the software, this is done by developers. This is needed in order to debug de code.
Configuration changes are parameters that control the behavior of the software, this can be set of chains after the software has been built. This is done by tech support or operator.
Environment Changes is the modification of a softwareproduct after delivery to correct faults, to improve performance or other attributes. A common perception of maintenance is that it merely involves fixing defects.
Software implementation takes just the standard design, method or design, idea, model, specification, to do something. It is the action to be preliminarily follow the thought in order to make something happen. This is where the code starts and begins to implement the program specified designs. It is put into action all previously spoken.
Like gemelo,he might be writing code, but he is surely listening to music
Open Source is the source code where you have rights makes it available to change or freely distribute the software to anyone for any purpose. The open source software distributed and developed freely There are many open licenses
The idea of open source is centered on the premise that by sharing the code, the resulting program tends to be of superior quality proprietary software,
1. Access to the source code: To modify, correct or add more features.
2. Gratuity: The software is freely available.
3. The possibility of avoiding proprietary software monopolies: To not depend on a single software vendor.
4. A model of progress: Therefore the information is not hidden.
5.
Requirements for a code free.
• Free redistribution: software must be able to be given away or sold freely.
• Source code: the source code must be included or freely available.
• Derivative Works: redistribution of modifications must be allowed.
• Integrity of the source code from the author: licenses may require that modifications are redistributed only as patches.
• The license must not discriminate against any person or group: no one can be left out.
• Without discrimination of initiative areas: commercial users can not be excluded.
• Distribution license: the same rights should apply to everyone who receives the program
• The license must not be specific to a product: the program can not be licensed only as part of a larger distribution.
Software testing is the process of running the program with the attempt to find bugs, also check if the intentions of the software were met, validate and verify the functionality of the entire program. Test has two types of classification, static and dynamic. L static is the examination of the source code, implicit because text editors automatically they check the syntax. The dynamics involves the examination when the code is being run, is used to verify that the work program regarding the functional requirements. Some examples of software testing approaches are: test unit (basic), integration test (developer level), functional test (check the output) smoke test, regression test (bugs) acceptance test (user)
The software design patterns is a general solution to a common problem in software design, it is a general template that can be used to solve common problems.
There are 3 types of design patterns: structure (composition are about classes and objects), behavior (communication object classes) and creation (on request)
The software architecture is the final phase of the design. At this stage a structured solution that meets all requirements defined. It provides the relationship between all components, elements and system requirements. It is a series of decisions surrounding the impact on quality, maintainability and performance. If not well structured with the design, implementation could crumble. Architecture has to do with what we want the system to make and design is about how we achieve that.
Lets see the video!