2021年4月16日星期五

F6 ICT S3: Fundamental of Relational Database Systems

Candidates should be able to:

(a)      explain the importance of data as an asset to organizations such as schools and hospitals;
(b)      explain the types of data operation: sorting, validation and abstraction;
(c)      describe the characteristics of good data and information which can help users in making decisions;
(d)      explain the data hierarchy;
(e)      define database, database systems and database management systems (DBMS);
(f)       explain the importance of database systems in administration, business and daily life;
(g)      explain the importance of software, hardware, data, people and procedure as integrated components of a database system;
(h)      describe the functions of the DBMS components: data dictionary, data manipulation language (DML), and data description language (DDL);
(i)        describe the advantages of database systems as compared to file processing systems;
(j)        describe the representations of a relational database: table, row and column;
(k)      explain the concept of keys: primary key, foreign key and candidate key;
(l)        explain the concept of data integrity. 

------------------------------------------------------------------------------------------------------------

*代表额外知识,方便大家更好的理解


*Data
-An unprocessed raw facts and does not carry any useful meaning.
-A basic fact of required information for an organization.

*Information
-A processed data in an organized, useful, and meaningful form to the managers in helping them to solve problems or make decision



Importance of Data

-Provide accurate and up-to-date information.

-Allow organizations to determine the causes of problems more efficiently.

-Able to make informed decisions.



Data Operation

-An agile, process-oriented methodology for developing and delivering analytic.

-An organization-wide data management practice that controls the flow of data from source to value, with the goal of spending up the process of deriving value from data.


Types of Data Operation

➤Sorting

-Rearrange data in ascending or descending order according to Primary Key.
-Sort data according to certain categories.

➤Validation

-Examine whether the input or the stored data is correct.
-Method of checking the accuracy and quality of data.

➤Abstraction

-The reduction of a particular body of data to a simplified representation of the whole. 
-The process of taking away or removing characteristics from something in order to reduce it to a set of essential characteristics.



Characteristics of Good Data And Information

➤ Accurate

-Refer to the degree to which information is free from error.

➤ Timely

-Refer to how current the information is.

➤ Complete

-Refer to the degree to which it is free from omission
-Data must tell the whole story about an issue.

➤ Relevant

-Refer to the degree to which it is relevant to the decision-making.
-Gather irrelevant information is wasting time and money.

➤ Consistent

-Same information must be produced any time constantly.
-Data duplication may occur if data is stored in multiple places and are not updated consistently.

接下来的东西可能有点难理解,要再读到后面ERD,sql时就会明白了。



Data Hierarchy

-Refer to the systematic organization of data, often in a hierarchical form.

➤ Bit

-Smallest unit of data
-An electronic signal.
-Exp: 0, 1

➤ Byte

-Combination of 8 bits, each byte makes 1 letter.

➤ Field

-Combination of bytes.
-A group of characters that formed word of data.

➤ Record

-Combination of fields.
-Group of the related fields about an entity.

➤ File

-Group of records with the same data fields

➤ Database

-A group of related files for a specific entity. 







Database(DB)

-Collections of data that are linked logically.


Database Systems (DBS)

-Overall system that consists of a database, DBMS application programs, and users with all of them integrating as one unit.

-Consist 5 components:

➤ User 

-People who interact with DB.
-Party that involved in DBS.
-Exp: Ordinary end-user, upper-level end user.

➤ Procedure

-Rules and instructions which explain the design and usage of a DB.
-so users and operators know how to operate the system. 

➤ Data

-Consists of raw data stored in files.
-Exp: numbers, characters

➤ Hardware

-Physical device on which database resides.

➤ Software

-Program that written by a programmer to solve a certain problem.

-Exp: DBMS.

#如题目问DBS的意思,可以说一个包括了5种components的system(记得list出来是哪几个


Importance of Database System

-Can avoid data duplication.

-Higher level of data consistency

-Provides effective data integration

-Increase the productivity of end-user

-Quick decision making

-Better problem solving and support service

这只是参考,只要答案合理都可以




Database Management Systems (DBMS)

-Software system that allows users to define, develop and maintain DB.
-A set of programs to access the interrelated data.

Components of DBMS

➤ Data Dictionary

-Contains the definition of the data stored structure in a data repository.
-Catalogue that stored metadata (data that is related to the specific DBS) of a DB.

➤ Data Manipulation Language (DML)

-Provides a set of operations, which support manipulation operations on data in DB.
-Helps to access and manipulate data.

-Exp: INSERT, DELETE, SELECT, UPDATE

#这里不明白没关系,后面学了SQL就会懂了

➤ Data Description/Definition Language (DDL)

-To define DB structure.
-Cannot use to manipulate data.
-Outcome is table that store data dictionary.








File Processing System

-A way of storing, retrieving, and manipulating data that is present in various files.
 
-Files are used to store various documents. All files are grouped based on their categories.
 
-The file names are very related to each other and arranged properly to easily access the files.


-Advantages of File Processing System : 

 

  • Cost friendly – 
    There is a very minimal to no setup and usage fee for File Processing System. (In most cases, free tools are inbuilt in computers.) 
     
  • Easy to use – 
    File systems require very basic learning and understanding, hence, can be easily used. 
     
  • High scalability – 
    One can very easily switch from smaller to larger files as per his needs.

-Disadvantages of File Processing System : 
 

  • Slow access time – 
    Direct access to files is very difficult and one needs to know the entire hierarchy of folders to get to a specific file. This involves a lot of time. 

  • Presence of redundant data – 
    The same data can be present in two or more files which takes up more disc space. 
     
  • Inconsistent Data –
    Due to data redundancy, the same data stored at different places might not match each other. 
     
  • Data Integrity Problems –
    The data present in the database should be consistent and correct. To achieve this, the data should satisfy certain constraints.
     
  • Difficulty in the recovery of corrupt data – 
    Recovery or backup of lost and corrupt data is nearly impossible in the case of File Processing System. 
     
  • Lack of Atomicity –
    Operations performed in the database must be atomic i.e. either the operation takes place as a whole or does not take place at all. 
     
  • Problem in Concurrent Access – 
    When a number of users operate on a common data in the database at the same time then anomalies arise, due to lack of concurrency control. 




Relational Database

-A type of database that stores and provides access to data that are related to one another.

-Collection of data items with pre-defined relationships between them.

-Based on the relational model.


Representation of Relational Database

1.Table

-In the Relational model, relations are saved in the table format. 
(It is stored along with its entities.)

-A table has two properties rows and columns. 
(Rows represent records and columns represent attributes.)


2. Row

-A single row of a table, which contains a single record


3. Column

-Represents the set of values for a specific attribute


4. Attribute

-Each column in a Table. Attributes are the properties that define a relation. 

-Exp: Student_Rollno, NAME


5. Degree

-The total number of attributes which in the relation is called the degree of the relation


6. Cardinality

-Total number of rows present in the Table.


7. Relation

-Table that consists of rows and columns.




Key Concepts 

-To identify a specific record.

1. Primary Key (PK)


-A column or group of columns in a table that uniquely identifies every row in that table. 

-Can't be a duplicate meaning the same value can't appear more than once in the table. 

-A table cannot have more than one primary key.

>可以独特区别/代表一个data

>每个PK一定要特别的,不能有重复


2. Candidate Key (CK)


-A set of attributes that uniquely identify tuples in a table. 

-The Primary key should be selected from the candidate keys. 

-Every table must have at least a single candidate key. 

-A table can have multiple candidate keys but only a single primary key.

>PK的候选/备份,除了被选中的PK,其他CK也有潜质当PK

>例如PK是学生编号,但是学生的IC号码也可以当PK,这个时候IC就是CK。






3. Foreign Key (FK)

-A column that creates a relationship between two tables. 

-To maintain data integrity and allow navigation between two different instances of an entity.
 
-It acts as a cross-reference between two tables as it references the primary key of another table.

>一个帮忙连接两个table的key。

>通常database会把信息分开储存,加入有两个table,一个是有学生信息的,一个关于教师
信息。为了把这两个table连接起来,会开一个FK,例如班级名,通过班级可以知道这个学
的老师是谁,可以知道这个老师的学生有谁。



#请一定要理解好几个key的区别,这对后面学的东西很重要,也是考题常问的。



Data Integrity

-Refers to the accuracy and consistency of data stored in a database.
-Refers to the safety of data in regards to regulatory compliance.

>通常是指数据的统一性,比如小明的电话号码是111,在数据库A存的是111,但是在数据库B的时候存的是112,这样就不能叫data integrity。




这个bab有点难理解是很正常的,因为都是非常基础的知识,后面学了怎样画ERD,entity
,attribute这些就会容易理解了。

2021年4月15日星期四

F6 STPM ICT Sem 2的学习小技巧

前言,个人是觉得ICT stpm level的c programming是真的简单,因为学的很basic,问题也偏basic。只要你肯努力做练习,勤劳上电脑虐待脑袋的话.....前期可能会很头痛,后期真的会觉得sem 2好容易,因为不需要背那么多teory。

《如何在STPM ICT S2考取好成绩?》

1.勤做练习

Pass year的题目来回做个几次,就会发现有些题型出了好几次了。也可以上网找题目来做,也可以自己想题目做,或者改题目。例如,题目要求用if...else,自己改题目变成用switch...case。同样的,do...while, while, for这种looping来回换,三种方式都试一次。

主要是熟练code的写法。


2.上电脑

虽然考试是写纸上,当刚开始学,还没有那么熟练的时候,一定要用电脑compiler run一次,不然不会知道哪里出错。当你经历无数次的error时,就会很谨慎什么要写什么不用。电脑可以下载compiler的一定要下载回家做练习。不能的,手机电脑能找online compiler,虽然只提供简单一点的功能,但是也可以很好练你的逻辑能力。比如scanf用不到,你就去想怎样变成不用scanf也可以。其实就是开头就declare一个value就好了....


3.读Teory

是的,虽然90%是靠理解和逻辑,但看历年考题会发现至少有一题teory。其实sem 2的teory不会很难记,有些是sem 1读过的,基本也不会问很难。


4.不会一定要问人

不然不会明白自己为什么错。当然也可以自己尝试解决,只是真的会和烧脑罢了.....不过当你过了烧脑的过程,前方的路会越来越轻松。


5.考前复习code的写法

考前可以看回一些code的写法,例如switch...case后面每个case要放break。毕竟有时候人紧张就会忘记一些小细节嘛。可以把一些不记得的code写下来提醒自己。


6.不要犯careless mistake

例如忘记放semicolon,白白浪费分数啊,或者忘记define variable,用错value type等。


7.不要放弃

不要放弃每一题,就算不会也写,例如开#include<stdio.h>,写int main()等。仔细看题目要求,有时会叫你print东西出来和写别的东西,就算后面的不会了,写个printf statement拿1分也很不错了。


8. 允许自己当白痴

要记住,这是STPM,你只是初学者,学了几个月的programming的初学者,你不需要写得多天才多厉害,只要最后的答案还是对的就没问题。允许自己当白痴,用多此一举的写法。考试只需要拿分不是看你写到多厉害多么简洁还对,反正也只有批改老师知道你写得多好。我给个例子,function里如果要找square的area,

简洁快速的写法:

float areaSquare (int x, int y) {

      return (x*y) ;

长一点的写法:

float areaSquare (int x, int y) {

      float area;

      area=x*y;

      return (area) ;

两种写法最后的答案都一样,只是一个更短一点,但是如果这样写你不确定对不对,用回长的写法就好了,不需要像professional一样,stpm只要拿到分就可以了。


9. 关于Coursework

相对于sem 1,sem 2会更加简单,也一样麻烦。同样最后要burn进CD,design CD cover这些(所以sem 1下载的design cover的软件不要删)。如果有MPM的参考,一样的可以‘借鉴’里面的东西。

没有记错的话,题目选择好像是固定了的(如果不是请纠正我)。和其他两个sem不同,sem 2的coursework是一步一步越来越难,我指题目和要写的code。但其实只是在前一个code再加东西罢了。

比如,题目关于学生的成绩和grade(仅作参考):

1. 一开始只是叫你print 不同分数对应的grade。
2. 想几个科的分数加起来多少(单个学生),这里老师会一起讨论要用到的equation,equation很重要,因为会重复使用到最后,而且答案出来错误你的coursework就GG了。
3. 然后可能叫你加上学生编号,比如Student 1,Student 2 (这里还比较容易)
4. 再加每个学生的名字,班级等
5. 算全部学生的分数加起来多少/average/percentage等
6. 开array和struct

顺序其实跟你学C语言一样,从怎样printf,scanf到if....else,looping,function,array,struct。每一次都是在前面的code加东西。然后你要当场写(前面写过的可以直接copy,要新写的code不可以),save进老师给的pendrive。当然你自己也要保存一份。每次写的都要分开save。

还有每一次都要想flowchart,最后做report一就是手画出来或者用电脑edit(老师应该会叫你用电脑做)。有些人用word edit,我是建议上网找online free flowchart maker。我自己是用lucidchart的,好处就是排版比较方便,而且调整形状,线条也比较方便。

Report要写的东西就是抄回题目,然后附上的flowchart,code,和output,所以sem 2的report其实很简单,甚至print的时候会惊讶才这么少页数罢了啊。当然前面还是要写introduction,content table那些(有参考的)

要burn的东西,就是你每一次写的code,然后report,flowchart和code的一些文件。

----------------------------------------------------------------------------------

然后,好像没了.....因为觉得sem 2好像没什么可以提醒的,note也只是前期开始学需要,后面只是稍微看下复习写法....只要掌握好基础的c programming会觉得我这篇文超废就是了~

我整理的sem 2考前复习,还在继续整理中:

https://itsjyzhere.blogspot.com/2021/07/f6-ict-sem-2.html


F6 ICT S3: System Development Life Cycle

 

2.0 System Development Life Cycle (SDLC)

2.1 Introduction To SDLC
Candidates should be able to:
(a)      describe systems development methodologies: waterfall model, rapid application development model and spiral model;
(b)      describe the phases in SDLC: planning, analysis, design, implementation and maintenance with reference to waterfall model.

这里先把SDLC的5个Phase讲完,不包括几种model.....不然真的很长,SDLC是stpm里常出的热门题目,每个phase都要理解清楚,也是最长的一个bab。*代表额外知识。



System Development Life Cycle (SDLC)

-A conceptual model which includes policies and procedures for developing or altering systems throughout their life cycles.

-Used by analysts to develop an information system.

-A systematic approach which explicitly breaks down the work into phases that are required to implement either new or modified Information System.

>把系统发展分成几个周期(phase) ,通常是5个
>简单来说,分成5个phase去设计发展一个软件、系统等
 

#stpm里不把testing phase当成其中一个SDLC

------------------------------------------------------------------------------------------------------------------------------
2.2 Planning Phase
Candidates should be able to:
(a)      state the purpose of the planning phase;
(b)      describe and perform the activities in the planning phase: initial evaluation and feasibility study;

(c)      produce the deliverables of the planning phase: feasibility report, problem statement, project objective, project scope and project schedule.

Planning Phase

-Purposes:

~To find out the scope of the problem and determine solutions 

~To decide exactly what you want to do and the problems you’re trying to solve

-Activities:
~Initial evaluation 

  • Investigates the current system to define problems, the objectives and the resources such as personnel and costs.

~Feasibility Study 

-Suggestions:
~Develop a new system
~Improve the current system
~Leave the system as it is.

-Deliverables:

  • Feasibility report 
  • Problem statement 
  • Project objective 
  • Project scope
  • Project schedule 

>简单的说就是会去研究现有的系统需要改进吗,还符合顾客要求吗,如果需要就进行下一个phase,不需要就保持不动。

Feasibility Study

-Designed to reveal whether a project/plan is feasible.

-Conducted in order to objectively uncover the strengths and weaknesses of a proposed project or an existing business.

-To decide whether the current system still meets the user's needs.

-To determine whether the proposed system is suitable for all the organisation sources. 

-Types of feasibility study:

1.Economic Feasibility

  • Involves a cost/ benefits analysis of the project, helping organizations determine the viability, cost, and benefits associated with a project before financial resources are allocated.
  •  It also serves as an independent project assessment and enhances project credibility—helping decision-makers determine the positive economic benefits to the organization that the proposed project will provide.
  • 调查cost和一些可能带来的好处

2.Technical Feasibility 

  • To determine whether the current resources can support the future expansion or able to communicate with other systems. 
  • Focuses on the technical resources available to the organization. 
  • It helps organizations determine whether the technical resources meet capacity and whether the technical team is capable of converting the ideas into working systems. 
  • Technical feasibility also involves the evaluation of the hardware, software, and other technical requirements of the proposed system.
  • 调查现有的技术能支持系统发展吗,公司有相关的技术和科技吗。

3.Operational Feasibility 

  • To analyze and determine whether—and how well—the organization’s needs can be met by completing the project. 
  • Examine how a project plan satisfies the requirements identified in the requirements analysis phase of system development.
  • To determine whether the system is operating effectively once it is developed and implemented. 

4.Legal Feasibility

  • Investigates whether any aspect of the proposed project conflicts with legal requirements like zoning laws, data protection acts or social media laws. 
  • Exp: An organization wants to construct a new office building in a specific location. A feasibility study might reveal the organization’s ideal location isn’t zoned for that type of business. That organization has just saved considerable time and effort by learning that their project was not feasible right from the beginning.
  • 调查要发展的系统有没有违反法律等

5.Social Feasibility 

  • To determine whether the proposed system can be accepted by the society. 

6.Scheduling Feasibility 

  • Estimates how much time the project will take to complete. 
  • Ensure the project is completed within the given time schedule. 
  • 调查能在规定时间完成吗

*Importance of Feasibility Study

-Improves project teams’ focus
-Identifies new opportunities
-Provides valuable information for a “go/no-go” decision
-Narrows the business alternatives
-Identifies a valid reason to undertake the project
-Enhances the success rate by evaluating multiple parameters
-Aids decision-making on the project
-Identifies reasons not to proceed

#搬运自https://www.google.com/amp/s/www.simplilearn.com/feasibility-study-article/amp

------------------------------------------------------------------------------------------------------------------------------

2.3 Analysis Phase
Candidates should be able to:
(a)      state the purpose of the analysis phase;
(b)      describe the activities in the analysis phase: determination of users’ requirements and structuring of system requirements;
(c)      state the methods of determining users’ requirements: interview, survey, observations, and review of procedures and documents;
(d)      apply suitable methods of determining users’ requirements;
(e)      describe structuring of system requirements: process modeling, logical modeling and conceptual data modeling;
(f)       use data flow diagrams to model the  processes;
(g)      use logical model representations: decision tree and decision table;
(h)      use entity-relationship (E-R) diagrams to model conceptual data;
(i)        produce the deliverables of the analysis phase: users’ requirements specifications, process model, decision tree or decision table and data model.

Analysis Phase 

-Defines the requirements of the system, independent of how these requirements will be accomplished.

-Defines the problem that the customer is trying to solve. 

>分析顾客需求,一些问题

-Activities:

~Determination of users' requirement
~Structuring of system requirement

-Deliverable:

  • Users' requirements specifications 
  • Process model decision tree
  • Process model decision table 
  • Data model 

Determination of Users' Requirement

-Data collecting techniques:

1.Interview 

  • A structured conversation where one participant asks questions, and the other provides answers.
  • System analyst will be the interviewer while system user is the interviewee.
  • Advantages:
    -Effective way of communicating and obtaining information.
    -Allow open-end questions.
    -Flexible, questions are not fixed.
  • Disadvantages:
    -Time consuming
    -Costly
    -Limited number of questions and people can be covered.

2.Questionnaires/Survey

  • Allow an analyst to collect information from many people in relatively short amount of time.
  • Documents that contained a set of standard questions that can be sent to many individuals for collecting information about the system.
  • When using questionnaires, the questions should be focused and organized by a feature or project objective. 
  • Questionnaires should not be too long, to ensure that users will complete them. 
  • Advantages:
    -Able to collect data from a large group of people
    -Identity of respondents will not be known which encourage them to provide real facts.
  • Disadvantages:
    -Number of replies is not guaranteed.
    -Takes a long time to get a reply.
    -Inflexible.

3.Observations 

  • A process of watching someone or something.
  • System analyst can observe the user and how their surroundings affect their interaction with the system
  • Advantages
    -Analyst can understand system better.
    -Able to see how the users operate the current system.
    -Inexpensive.
  • Disadvantages
    -Direct observation may distract staff and causes poor performances.
    -Need multiple sessions to verify that facts collected were constant, rather than isolated incidents. -Users may not provide an accurate depiction of their everyday tasks and respond differently.
    -Some users may become nervous, and not perform as they normally would. Other users may try and perform better or work harder when they know they are being observed. Such observations can inhibit the analyst to decipher what the true requirements actually should be.

4. Review of procedure and documents

  • Help the analyst understand the business, or system, and its current situation.
  • Provide the analyst the titles and names of stakeholders who are involved with the system. 
  • Help the analyst formulate questions for interviews or questionnaires to ask of stakeholders, in order to gain additional requirements
  • Advantages:
    -Discover more details about the current system
    -Economical

*Joint Application Design (JAD)

-A structured process in which users, managers, and analysts work together for several days in a series of intensive meetings to specify or review the system requirements.

-A process that accelerates the design of information technology solutions.

-Person involved:

~Project Leader
~Session Leader
~Scribe/Modeler
~Participants (Managers, Users)
~Observer

-Advantages:

  • Consolidation of months of work into a structured workshop
  • Clarifies specification requirements in an environment of consensus
  • Identifies open issues and parties responsible for their resolution
  • Ties together the steps of the design process in a concise document
  • Increases user satisfaction by directly involving users in the design process
  • Builds commitment through the use of the executive sponsor
  • Builds a sense of belonging and helps create a cohesive team through the physical and social setting
  • #部分来源https://www.umsl.edu/~sauterv/analysis/F2015/Requirement%20Gathering%20Methods.html.htm



    Structuring of System Requirement

    1.Process modeling
    • Organize and utilize the information gathered during requirements determination into a meaningful representation of the IS that exists.
    • Graphically represent the functions or processes that capture, manipulate, store and distribute data between a system and its environment and among system components
    • Exp: Data Flow Diagram (DFD)
    • Able to know how data flows through an information system (i.e. between external entities and the processes and data stores within a system), the relationship among data flows, and how data is stored at specific locations. the processes that change or transform data.

    2.Logical modeling 
    • Model the processing logic and the timing of the events.
    • Involves representing internal structure and functionality of processes depicted on a DFD.
    • Processes must be clearly described before translating them into a programming language.
    • To show when processes on a DFD occur.
    • Logic modeling will be generic without taking syntax of a particular programming language

    3.Conceptual data modeling
    • Representation of organizational data.
    • An organized view of database concepts and their relationships. 
    • To show rules about the meaning and interrelationships among data and  to create accurate E-R diagrams
    • Entity-Relationship (E-R) diagrams are commonly used to show how data are organized.
    • Consistency must be maintained between process flow, decision logic, and data modeling description.
    • Methods such as interviews, questionnaires, and JAD are used to collect information

    #https://slideplayer.com/slide/12310271/

    更详细的请到链接里看或者自己找别的网站,这里不多解释,后面design phase还会有类似的出现。

    ------------------------------------------------------------------------------------------------------------------------------

    2.4 Design Phase

    Candidates should be able to:

    (a)      state the purpose of the design phase;
    (b)      describe and perform the activities in the design phase: logical data design, physical data design and program structure design;
    (c)      produce the deliverables of the design phase: logical data design, user interfaces, form design, report design and program structures using structure charts.

    Design Phase

    -Describe the necessary specifications, features and operations that will satisfy the functional requirements of the proposed system which will be in place.

    -This is the step for end-users to discuss and determine their specific business information needs for the proposed system. 

    -Consider the essential components (hardware and/or software) structure (networking capabilities), processing, and procedures for the system to accomplish its objectives.

    -Activities:
    • Logical Data Design 
      -T
      o define the structure of data elements and to set relationships between them. 
      -Adds further information to the conceptual data model elements.
      -To provide a foundation to form the base for the Physical model.



    • Physical Data Design
      -Describes a database-specific implementation of the data model.
      -It offers database abstraction and helps generate the schema.
      -Helps in visualizing database structure by replicating database column keys, constraints, indexes, triggers, and other RDBMS features.



    • Program Structure Design
      -A conceptualization of the problem into several well-organized elements of solution.
      -A systematic methodology to determine design specification of program.
      -It is basically concerned with the solution design.
      -Gives a better understanding of how the problem is being solved.

    -Deliverable:

    • Logical data design
    • User interfaces
    • Form design
    • Report design
    • Program structures using structure charts.
    *Structure Chart

    -A chart that shows the breakdown of a system to its lowest manageable levels.

    -Represent hierarchical structure of modules.

    -Structure Analysis Tools:

    • Data Flow Diagram (DFD)
    • Data Dictionary
    • Structured English
    • Decision Tree
    • Decision Table



    #https://www.guru99.com/data-modelling-conceptual-logical.html#5


    ------------------------------------------------------------------------------------------------------------------------------

    2.5 Implementation Phase

    Candidates should be able to:

    (a)      state the purpose of the implementation phase;
    (b)      describe and perform the activities in the implementation phase: coding, testing, installation, evaluation, documentation, training and support; 
    (c)      explain the types of testing: manual (inspections, walkthroughs and desk checking) and automated (syntax checking, unit testing, integration  test and system test) and user acceptance testing (alpha and beta);
    (d)      produce the deliverables of the implementation phase: test report, installed system (direct, parallel, pilot and phased) and documentation (system and user);
    (e)      explain user training and support: (design and content) and (method and delivery).



    Implementation Phase

    -Involves the actual installation of the newly-developed system. 

    -This step puts the project into production by moving the data and components from the old system and placing them in the new system via different methods.

    -To deploy and enable operations of the new information system in the production environment.

    -Activities:
    1. Coding
      -D
      evelopers start build the entire system by writing code using the chosen programming language.
      -Tasks are divided into units or modules and assigned to the various developers. 

      -Developer needs to follow certain predefined coding guidelines.
      -They also need to use programming tools like compiler, interpreters, debugger to generate and implement the code.

    2. Testing
      -To detect errors that still appear in the system.
      -T
      est the functionality of the entire system.
      -To verify that the entire application works according to the customer requirement.
      -This process continues until the software is bug-free, stable, and working according to the business needs of that system.


    3. Installation
      -Install a copy of software so user can use it.
      -The final software is released and checked for deployment issues if any.
      -Replace the current system with new system.

    4. Evaluation
      -Measures how well the original ambitions of the new system have been achieved.

    5. Documentation
      -Represents documents that describe the system itself and its parts.

    6. Training and Support
      -T
      eaching, or developing in oneself or others, any skills and knowledge or fitness that relate to specific useful competencies.
      -Training helps users adapt to changes in their roles while support helps end-users prevent issues from the get-go.
      -Support enables the evolution of the platform to better meet the needs of the organization from spotting new enhancements to finding bugs that could hamper the workday.
    -Deliverable:
    • Test report,
    • Installed system (direct, parallel, pilot and phased) 
    • Documentation (system and user)
    Types of Testing
    1. Manual Testing
      -Process of manually testing software for defects.
      -Execute text cases manually by a tester without using any automated tools.

      ➤Inspections
      -An organized examination or formal evaluation exercise.
      -Refers to peer review of any work product by trained individuals who look for defects using a well-defined process.
      -Formal form of reviews and strategy adopted during the static testing phase.

      #http://tryqa.com/what-is-inspection-in-software-testing/

      ➤Walkthrough
      -Method of conducting informal group or individual review.
      -To review documents with peers, managers, and fellow team members who are guided by the author of the document to gather feedback and reach a consensus.
      -Can be pre-planned or organized based on the needs.
      >比较不正式的测

      #http://tryqa.com/what-is-walkthrough-in-software-testing/

      ➤Desk Checking
      -The process of manually reviewing the source code of a program.
      -It involves reading through the functions within the code and manually testing them, often with multiple input values

    2. Automated Testing

      ➤Unit Testing
      -A type of software testing where individual units or components of the software are tested.
      -To validate that each unit of the software code performs as expected.
      -Unit Testing is done during the development (coding phase) of an application by the developers. -Unit Tests isolate a section of code and verify its correctness.
      -A unit may be an individual function, method, procedure, module, or object.
      >单个测

      #https://www.guru99.com/unit-testing-guide.html

      ➤Integration Testing
      -Software modules are integrated logically and tested as a group.
      -To expose defects in the interaction between these software modules when they are integrated.
      >合起来测

      #https://www.guru99.com/integration-testing.html

      ➤System Testing
      -A level of testing that validates the complete and fully integrated software product.
      -To evaluate the end-to-end system specifications.

      #https://www.guru99.com/system-testing.html

      ➤Syntax Checking
      -A program to check natural language syntax.
      -Check syntax errors in each statement, according to the data set type.



    3. User Acceptance Testing (UAT)
      -A type of testing performed by the end-user or the client to verify/accept the software system before moving the software application to the production environment.
      -UAT is done in the final phase of testing after functional, integration and system testing is done.
      -To validate end to end business flow.
      -It does not focus on cosmetic errors, spelling mistakes or system testing.
      >主要是看有符合顾客需求吗

      #https://www.guru99.com/user-acceptance-testing.html
      ➤Alpha Testing
      -A type of software testing performed to identify bugs before releasing the product to real users or to the public.
      -A form of internal acceptance testing performed mainly by the in-house software quality assurance and testing teams.
      -To test the overall system to see whether it meets the design requirements. 
      -Uses simulated data that is prepared by the tester.
      >内部人员自己测

      ➤Beta Testing
      -Performed by real users of the software application in a real environment. 
      -To test the capabilities of the system in the user environment.
      -Uses actual data.
      >给真实用户测试

      #https://www.geeksforgeeks.org/difference-between-alpha-and-beta-testing/


    Installation Methods
    1. Direct Replacement/Conversion
      -A 
      hardware or software migration method that involves rolling out the new system to a small group of users for testing and evaluation.
      -The old system stops getting used one day and new system starts being used the next.
      >直接把旧的系统停用,换上新系统

    2. Parallel Running/Replacement
      -Old system and new system are run alongside each other for period of time.
      -
      When the new system is used at the same time as the old system.
      >旧和新的系统同时一起用

    3. Pilot Running/Approach
      -
      When a small group of users within an organization uses a new system prior to wider use.
      -Can test the system works properly without having to massively restructure the company.

      >先让一小部分用新系统,再慢慢扩大更新范围

    4. Phase Replacement
      -
      When small parts of the new system gradually replace small parts of the old system.
      -New system is implemented one part at a time in phases.
      >先更新系统一小部分,之后测试没有问题再更新其他部分
    #更多详情可以到这个网站https://www.ictlounge.com/html/implementation.htm,里面有example,好处坏处等,可以更好的理解。

    Types of Documentation
    • System Documentation

      -R
      ecords detailed information about a system’s design specifications, its internal workings, and its functionality.

      -Much more technical.

      -Includes things like source code, testing documentation and API documentation(programmers’ documentation or instructions).

      -It describes the requirements and capabilities of the software and informs the reader about what the software can and can’t do – in other words, its functionality.


    • User Documentation

      -Consists of written or other visual information about an application system, how it works, and how to use it. 

      -Lists the item necessary to perform the task the user inquired about.

      #https://bizfluent.com/facts-4962524-different-types-system-documentation.html
    Implementation是SDLC里最长,最多东西要理解的,已经尽量不啰嗦了....很多再详细的东西还是需要大家自己去找,然后没有对training & support多加解释,因为我也不确定mpm要什么.....

    ------------------------------------------------------------------------------------------------------------------------------

    2.6 Maintenance Phase

    Candidates should be able to:

    (a)      state the purpose of the maintenance phase;
    (b)      describe the activities in the maintenance phase: obtaining maintenance requests, transforming requests into changes, designing changes and implementing changes



    Maintenance Phase

    -Involves making changes to hardware, software, and documentation to support its operational effectiveness.

    -To ensure that needs continue to be met and that the system continues to perform as per the specification mentioned in the first phase.

    >维修,更新系统,有不要的功能也会被废除掉

    -Activities:
    1. Obtaining maintenance requests
      -Occur requirement changes from users and managers.

    2. Transforming requests into changes.
      -Identify the requirement changes, cost.

    3. Designing changes
      -Conduct system modifications.
      -Execute changes design.

    4. Implementing changes
      -Implement and test the changes.
      -Ensure the changes are compatible to the existing system.
    -Importance:
    ~Prevent system breakdown and failures.
    ~Bug fixing, search out the errors, and correct them.
    ~Enhance the capability, improve the features and functions.
    ~Remove outdated/unwanted functions

    ------------------------------------------------------------------------
    SDLC是非常长,多东西背和理解的一个topic,SDLC出的问题也多,所以建议大家要好好理解每个phase(记得要做的活动,可能produce的report,参与人员等)