Nguyễn Hoàng Anh - D12CNPM1- 1781310005
prototype - mẫu thử
A prototype is early version built for a system that the features which are of interes
Prototyping is a process model that offter a solution to the problem of ensuring thet the customer gets what they want
Trưởng nhóm sẽ quyết định bao nhiêu lập trình viên sẽ được tham gia vào dự án
Verification - xác minh
Verification is the general term for techniques that aim to produce fault-free software
click to edit
testing - kiểm thử
black - while box
Testing is one set of techniques for verifying software
Thỉnh thoảng khách hàng thay đổi môt vài yêu cầu
Chất lượng phần mềm được nâng cao nhờ nhiều lỗi được loại bỏ
Deadline - kỳ hạn cuối
Meeting deadline is improved because project is managed well
For effective management, we must establish deadline for the next stage of the project
Process model - Mô hình tiến trình
Water Fall and Spiral
Spiral model shows progress as a line that spirais out from near the centre of the diagram
...Design, Maintenance
In a waterfall model, the correctness of each step is checked
Top down - Từ trên xuống
Top-down is an approach to incremental implementation of software
risk while developing software - rủi ro khi phát triển phần mềm
The software occupies too much main memory
Tạo mẫu thử là một mô hình quy trình nhằm giải quyết vấn đề đảm bảo khách hàng có được thứ họ muốn
Một nguyên mẫu là phiên bản đầu tiên được xây dựng cho một hệ thống có các tính năng đáng chú ý
The team leader will decide how many developers will be involved in this project
Xác minh là thuật ngữ chung cho các kỹ thuật nhằm tạo ra phần mềm không có lỗi
Kiểm tra là một tập hợp các kỹ thuật để xác minh phần mềm
The quality of the software is improved thanks to many errors that are eliminated
Sometimes customers change some requirements
Việc đáp ứng kỳ hạn công việc được cải thiện vì quản lý dự án tốt
S: Meeting deadline, project - V: is improved, is managed - cấu kép
Để quản lý hiệu quả, chúng tôi phải thiết lập thời hạn cho giai đoạn tiếp theo của dự án
Top-down là cách tiếp cận để triển khai phần mềm
Phần mềm chiếm quá nhiều bộ nhớ chính
S: The software - V: occupies
The interface that the user sees when they use the computer is the single, paramount aspect of the system.
S: verificatiion - V: aim to produce - câu đơn
Black box: the black box approach to testing is to devise sample data that is representative of all possible data. This type of testing is termed black box testing because no knowledge of the workings of the program is used as part of the testing – we only consider inputs and outputs. The program is thought of as being enclosed within a black box.
White box: This form of testing makes use of knowledge of how the program works – the structure of the program – as the basis for devising test data. In white box testing every statement in the program is executed at some time during the testing. This is equivalent to ensuring that every path (every sequence of instructions) through the program is executed at some time during testing
S: Top-down - V: is - câu đơn
S: we - V: establish - câu đơn
Maintenance: The technical meaning of maintenance involves functional checks, servicing, repairing or replacing of necessary devices, equipment, machinery, building infrastructure, and supporting utilities in industrial, business, governmental, and residential installations
Mô hình xoắn ốc cho thấy tiến trình như một đường xoắn ốc từ vùng gần trung tâm của sơ đồ
S: Spiral model - V: shows - câu đơn
Trong một mô hình thác nước, tính chính xác của từng bước
được kiểm tra
S: the correctness of each step - V: is checked - câu đơn
S: A prototype - V : is - câu phức
S: Prototyping - V : is - câu phức
S: Testing - V: is - câu đơn
P2 - Design
Database
Designing
Database sever (Web sever, Application server?
Process model
Water Fall and Spiral
Waterfall Model
Spiral Model
GUI, WWW
UML
Use Case
Modularity
Structure of software
Why modularity?
Software can be designed?
by a method
function decomposition
object-oriented design
data structure design
"As its name suggests, functional decomposition focuses on the functions, or actions, that the soft out"
Object-oriented programming (OOP) Object-oriented design
Class + Object
principles of OOP
"The advantage of OOP is to promote, the reusability of software components"
encapsulation, inheritance and polymorphism
Data flow design
P1 - Software
System Software
How to delete a file?
Operating system (OS)
Application Software
Android applications? language?
Microsoft Office Software?
information system
Activity of software development
Meeting user's needs
Requirements analysis
Project management, design
Programming, testing, coding ...
Validation
goals of software development
Cost of software is determined
problems in software development
Specification is a list of requirements that describe v wants
Meeting deadines
GUIs
Most software has a graphical user interface
which must be carefully designed so that it is easy to use
www
World Wide Web: combination of all resources and users on the Internet that are using the Hypertext Transfer Protocol (HTTP)
Designing the database is a whole subject in its own right and is not normally considered to be part of software engineering
Database sever: If a computer provides database services to other, then it will be known as a Database server
high level programming language: Java
"In a waterfall model, the correctness of each step is checked"-Trong một mô hình thác nước, tính chính xác của từng bước được kiểm tra
Desgin
It divides a complex task into smaller, more manageable tasks
each task produces a well-defined deliverable
each stage is carried out in sequence - there is no going back
The goal of this approach is to maintain control during development
The spiral model consists of a series of cycles. Each cycle
consists of a series of steps. At every cycle, any risks to the
successful progress of the project are assessed. Then an
appropriate method is selected in order to minimize that risk
The spiral model consists of a repeated cycle of small steps designed to assess and deal with risks at every cycle. Thus the spiral model is termed an iterative approach
Use cases are descriptions of requirements that can be
augmented by UML use case diagrams
Software can be designed by a method, such as functional
decomposition, object-oriented design or data structure design.
Modularity is to do with the structure of software
to construct software from pieces that are as independent of
each other as possible
Như tên gọi của nó phân rã chức năng là một phương pháp tập trung vào các chức năng, hoặc các hành động, mà phần mềm phải thực hiện
Data flow design is a method for carrying out the architectural
design of software
One of the principles used in the design of object-oriented software is to simulate real world situations as objects. You build a software model of things in the real world
One of the main benefits of OOP is reuse of software
components
Class
A class is a template or blueprint for any number of objects that can be created from it
class consists of a grouping of variable declarations, at the top, followed by methods
Object
In object oriented programming, data and actions that are
strongly related are grouped together into entities called objects
encapsulation
allows a class to be reused without knowing how it works – thus
modularity and abstraction are provided
inheritance
allows a class to be reused by using some of the existing
facilities, while adding new facilities in a secure manne
polymorphism
promotes encapsulation by allowing general purpose classes to be written that will work successfully with many different types of object
a method for carrying out the architectural (large-scale)
design of software
depends on identifying the flows of data through the intended software, together with the transformations on the flows of data
Component
a collection of lines of code
self-contained
called from some other components
P3 - Programming, languages
Robust software is software is software that tolerates faults
class diagram
high-level programming language
Java, Cobol, Visual Basic or C#
Algorithm
syntax
Bug
Statement/Java statements?
imprort week, Firday; import week;
statement: create an object Friday fri = new Friday();
data type
Division by zero
floating point overflow
if/else/condition for/while/ break staement
public method/private method private varlable/public variable
Class
to prevent errors
superclass/subclasses
packages
to prevent errors? make good design
Dịch
"Errors can be detected by a compiler"
"Faults can be prevented and detected during software development"
The C and C++ languages have a rule that a method has to be declared before it can be used
"java lang contains the classes that support the main features of the language like Object, String, number, exception and threads."
A header file is a source code file that contains the deciaration of the methods to be found within a package
If the import statement was omitted, we can not use the class JButton.
import java.awt.; (in Java) - Using means that we want to import all the classes within the named package.
Java is a language that provides single inheritance
"Những chương trình lớn phải được phát triển bởi đội ngũ lập trình viền"
"Một phương thức có thể chứa các câu lệnh và khai báo các biến"
Kiểm thử viên là người được yêu cầu kiểm thử chương trình
Algorithm
A programming language is used to write software
Programming language: Java,C, Cobol, Esclipse
Robust software is software that tolerates faults.
is said to be problem-oriented and to reduce software production and maintenance costs
Typically the classes are described in a graphical
notation, called a class diagram
In OOP, “Classes Square and Rectangle are
subclasses of superclass Shape
It is often convenient to group the classes of a large program into packages. Each package is given a name
Classes within a package can be used by giving the full name of the package and class
Lỗi có thể được phát hiện bởi trình biên dịch
Lỗi có thể được ngăn chặn và phát hiện trong quá trình phát triển phần mềm
Ngôn ngữ C và C ++ có một quy tắc rằng một phương thức phải được khai báo trước khi nó có thể được sử dụng
java.lang chứa các lớp hỗ trợ các tính năng chính của ngôn ngữ như đối tượng, chuỗi số, ngoại lệ và các luồng
Tệp tiêu đềlà một tệp mã nguồn mà chưa khai báo của cácphương thức tìm thấy trong một gói
Nếu câu lệnh nhập bị bỏ qua, chúng ta không thể sử dụng lớp JButton
import java.awt: (trong java) - Nghĩa là chúng ta muốn nhập tất cả các lớp trong gói được đặt tên
Java là ngôn ngữ cung cấp tính đơn kế thừa
Large-scale programs must be developed by a team of programmers
A method can contain statements and declare variables
Tester is a person who is required to test the program